ユースカジノ 出金できないへのコンテナ適用
投稿日: 2025/03/05
はじめに
こんにちは、伊藤忠テクノソリューションズ 阪本です。
皆さんは、Amazon SageMakerについてご存じでしょうか。Amazon SageMakerは、機械学習モデルの構築、トレーニング、デプロイを効率化するためのフルマネージドサービスです。SageMakerは多くの一般的な機械学習フレームワークを事前に設定したコンテナユースカジノ 出金できないを提供していますが、特定のユースケースや要件に合わせてカスタムコンテナユースカジノ 出金できないを使用したいケースもあります。
カスタムコンテナを使用することで、以下のようなメリットがあります:
- 独自のライブラリやフレームワークを使用できる
- 社内で開発した専用ツールを統合できる
- セキュリティ要件に合わせた環境を構築できる
本記事では、SageMaker Studio内のJupyterLabから直接カスタムコンテナユースカジノ 出金できないを作成する方法と、作成したカスタムコンテナをSageMakerの環境として適応する方法を解説します。
1.全体概要
今回のシナリオの全体概要は以下のようになっています。SageMakerのJupyterLab内からコンテナユースカジノ 出金できないを作成し、ECRにユースカジノ 出金できないの保存を行います。その後、作成したコンテナユースカジノ 出金できないをSageMakerの環境としてアタッチします。

2.Amazon SageMakerとカスタムコンテナユースカジノ 出金できないの概要
SageMaker Studioは、PyTorch、TensorFlow、R、JupyterLabなど様々な環境に対応した標準ユースカジノ 出金できないを提供しています。しかし、以下のような場合にはカスタムされたコンテナユースカジノ 出金できないが必要になる場合がございます:
- 特定バージョンのライブラリやフレームワークが必要
- 社内専用のパッケージやツールを利用したい
- セキュリティ要件に基づいたコンテナ環境を設定したい
また、カスタムのコンテナユースカジノ 出金できないを作成することで、次のようなメリットが得られます:
- チーム全体で統一された開発環境の提供
- 環境構築の再現性と一貫性の確保
- デプロイプロセスの簡素化
3.ユースカジノ 出金できない-studio-image-build
AWSコンテナユースカジノ 出金できないを作成する1つの方法として、CodeBuildからコンテナをビルドして、ECRにプッシュする方法があります。ただし、CodeBuildやECRでの作成に際して、詳細な設定やビルドとプッシュを処理するシェルスクリプトを用意する必要があります。
※上記の作成方法に関しては下記記事を参考にしてみてください。
/solutions/cloud/column/article/105.html
sagemaker-studio-image-buildは、SageMaker Studio用のカスタムコンテナユースカジノ 出金できないを簡単に構築・管理するAWS提供のCLIツールです。このツールには主に以下の特徴があります:
- ユースカジノ 出金できない Studio互換性の確保
- ユースカジノ 出金できないビルドとECRへのプッシュプロセスの自動化
- IAMロールとの統合によるセキュアな操作
従来のDockerコマンドやCodeBuildを使用する方法と比較して、このツールはユースカジノ 出金できない特有の要件に対応し、プロセス全体を簡素化できます。

以下GitHubにてユースカジノ 出金できない-studio-image-buildについて公開されています。各コマンドのパラメータ設定やその他詳細については、以下をご参照ください。
https://github.com/aws-samples/ユースカジノ 出金できない-studio-image-build-cli
4.Amazon ユースカジノ 出金できない Studioセットアップ
まず、ユースカジノ 出金できない Studioをセットアップします。こちらの記事に従って、セットアップしてみてください。
ユースカジノ 出金できない SageMakerについて調べてみた
ユースカジノ 出金できない Studioをセットアップ後、ユースカジノ 出金できない Studioに入り、JupyterLabのスペースを開いてください。
※スペースの作成方法はこちらを参照

すると、JupyterLabの画面に遷移し、ノートブックファイル(sample.ipynb)を作成できます。
また、今回カスタムユースカジノ 出金できないを使用するにあたって、sagemaker-studio-image-buildを使用します。カスタムユースカジノ 出金できないを作成する前に下記コマンドを入力し、sagemaker-studio-image-buildを環境にインストールしておきましょう。
!pip install ユースカジノ 出金できない-studio-image-build

5.カスタムユースカジノ 出金できないの作成
カスタムユースカジノ 出金できないの作成は主に次の4ステップで進めます:
0. IAMロール設定
1. Dockerfileの作成
2. ユースカジノ 出金できない内でのビルドとプッシュ
3. 作成コンテナユースカジノ 出金できないの確認
今回は、デフォルトのSageMaker環境に加えて、Dockerコマンドを扱えるJupyterLab環境の構築を目指し、コンテナユースカジノ 出金できないを作成していきます。これらのステップを順番に詳しく見ていきましょう。
⓪ IAMポリシー設定
ユースカジノ 出金できない-studio-image-buildでは、ECR、CodeBuild、S3に関するIAM権限が必要となります。IAMポリシーについて以下を参照に作成してください。
https://github.com/aws-samples/ユースカジノ 出金できない-studio-image-build-cli
ポリシーを作成後、ユースカジノ 出金できないのユーザプロファイルに付与されているIAMロールに上記作成したIAMポリシーをアタッチします。
① Dockerfile作成
次に、JupyterLab上にDockerfileを作っていきます。本章の冒頭でも述べたように、デフォルトのSageMaker環境に加えて、Dockerコマンドを扱えるコンテナユースカジノ 出金できないの作成を目指します。今回、Dockerfileの設定は以下のようにしています。
/dev/null
RUN apt-get update
RUN apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y --allow-downgrades
USER $MAMBA_USER
ENTRYPOINT ["jupyter-lab"]
CMD ["--ServerApp.ip=0.0.0.0", "--ServerApp.port=8888", "--ServerApp.allow_origin=*", "--ServerApp.token=''", "--ServerApp.base_url=/jupyterlab/default"]
また、上記のDockerfileの設定について、詳細を知りたい方は以下をご参照ください。
参照ページ:
https://docs.aws.amazon.com/ja_jp/ユースカジノ 出金できない/latest/dg/studio-byoi-specs.html
https://matsuand.github.io/docs.docker.jp.onthefly/engine/install/ubuntu/
② ユースカジノ 出金できない内でのビルドとプッシュ
ここで本題となるSageMakerからコンテナユースカジノ 出金できないのビルドとプッシュを行います。最初に②で作成したDockerfileをNotebookファイルと同じ階層パスに作成してください。そして、sagemaker-studio-image-buildをpipしたNotebookファイルを再度開きます。
ユースカジノ 出金できない-studio-image-buildのbuildコマンドは、CodeBuildによるコンテナのビルド→ECRへのプッシュを一度に行ってくれます。
ユースカジノ 出金できない-studio-image-buildのbuildを実行するサンプルコードは以下となります。
import boto3
import io
account_id = boto3.client('sts').get_caller_identity().get('Account')
region = boto3.Session().region_name
ecr_repository = 'sagemaker-dockerxx-container' #保存するECRコンテナイメージの名前を定義
tag = ':ユースカジノ 出金できない' #ECRコンテナイメージのタグを定義
processing_repository_uri = ¥
'{}.dkr.ecr.{}.amazonaws.com/{}'.format(account_id, region, ecr_repository + tag)
#コンテナのビルドとイメージのプッシュ
!sm-docker build . ¥
--repository $ecr_repository$tag ¥
--vpc-id vpc-xxxxxxxxxx ¥
--subnet-ids subnet-xxxxxxxx,subnet-xxxxxxxxxx ¥
--security-group-ids sg-xxxxxxxxxxxx
※上記のbuildコマンドのVPC関連パラメータは任意で、CodeBuildの閉域化に関する設定でございます。詳細は下記ページをご参照ください。
https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/vpc-support.html
実際に実行した例の一部が以下となります。


③ CodeBuildとECRの確認
Notebookファイルの実行が完了した後、コンテナのビルドとユースカジノ 出金できないのプッシュが行われているかの確認を行いましょう。まずは、コンテナのビルドを行うCodeBuildから見ていきましょう。CodeBuildのコンソール画面に移動し、「ビルド履歴」が最新のプロジェクトを確認します。すると、ステータスをみると「成功」となっていますので、コンテナのビルドができていることが確認できます。

次に、ECRにコンテナユースカジノ 出金できないがプッシュできているか確認します。ECRのコンソール画面に移動し、「Repositories」から作成したリポジトリ名を選択します。

そのリポジトリ名を選択し、「ユースカジノ 出金できないタグ」や「プッシュされた日時」が記載されていることが見て取れますので、コンテナユースカジノ 出金できないのプッシュができていることが確認できます。

6.SageMaker環境へのカスタムユースカジノ 出金できない適用
では、最後に前章で作成したカスタムユースカジノ 出金できないをSageMaker内のJupyterLab環境として使用できるようにします。
まず、ユースカジノ 出金できないのコンソール画面に移動し、「ドメイン」から4.でセットアップしたユースカジノ 出金できないドメインの設定画面に移動してください。

そして、「環境」タブから、「パーソナルStudioアプリ用のカスタムユースカジノ 出金できない」にある「ユースカジノ 出金できないをアタッチ」をクリックします。

そして、設定画面から「新しいユースカジノ 出金できない」を選択し、ECRユースカジノ 出金できないURIに先ほど作成したカスタムコンテナユースカジノ 出金できないのURIをECRからコピー&ペーストします。

さらに、ユースカジノ 出金できないのプロパティで任意のユースカジノ 出金できない名・表示名やIAMロールを選択し、ユースカジノ 出金できないタイプを「JupyterLabユースカジノ 出金できない」にして送信します。

すると、ドメインの環境設定画面に戻り、ユースカジノ 出金できないがアタッチされていることが確認できます。

最後に、SageMaker StudioのJupyterLabにおける作成済み(もしくは新たに作成した)スペースで「Image」を確認してみましょう。先ほどアタッチしたコンテナユースカジノ 出金できないが「Custom images」としてあり、選択できるようになっています。

実際に作成したユースカジノ 出金できないでJupyterLabを開き、dockerコマンドをJupyterLabのターミナル上で実行すると、dockerコマンドが実行できているようになっています。

※もし、dockerコマンドが実行できない場合、ドメインのアプリケーション設定でDockerが有効化されているか確認してください。

7.まとめ
いかがでしたでしょうか。今回、カスタムユースカジノ 出金できないの構築からSageMaker環境への適用まで行いました。今回はDockerコマンドを使うことを目標にカスタムユースカジノ 出金できないを構築しましたが、構築したい環境によって、Dockerfileやファイル構成について色々アレンジが可能です。重要なのは、どんな環境が必要か想定を立て、それを把握してその環境をどう使用するかまで考えて環境を構築できるかだと思います。
ユースカジノ 出金できないは、AWSのビジネス利活用に向けて、お客様のステージに合わせた幅広い構築・運用支援サービスを提供しています。
経験豊富なエンジニアが、ワンストップかつ柔軟にご支援します。
ぜひ、お気軽にユースカジノ 登録ください。