[アップデート]Amazon SageMaker の高速セットアップは、1クリックでSageMaker Domainが作成可能になったため、作成される各リソースを確認してみた
はじめに
Amazon SageMakerの高速セットアップは、1クリックでSageMaker Dmain(以降、ドメイン)が作成されるようになりました。
以前からドメインの作成方法としては、高速セットアップと標準セットアップの2種類がありました。
従来、高速セットアップで作成する場合、下記のようにユーザープロファイルの名前やドメインが利用する実行用のIAMロールの作成と指定が必要でした。
最新のアップデートにより、上記の設定は不要になり、ユーザーはたった1クリックで作成できるようになっています。
この高速セットアップの利用用途としては、IAMやVPCなどについての詳しい知識がない、主に個人ユーザー向けとなります。
複数のユーザーで利用する場合は、標準セットアップで暗号化設定やユーザー用のIAMロール、セキュリティグループなどを設定してドメインを作成したほうがよいです。
標準セットアップで作成される各リソースや、設定が必要なパラメータについては、下記の記事で解説しておりますので、ご参考ください。
確認してみた
AWSマネジメントコンソールの高速セットアップ (1分)
を選択し、[設定]をクリックするのみでドメインが作成されました。
ワンクリックですので1分もかからないです。
ドメインは、10分弱でステータスが正常になります。
高速セットアップで作成されるリソース
高速セットアップで作成されるリソースを確認してみます。
まず、高速セットアップの画面から以下の情報が得られます。
- IAMロールは、
AmazonSageMakerFullAccess
がアタッチされている - ネットワーク構成は、パブリックインターネットが設定されている
- SageMaker Studio 共有スペースが利用可能
- SageMaker CanvasとStudioが利用可能
- 認証方法は、IAM 認証
- そのため、IAM Identity Center認証はできません
ネットワーク構成は、パブリックインターネットのため、以下の構成です。
高速セットアップで、VPCとサブネット以外の下記のリソースが自動作成されます。
VPCとサブネットは、既存のリソースから自動で選択され、そのVPCやサブネット上でEFSやセキュリティグループが自動作成されます。
- ドメイン
- IAMロール
- S3バケット
- VPC
- セキュリティグループ
- EFSとサブネット
これらのリソースを一つずつ確認していきます。
ドメイン
ドメイン名は、QuickSetupDomain-20230919T073795
でした。
QuickSetupDomain-YYYYMMDDTHHMMSS
という形式のタイムスタンプをドメイン名に割り当てるとドキュメントに記載がありました。
しかし、SS
部分が95
であるため、秒の範囲から外れており、原因は分かりませんが、適切な値ではないですね。
ユーザープロファイルも同様に、default-YYYYMMDDTHHMMSS
という形式で自動的に割り当てられるようでした。
IAMロール
IAMロールは以下の2つが自動作成され、それぞれの役割は下記の通りです
- AmazonSageMaker-ExecutionRole-YYYYMMDDTHHMMSS
- ドメイン実行ロール
- ユーザープロファイル実行ロール
- ユーザープロファイル実行ロール
- AmazonSagemakerCanvasForecastRole-YYYYMMDDTHHMMSS
- SageMaker Canvas 時系列予測ロール
AmazonSageMaker-ExecutionRole-YYYYMMDDTHHMMSS
には、下記がアタッチされていました
- AmazonSageMaker-ExecutionPolicy-20230919T073795
- AmazonSageMakerCanvasAIServicesAccess
- AmazonSageMakerCanvasFullAccess
- AmazonSageMakerFullAccess
AmazonSageMaker-ExecutionPolicy-20230919T073795
の中身は、下記でした。
標準のセットアップで作成する際は、Resource
のS3バケットは、特定のバケットに制限されていますが、高速セットアップの場合、制限されていないようですね。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::*" ] } ] }
AmazonSagemakerCanvasForecastRole-YYYYMMDDTHHMMSS
には、下記がアタッチされていました
- AmazonSageMakerCanvasForecastAccess
S3バケット
共有可能なノートブックリソースのS3バケット名は、sagemaker-studio-bf2phwfyzzt
でした。
sagemaker-studio-XXXXXXXXXXXXXXX
のX
の部分は、ランダム文字列です。
VPC
VPCは、ドキュメントに以下のロジックでVPCを選択すると記載がありました。
1.リージョン内にサブネットが関連付けられたデフォルトVPCがある場合、それを使用します。
2.デフォルトVPCがない場合、またはデフォルトVPCに関連付けられたサブネットがない場合、関連付けられたサブネットを持つ既存の VPC を使用します。複数の既存のVPCがある場合、それらのいずれかを選択します。
つまり、デフォルトVPCがない場合、既存のVPCの中でランダムに選択されます
選択されたVPCを確認してみる
選択されたVPCを確認する方法は、ネットワークインターフェイス(ENI)からドメインIDで検索することで、VPCが確認できます。
IPv6のVPCが選択されたようです。
セキュリティグループ
ドメイン作成時に設定するセキュリティグループは、SageMaker Studioを起動すると作成されるノートブックインスタンス(JupyterServerやKernelGateway)とEFSのマウントターゲットで利用されます。
以下の2つが作成されていました。
security-group-for-inbound-nfs-ドメインID
- EFSのマウントターゲットにアタッチされます
- ノートブックインスタンスからのインバウンドのみを許可してます
security-group-for-outbound-nfs-ドメインID
- ノートブックインスタンスが利用します
- EFSのマウントターゲットへのアウトバウンドのみを許可しています。
security-group-for-inbound-nfs-ドメインID
セキュリティグループ | プロトコル | ポート | 送信先 |
---|---|---|---|
インバウンド | TCP | 2049 | security-group-for-outbound-nfs-ドメインID |
アウトバウンド | なし | なし | なし |
security-group-for-outbound-nfs-ドメインID
セキュリティグループ | プロトコル | ポート | 送信先 |
---|---|---|---|
インバウンド | なし | なし | なし |
アウトバウンド | TCP | 2049 | security-group-for-inbound-nfs-ドメインID |
セキュリティグループの説明には、削除してはならない記載がありました。
SageMaker StudioからEFSにアクセスしますので、削除はしてはいけません。
EFSとサブネット
自動作成されたEFSは、暗号化は有効で、バックアップは無効になっていました。
先程のVPCのうち、ランダムなサブネット2つに、マウントターゲットが作成されていました。
最後に
今回の高速セットアップのアップデートで、1クリックでより簡単にドメインを作成することができ、SageMaker Studioなどが利用できます。
ただし、あくまでも個人ユーザー向けの作成方法です。
複数のユーザーで利用する場合や、IAM Identity Center を使用した認証方法を行いたい場合は、標準セットアップでドメインを作成する必要がありますので、注意しましょう。