Amazon SageMakerの導入手順と環境構築のポイントをわかりやすく解説

AWS上で本格的な機械学習環境を構築するなら、まず導入すべきがAmazon SageMakerです。

ただし、2025年以降はSSO(IAM Identity Center)認証が前提となり、従来のIAMユーザーではNotebook作成に失敗するケースもあります。

本記事では、AWS公式のクイックセットアップを用いた最新のSageMaker導入手順を解説します。

SSO設定、リージョン選択、Studio起動、Notebook構築までを安全に進めるためのポイントをまとめます。

SageMaker導入の全体像を理解する

Amazon SageMaker導入は、IAM設定・SSO認証・Studio環境構築・Notebook作成という複数の段階で構成されます。

特にUnified Studio環境では「認証方式」と「リージョン設定」が導入成否を左右します。

ここでは導入の流れと、クイックセットアップを使う前に理解しておくべき前提を整理します。

クラウド環境でAI開発を行う意義

AI開発では、大量のデータ処理や高性能な計算リソースが必要になります。

クラウド環境であるSageMakerを利用すれば、これらを自前で構築する必要がなく、スケーラブルで柔軟な開発環境を手に入れられます

ローカルPCでは難しい大規模モデルの学習や継続的な運用も容易になり、チーム間での共同開発もスムーズです。

インフラ管理をAWSに任せることで、開発者はモデル設計や精度向上に専念できます。

SageMaker導入に必要な前提条件

SageMakerを利用するには、いくつかの基本的な準備が必要です。

以下の要件を満たしていれば、スムーズに環境を構築できます。

  • AWSアカウント(ルートユーザーではなく、管理者ロールでの利用を推奨)
  • IAM Identity Center(SSO) が有効化されていること
  • リージョン:us-east-1(米国東部・バージニア北部)
  • ブラウザ:ChromeまたはEdge の最新バージョン

クイックセットアップはバージニア北部リージョン限定で動作します

東京リージョン(ap-northeast-1)では手動構築が必要なため、最初はus-east-1を推奨します。
詳細な要件はAWS公式ドキュメントを参照しましょう。

IAM Identity Centerの有効化とユーザー管理

SageMaker Studioをクイックセットアップで利用するためには、AWS IAM Identity Center(旧AWS SSO)を有効化し、SSOユーザーを作成して権限を割り当てる必要があります。

この設定を行わないと、クイックセットアップ完了後にNotebook作成エラーが発生する場合があります

ここでは、SSOを有効化し、管理者ユーザーを追加するまでの流れを解説します。

IAM Identity Centerの有効化

1.AWSマネジメントコンソールで「IAM Identity Center」を検索します。

2.画面上部のリージョンを「米国東部(バージニア北部 us-east-1)」に設定します。

 Identity Centerはリージョン固定型サービスのため、クイックセットアップ対応のus-east-1で設定する必要があります。

3.「有効化」ボタンをクリックすると、自動的にAWS Organizationsと連携して有効化されます。

※ポイント:東京リージョンではIdentity Centerを有効化しても、クイックセットアップと統合されないため注意。

ユーザーの追加と権限セットの作成

1.左メニューから「ユーザー」を選択し、「ユーザーを追加」をクリックします。

2.ユーザーの詳細を指定画面にて、以下を入力します。

  • ユーザー名:例)admin-user
  • メールアドレス:通知を受け取れるメールアドレス

入力が完了したら「次へ」をクリックします。

グループ追加は任意ですが、今回は追加せずそのまま「次へ」をクリックし、ユーザーを追加します。

追加したユーザーはパスワードが未設定のため、登録したメールアドレスに届いたURLよりパスワード設定を完了させて下さい。

3.許可セットを作成します。

  • 「許可セットを作成」→「AdministratorAccess」を選択
  • 任意で「AmazonSageMakerFullAccess」も作成可能

4.左メニューの「AWSアカウント」から作成したユーザーに許可セットを割り当てます。

SSOポータルURLの確認

この段階で既にSSOユーザーの作成と権限割り当てが完了しています。

次の設定では、このユーザーでCLIプロファイルを作成し、SageMakerにアクセスできるように設定します。

その際、AWS access portal URLが必要となるので確認しておきましょう。

1.IAM Identity Centerのトップ画面に戻ります。

2.表示されている「AWS access portal URL」をメモしておきます。

 例:https://d-xxxxxxxxxx.awsapps.com/start

このURLがSSOログイン時やAWS CLI設定時に必要です。

SSO設定と権限管理の基本

SageMaker Studioのクイックセットアップを利用するには、先ほど設定した IAM Identity Center(旧AWS SSO) を用いてAWS CLIからアクセスできるようにする必要があります。

この設定を行うことで、SageMakerがSSO認証済みユーザーとして正しく認識され、Notebook作成やStudio起動時のエラーを防ぐことができます。

ここでは、AWS CLIによるSSOプロファイルの設定方法と、AdministratorAccessロールの確認手順を解説します。

SSOプロファイルをCLIで設定する

1.ターミナルまたはコマンドプロンプトを開き、以下のコマンドを実行します。

aws configure sso

2.対話形式で、次の項目を入力します。

SSO session name (Recommended): sagemaker-sso
SSO start URL [None]: https://d-xxxxxxxxxx.awsapps.com/start
SSO region [None]: us-east-1
SSO registration scopes [sso:account:access]: sso:account:access

3.続いて、SSO経由で利用できるアカウントとロールが表示されます。

There are 1 AWS account(s) available to you.
> 123456789123

There are 1 role(s) available to you.
> AWSReservedSSO_AdministratorAccess_xxxxxx

4.最後に、出力形式とプロファイル名を設定します。

CLI default client Region [None]: us-east-1
CLI default output format [None]: json
CLI profile name [None]: sso-sagemaker

以上でSSOプロファイル設定は完了です。

SSOログインを実行して認証を確認する

設定が完了したら、次のコマンドでSSOログインを実行します。

aws sso login --profile sso-sagemaker

ブラウザが自動的に開き、IAM Identity Centerのログイン画面が表示されます。

作成済みのSSOユーザー(例:admin-user)でサインインすると、CLI側に認証トークンが保存されます。

正常に設定できているか確認するには以下を実行します。

aws sts get-caller-identity --profile sso-sagemaker

出力例

{
  "UserId": "AWSReservedSSO_admin-user_abcdefgh12345678",
  "Account": "123456789123",
  "Arn": "arn:aws:sts::123456789123:assumed-role/AWSReservedSSO_AdministratorAccess_xxxxxx/admin-user"
}

このように「AdministratorAccess」ロールが表示されていれば、SSO認証の設定は完了です。

クイックセットアップでのStudio環境構築

SageMaker Studioの構築は、クイックセットアップを使うことが最も簡単です。

この機能を使うと、VPC・IAMロール・EFS・ドメイン設定などの複雑な構成を自動で作成でき、数分で開発環境を起動できます。

ここからは、クイックセットアップ実行前の確認事項と、実際のセットアップ手順を順に解説します。

ドメインの作成手順

SageMaker Studioを利用するには、まず「ドメイン(Domain)」を作成する必要があります。

このドメインとは、Studioのワークスペースとユーザー環境を管理する中核的なコンポーネントです。

1.AWSマネジメントコンソールで「SageMaker」を検索して開きます。

2.「Unified Studio ドメインを作成します」 をクリックします。

3.セットアップ方法の選択画面で「クイックセットアップ」を選びます。

4.「VPCを作成」ボタンをクリックし、Unified Studio用のVPCを作成します。

設定値はデフォルトで問題ありません。

「スタックの作成」ボタンをクリックするとCloudFormation が自動的に起動し、

SageMaker Studio用のネットワーク構成(VPC、サブネット、ルートテーブル、インターネットゲートウェイなど)を安全なテンプレートで自動生成します。

5.ドメイン名を記入して「ドメインを作成」をクリックします。

任意のドメイン名を記入し、自動作成されたVPC・サブネットが選択されていることを確認後「ドメインを作成」をクリックします。

数分後にドメインが作成されます。

Studioを起動してみよう

ドメインの作成が完了したら、画面右下の「統合スタジオを開く」をクリックします。

これでブラウザ上にSageMaker Studio(Unified Studio)が立ち上がります。

初回起動時は、EFSや依存リソースの初期化が行われるため数分間「読み込み中」の状態になることがあります

10分以上かかる場合は、ブラウザのキャッシュを削除し再読み込みを行うと改善することがあります。

初回起動でつまずきやすいポイント

SageMaker Studioの初回起動では、リージョン設定や認証方法に注意が必要です。

クイックセットアップはバージニア北部(us-east-1)のみ対応のため、他リージョンでは起動できません。

また、IAMユーザーではなくSSO認証ユーザーで実行しないとNotebook作成に失敗する場合があります。

初回はEFS初期化に数分かかるため、画面が止まっても中断せずしばらく待機して様子を見ましょう。

Notebook環境の構築と基本操作

SageMakerでは、Notebook環境を使ってデータの分析やモデル開発を行います。

ここでは、インスタンスの作成から操作の基本、S3とのデータ連携までの流れを解説します。

Notebookインスタンスの作成

Unified Studioでは、Notebookを使ってデータ分析やモデル開発を行います。

初めて利用する場合は、まず「ML and generative AI model development」セクションから[Create notebook]をクリックします。

1:プロジェクトの作成

初回利用時は「Create project」をクリックし、任意の名前でプロジェクトを作成します。

今回はProject profileを「All capabilities」を選択し、プロジェクトを作成します。

2:Notebook環境(ワークスペース)の作成

プロジェクトの作成が完了すると、自動的にプロジェクト画面が開きます。

右上の「New」をクリックして、Notebook環境を作成します。

「Connectiing to space」と表示される場合、バックエンドで初期化中のため数分待機しましょう。

処理が完了するとJupyterLab(ジュピターラボ)環境が起動します。

JupyterLab環境の使い方

SageMaker Studio内のJupyterLabとは、Notebookを中心に開発を行うためのインターフェースです。

主な機能と基本操作は下記の通りです。

① Notebookの作成と編集

左上の「+」アイコンから新しいNotebookを作成できます。

Python 3 (ipykernel) を選ぶと、セル単位でコードを実行でき、実行結果はすぐ下に表示されます。

② コードの実行と停止

セルを選択し「Shift + Enter」でコードを実行します。

カーネルが停止した場合は、上部メニュー「Kernel」→「Restart」で再起動可能です。

③ ターミナルやスクリプト管理

Notebook以外にもターミナルを開いてLinuxコマンドを実行したり、

「Python File」「Text File」などを作成してスクリプトを管理できます。

④ ファイルとフォルダの構成

左側のファイルブラウザでは、Notebookやデータファイルを整理できます。

S3と連携することで、外部ストレージからのデータ操作も容易になります。

データをS3から読み込む

SageMaker StudioのNotebookでは、AWS SDKである「boto3」を用いてS3のデータを簡単に読み込めます。

今回は事前にS3にアップロードしたCSVファイルを用います。

ノートブックを作る

1.画面中央の「Notebook」→ Python 3 (ipykernel) をクリックすると、新しいタブ(Untitled.ipynb)が開きます。

2.上部メニュー File → Save Notebook As… を選び、名前を「load_s3.ipynb」にします。

右上が Python 3 (ipykernel) になっていればOKです。

(“Kernel Starting…”なら数十秒待機)

S3の中身を確認(任意)

最初のセルに次のコードを貼って実行します。(Shift+Enter)

バケット名は入れ替えてください。

import boto3

REGION = "us-east-1"
BUCKET = "titanic-demo-bucket-216876474008" # 作成したus-east-1のS3バケット名

s3 = boto3.client("s3", region_name=REGION)
resp = s3.list_objects_v2(Bucket=BUCKET)

if "Contents" in resp:
    for obj in resp["Contents"]:
        print(obj["Key"])
else:
    print("バケットが空、または権限エラーです。")

ここでCSVのキー(例:train_and_test.csv)を確認しておくと次が楽です。

CSVを読み込む

S3にあるCSVファイルを読み込むには、以下の流れで進めます。

  • boto3でS3からファイルを取得
  • pandasでCSVとして読み込み
  • DataFrameとして中身を確認

この3ステップで、S3上のデータをNotebookに取り込み、自由に分析・前処理が可能になります。

1.boto3でS3オブジェクトを取得

まずは boto3.client() を使ってS3にアクセスします。

import boto3

REGION = "us-east-1"  # バージニア北部
BUCKET = "titanic-demo-bucket-216876474008"  # バケット名
KEY = "train_and_test.csv"  # ファイル名

s3 = boto3.client("s3", region_name=REGION)
obj = s3.get_object(Bucket=BUCKET, Key=KEY)
  • obj[“Body”] はバイトストリームなので、read_csv() にそのまま渡せます。
  • 読み込み時に encoding や delimiter を指定することも可能です。

2.内容を確認・分析に活用

読み込んだDataFrameを簡単に確認しておきましょう。

# pandasでCSVをDataFrameに変換
df = pd.read_csv(obj["Body"])

# データの確認
print("行数と列数:", df.shape)
print("カラム一覧:", df.columns.tolist())
df.head(10)

これでS3のファイルをNotebook上で自由に扱えるようになります。

利用後はリソースを削除しましょう

SageMakerでは、ドメイン・プロジェクト・インスタンスなどのリソースを作成すると、利用時間に応じて課金が発生します。

チュートリアル実行後に放置すると、料金が発生し続ける場合があるため注意が必要です。

特に以下のリソースは不要になったら削除しましょう。

  • SageMakerドメイン(統合スタジオ環境)
  • プロジェクト・スペース・ノートブック
  • 関連付けられたS3バケットやIAMロール

削除はAWSマネジメントコンソールから可能です。

学習や検証を終えたら、必ずリソースを整理しておくことをおすすめします。

まとめ

Amazon SageMakerの導入では、SSO(IAM Identity Center)の設定とリージョン選択がキーポイントとなります。

特にクイックセットアップは米国東部(バージニア北部)専用機能であり、できればIAMユーザーではなくSSO認証ユーザーで実行が推奨されています。

本記事で紹介した手順に従えば、StudioやNotebook環境を安全に構築し、S3とのデータ連携もスムーズに行えます。

最後に不要なリソースを削除し、コストを最適化しながら運用を続けましょう。

タイトルとURLをコピーしました