翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
カスタムプロジェクトテンプレートを作成する
重要
2024 年 10 月 28 日現在、 AWS CodeCommit テンプレートは削除されました。新しいプロジェクトでは、サードパーティーの Git リポジトリを使用する、利用可能なプロジェクトテンプレートから選択します。詳細については、「MLOps プロジェクトテンプレート」を参照してください。
SageMaker AI 提供のテンプレートがニーズを満たしていない場合 (複数のステージやカスタム承認ステップを使用する、より複雑なオーケストレーションを CodePipeline で行う場合など) は、独自のテンプレートを作成します。
最初に、SageMaker AI 提供のテンプレートを使用して、コードとリソースを編成する方法を理解し、その上に構築することをお勧めします。これを行うには、SageMaker AI テンプレートへの管理者アクセスを有効にした後に、https://console.aws.amazon.com/servicecatalog/
独自のプロジェクトテンプレートを作成して、MLOps プロジェクトをカスタマイズします。SageMaker AI プロジェクトテンプレートは、Service Catalog によってプロビジョンされた製品であり、MLOps プロジェクトのリソースをプロビジョンします。
カスタムプロジェクトテンプレートを作成するには、以下の手順を実行します。
-
ポートフォリオを作成します。詳細については、「Step 3: Create an Service Catalog Portfolio」を参照してください。
-
製品を作成します。製品は CloudFormation テンプレートです。製品の複数のバージョンを作成できます。詳細については、「Step 4: Create an Service Catalog Product」を参照してください。
製品を SageMaker プロジェクトで使用するには、製品テンプレートに以下のパラメータを追加します。
SageMakerProjectName: Type: String Description: Name of the project SageMakerProjectId: Type: String Description: Service generated Id of the project.重要
CodeCommit リポジトリを SageMaker AI コードリポジトリ内にラップして、プロジェクトのリポジトリを VPC モードで表示することをお勧めします。サンプルテンプレートと必要な追加内容を、次のコードサンプルに示します。
オリジナル (サンプル) テンプレート:
ModelBuildCodeCommitRepository: Type: AWS::CodeCommit::Repository Properties: # Max allowed length: 100 chars RepositoryName: !Sub sagemaker-${SageMakerProjectName}-${SageMakerProjectId}-modelbuild # max: 10+33+15+10=68 RepositoryDescription: !Sub SageMaker Model building workflow infrastructure as code for the Project ${SageMakerProjectName} Code: S3: Bucket:SEEDCODE_BUCKETNAMEKey: toolchain/model-building-workflow-v1.0.zip BranchName: mainVPC モードで追加するその他のコンテンツ:
SageMakerRepository: Type: AWS::SageMaker::CodeRepository Properties: GitConfig: RepositoryUrl: !GetAtt ModelBuildCodeCommitRepository.CloneUrlHttp Branch: main -
起動制約を追加します。起動制約は、ユーザーが製品を起動するときに Service Catalog が引き受ける IAM ロールを指定します。詳細については、「ステップ 6: IAM ロールを割り当てる起動制約を追加する」を参照してください。
-
製品を https://console.aws.amazon.com/servicecatalog/
にプロビジョニングして、テンプレートをテストします。テンプレートに問題がなければ、次のステップに進み、Studio (または Studio Classic) でテンプレートを利用できるようにします。 -
ステップ 1 で作成した Service Catalog ポートフォリオへのアクセス許可を Studio (または Studio Classic) 実行ロールに付与します。ドメイン実行ロールか Studio (または Studio Classic) アクセス権が付与されているユーザーロールのいずれかを使用します。ポートフォリオへのロールの追加については、「ステップ 7: ポートフォリオへのアクセス権限のエンドユーザーへの付与」を参照してください。
-
Studio (または Studio Classic) の [組織テンプレート] リストでプロジェクトテンプレートを使用できるようにするには、ステップ 2 で作成した Service Catalog 製品に以下のキー値でタグを作成します。
-
キー:
sagemaker:studio-visibility -
値:
true
-
上記のステップを完了すると、組織内の Studio (または Studio Classic) ユーザーは「Amazon SageMaker Studio または Studio Classic を使用して MLOps プロジェクトを作成する」の手順を実行して、テンプレートの選択時に [組織テンプレート] を選択すれば、作成済みのテンプレートを使用してプロジェクトを作成できます。
Amazon S3 バケットからのテンプレートの使用
Amazon S3 に保存されているテンプレートを使用して SageMaker Amazon S3プロジェクトを作成することもできます。
注記
でテンプレートを使用できますが AWS Service Catalog、S3 バケットにテンプレートを保存し、それらのテンプレートを使用してプロジェクトを作成することをお勧めします。
管理者セットアップ
S3 バケットのテンプレートを使用してプロジェクトを作成する前に、次の手順を実行します。
-
S3 バケットを作成し、テンプレートをバケットにアップロードします。
-
次のキーと値のタグをテンプレートに追加して、SageMaker AI に表示されるようにします。
sagemaker:studio-visibility : true -
SageMaker AI がドメインの作成を完了したら、次のキーと値のタグをドメインに追加します。
sagemaker:projectS3TemplatesLocation : s3://<amzn-s3-demo-bucket>
次に、 AWS コンソール、Python、または CreateProject および UpdateProject API オペレーションを使用して、S3 バケット内のテンプレートから SageMaker プロジェクトを作成または更新します。 S3