

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# サードパーティーの Git リポジトリを使用する SageMaker AI MLOps プロジェクトのウォークスルー
<a name="sagemaker-projects-walkthrough-3rdgit"></a>

**重要**  
2023 年 11 月 30 日以降、従来の Amazon SageMaker Studio のエクスペリエンスは Amazon SageMaker Studio Classic と名前が変更されました。以下のセクションは、Studio Classic アプリケーションの使用を前提とした内容です。更新後の Studio エクスペリエンスを使用する場合は、「[Amazon SageMaker Studio](studio-updated.md)」を参照してください。  
Studio Classic は既存のワークロードでも維持されていますが、オンボーディングに利用できなくなりました。既存の Studio Classic アプリケーションのみを停止または削除でき、新しいアプリケーションを作成することはできません。[ワークロードを新しい Studio エクスペリエンスに移行](studio-updated-migrate.md)することをお勧めします。

このチュートリアルでは、[CodePipeline を使用してサードパーティーの Git でモデルを構築、トレーニング、デプロイするための MLOps テンプレート](sagemaker-projects-templates-sm.md#sagemaker-projects-templates-git-code-pipeline) テンプレートを使用して、モデルを構築、トレーニング、デプロイする CI/CD システムを MLOps プロジェクトで作成する方法を示します。

**前提条件**

このチュートリアルを完了するには、以下が必要になります。
+ Studio Classic にサインインするための IAM または IAM アイデンティティセンターのアカウント。詳細については、「[Amazon SageMaker AI ドメインの概要](gs-studio-onboard.md)」を参照してください。
+ SageMaker AI 提供のプロジェクトテンプレートを使用するアクセス許可。詳細については、「[プロジェクトを使用するために必要な SageMaker Studio のアクセス許可の付与](sagemaker-projects-studio-updates.md)」を参照してください。
+ Studio Classic ユーザーインターフェイスに関する基本的な知識。詳細については、「[Amazon SageMaker Studio Classic の UI の概要](studio-ui.md)」を参照してください。
+ 2 つの空の GitHub リポジトリ。これらのリポジトリをプロジェクトテンプレートに入力すると、これらのリポジトリにモデルの構築およびデプロイのコードがシードされます。

**Topics**
+ [ステップ 1: GitHub 接続を設定する](#sagemaker-proejcts-walkthrough-connect-3rdgit)
+ [ステップ 2: プロジェクトを作成する](#sagemaker-proejcts-walkthrough-create-3rdgit)
+ [ステップ 3: コードを変更する](#sagemaker-projects-walkthrough-change-3rdgit)
+ [ステップ 4: モデルを承認する](#sagemaker-proejcts-walkthrough-approve-3rdgit)
+ [(オプション) ステップ 5: モデルバージョンを本番環境にデプロイする](#sagemaker-projects-walkthrough-prod-3rdgit)
+ [ステップ 6: リソースをクリーンアップする](#sagemaker-projectcts-walkthrough-cleanup-3rdgit)

## ステップ 1: GitHub 接続を設定する
<a name="sagemaker-proejcts-walkthrough-connect-3rdgit"></a>

このステップでは、[AWS CodeConnections 接続](https://docs.aws.amazon.com/dtconsole/latest/userguide/welcome-connections.html)を使用して GitHub リポジトリに接続します。SageMaker AI プロジェクトは、この接続を使用してソースコードリポジトリにアクセスします。

**GitHub 接続の設定方法は次のとおりです。**

1. CodePipeline コンソールにログインします ([https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/))。

1. ナビゲーションペインの **[Settings]** (設定) で **[Connections]** (接続) を選択します。

1. **[接続を作成]** を選択します。

1. **[Select a provider]** (プロバイダーの選択) で、**[GitHub]** を選択します。

1. **[Connection name]** (接続名) に、名前を入力します。

1. **[Connect to GitHub]** (GitHub に接続) を選択します。

1.  AWS Connector GitHub アプリが以前にインストールされていない場合は、**新しいアプリのインストール**を選択します。

   これにより、アクセス可能なすべての GitHub 個人アカウントおよび組織が一覧表示されます。

1. SageMaker プロジェクトと GitHub リポジトリ用の接続を確立するアカウントを選択します。

1. [**設定**] を選択します。

1. オプションで、特定のリポジトリを選択するか、**すべてのリポジトリ**を選択できます。

1. **[保存]** を選択します。アプリケーションがインストールされると、**[Connect to GitHub]** (GitHub に接続する) ページが表示され、インストール ID が自動的に入力されます。

1. **接続** を選択します。

1. キーを `sagemaker`、値を `true` とするタグを、この CodeConnections 接続に追加します。

1. 接続 ARN をコピーし、後で使用できるように保存します。この ARN は、プロジェクト作成ステップでパラメータとして使用します。

## ステップ 2: プロジェクトを作成する
<a name="sagemaker-proejcts-walkthrough-create-3rdgit"></a>

このステップでは、SageMaker AI が提供するプロジェクトテンプレートを使用してモデルを構築、トレーニング、デプロイし、SageMaker AI MLOps プロジェクトを作成します。

**SageMaker AI MLOps プロジェクトを作成するには**

1. Studio にサインインします。詳細については、「[Amazon SageMaker AI ドメインの概要](gs-studio-onboard.md)」を参照してください。

1. Studio サイドバーで **[ホーム]** アイコン (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/icons/house.png)) を選択します。

1. メニューから **[デプロイ]** を選択し、**[プロジェクト]** を選択します。

1. **[プロジェクトを作成]** を選択します。

   **[Create project]** (プロジェクトの作成) タブが表示されます。

1. **[SageMaker AI プロジェクトテンプレート]** では、**[CodePipeline を使用したサードパーティーの Git リポジトリでのモデルの構築、トレーニング、デプロイ]** を選択します。

1. [**次へ**] を選択します。

1. **[ModelBuild CodeRepository Info]** (ModelBuild CodeRepository 情報) で、以下のパラメータを指定します。
   + **[Branch]** (ブランチ) で、Git リポジトリからパイプラインアクティビティに使用するブランチを入力します。
   + **[Full Repository Name]** (フルリポジトリ名) で、Git リポジトリ名を、 *username/repository name* または *organization/repository name* の形式で入力します。
   + **[コード接続 ARN]** で、ステップ 1 で作成したCodeConnections 接続の ARN を入力します。

1. **[ModelDeploy CodeRepository Info]** (ModelDeploy CodeRepository 情報) で、以下のパラメータを指定します。
   + **[Branch]** (ブランチ) で、Git リポジトリからパイプラインアクティビティに使用するブランチを入力します。
   + **[Full Repository Name]** (フルリポジトリ名) で、Git リポジトリ名を、 *username/repository name* または *organization/repository name* の形式で入力します。
   + **[コード接続 ARN]** で、ステップ 1 で作成したCodeConnections 接続の ARN を入力します。

1. **[プロジェクトを作成]** を選択します。

プロジェクトが **[Projects]** (プロジェクト) リストに表示され、**[Status]** (ステータス) が **[Created]** (作成済み) になります。

## ステップ 3: コードを変更する
<a name="sagemaker-projects-walkthrough-change-3rdgit"></a>

次に、モデルを構築するパイプラインコードを変更し、変更をコミットして新しいパイプラインの実行を開始します。このパイプラインの実行により、新しいモデルバージョンが登録されます。

**コードを変更するには**

1. モデル構築の GitHub リポジトリで、`pipelines/abalone` フォルダに移動します。`pipeline.py` をダブルクリックして、コードファイルを開きます。

1. `pipeline.py` ファイルで、トレーニングインスタンスタイプを設定する行を見つけます。

   ```
   training_instance_type = ParameterString(
           name="TrainingInstanceType", default_value="ml.m5.xlarge"
   ```

   編集するファイルを開き、`ml.m5.xlarge` を `ml.m5.large` に変更してコミットします。

コードの変更をコミットすると、新しいモデルバージョンを作成するパイプラインの実行が MLOps システムで開始されます。次のステップでは、新しいモデルバージョンを承認して、本番環境にデプロイします。

## ステップ 4: モデルを承認する
<a name="sagemaker-proejcts-walkthrough-approve-3rdgit"></a>

次に、前のステップで作成した新しいモデルバージョンを承認して、SageMaker AI エンドポイントにそのモデルバージョンをデプロイします。

**モデルバージョンを承認するには**

1. Studio Classic サイドバーで、**[ホーム]** アイコン ( ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/icons/house.png)) をクリックします。

1. メニューから **[デプロイ]** を選択し、**[プロジェクト]** を選択します。

1. 最初のステップで作成したプロジェクトの名前を見つけてダブルクリックし、プロジェクトのプロジェクトタブを開きます。

1. プロジェクトタブで **[Model groups]** (モデルグループ) を選択し、表示されるモデルグループの名前をダブルクリックします。

   モデルグループタブが表示されます。

1. モデルグループタブで、**[バージョン 1]** をダブルクリックします。**[バージョン 1]** タブが開きます。**[Update status]** (ステータスを更新) を選択します。

1. **[Update model version status]** (モデルバージョンのステータスを更新) ダイアログボックスの **[Status]** (ステータス)ドロップダウンリストで、**[Approve]** (承認)、**[Update status]** (ステータスを更新) の順に選択します。

   モデルバージョンを承認すると、モデルがステージングにデプロイされます。エンドポイントを表示するには、プロジェクトタブで **[Endpoints]** (エンドポイント) タブを選択します。

## (オプション) ステップ 5: モデルバージョンを本番環境にデプロイする
<a name="sagemaker-projects-walkthrough-prod-3rdgit"></a>

これで、モデルバージョンを本番環境にデプロイできます。

**注記**  
このステップを完了するには、Studio Classic ドメインの管理者である必要があります。管理者でない場合は、この手順をスキップします。

**モデルバージョンを本番環境にデプロイするには**

1. CodePipeline コンソールにログインします ([https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/))。

1. **[Pipelines]** (パイプライン) を選択し、**sagemaker-*projectname*-*projectid*-modeldeploy** という名前のパイプラインを選択します。ここで、*projectname* はプロジェクトの名前、*projectid* はプロジェクトの ID になります。

1. **[DeployStaging]** ステージで、**[Review]** (確認) を選択します。

1. **[Review]** (確認) ダイアログボックスで、**[Approve]** (承認) を選択します。

   **[DeployStaging]** ステージを承認すると、モデルが本番環境にデプロイされます。エンドポイントを表示するには、Studio Classic のプロジェクトタブで **[エンドポイント]** タブをクリックします。

## ステップ 6: リソースをクリーンアップする
<a name="sagemaker-projectcts-walkthrough-cleanup-3rdgit"></a>

料金の発生を止めるには、このチュートリアルで作成したリソースをクリーンアップします。

**注記**  
 CloudFormation スタックと Amazon S3 バケットを削除するには、Studio Classic の管理者である必要があります。管理者でない場合は、管理者にこれらの手順を実行するように依頼します。

1. Studio Classic サイドバーで、**[ホーム]** アイコン ( ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/icons/house.png)) をクリックします。

1. メニューから **[デプロイ]** を選択し、**[プロジェクト]** を選択します。

1. ドロップダウンリストから、ターゲットのプロジェクトを選択します。プロジェクトが表示されていない場合は、プロジェクト名を入力し、フィルターを適用してプロジェクトを検索します。

1. プロジェクトを選択すると、メインパネルに詳細が表示されます。

1. **[Actions]** (アクション) メニューから **[Delete]** (削除) を選択します。

1. **[Delete Project]** (プロジェクトの削除) ウィンドウの **[Delete]** (削除) を選択して、選択を確定します。

   これで、プロジェクトで作成した Service Catalog プロビジョニングの製品が削除されます。これには、プロジェクト用に作成された CodeCommit、CodePipeline、 CodeBuild のリソースも含まれます。

1. プロジェクトが作成した CloudFormation スタックを削除します。スタックには、ステージング用と本番用の 2 つがあります。スタックの名前は **sagemaker-*projectname*-*project-id*-deploy-staging** と **sagemaker-*projectname*-*project-id*-deploy-prod** です。ここで、*projectname* はプロジェクトの名前、*project-id* はプロジェクトの ID になります。

    CloudFormation スタックを削除する方法については、「 *CloudFormation ユーザーガイド*[」の CloudFormation 「コンソールでのスタックの削除](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html)」を参照してください。

1. プロジェクトで作成した Amazon S3 バケットを削除します。バケットの名前は **sagemaker-project-*project-id*** です。ここで、*project-id* はプロジェクトの ID になります。