[アップデート] Amazon SageMaker Unified Studio ノートブックのスケジュール実行・自動化をネイティブサポートを試してみました

[アップデート] Amazon SageMaker Unified Studio ノートブックのスケジュール実行・自動化をネイティブサポートを試してみました

Amazon SageMaker Unified Studioにノートブックのスケジュール実行・自動化がネイティブサポートされました。外部ツール不要で、ノートブックのインターフェースから直接バックグラウンド実行や定期ジョブを作成できるようになった新機能を試してみます。
2026.06.07

クラウド事業本部の石川です。Amazon SageMaker Unified Studio(以下 SMUS)に、ノートブックの実行をスケジュール・自動化する機能が追加されました。ノートブックのインターフェースから直接、バックグラウンド実行や定期実行を作成でき、外部のオーケストレーション基盤を別途用意・管理する必要がありません。

https://aws.amazon.com/about-aws/whats-new/2026/06/amazon-sagemaker-unified-studio/

これまで手作業で Run all していた定期レポートやデータ品質チェックを、ノートブックのまま定期ジョブ化できる、運用面でうれしいアップデートです。

ノートブックのスケジュール実行・自動化とは

従来、SageMaker Unified Studio のノートブックには実行をスケジュールするネイティブな手段がなく、定期実行を行うには Apache Airflow などの外部オーケストレーションツールを別途用意・管理する必要がありました。

今回のアップデートにより、ノートブックのインターフェースから直接スケジュール・パラメータ化・オーケストレーションが行えるようになりました。主な変更点は以下のとおりです。

  • バックグラウンド実行 — 対話型セッションを中断することなく、専用コンピュート上でノートブックをオンデマンド実行
  • 定期スケジュール — rate 式 / cron 式による繰り返し実行や、一度きりの将来実行をスケジュール
  • パラメータ化 — 1 つのノートブックにパラメータを定義し、入力値を変えて再利用
  • Workflows によるオーケストレーション — Notebook Operator で複数ノートブックを連結し、ある実行の出力を次の入力へ引き渡し
  • AI 支援トラブルシューティング — 実行失敗時に SageMaker Data Agent が根本原因の特定と修正案の提示を支援

機能全体の流れは以下のとおりです。

これにより、日次レポートの生成、データ品質チェック、モデルの再トレーニングといった定期的なワークロードを、実験段階のノートブックからそのまま本番運用へ移行しやすくなります。

ノートブックをパラメータ化する

「Parameters」アクティビティパネルで、パラメータ(名前とデフォルト値)を定義します。ノートブックのコード内では、sagemaker_studio.nbutilsparameters.get() で値を取得します。

amazon-smus-schedule-notebook-11

やってみた

前提条件

検証環境は以下のとおりです。

  • AWSリージョン: ap-northeast-1(東京)
  • SMUS ドメイン: V2 / IAM ベース
  • プロジェクト: 既存の admin プロジェクトを利用

今回のドメインは SSO を無効化した IAM ベースドメインでした。AWS CLI で確認しておきます。

$ aws datazone get-domain \
    --identifier dzd-d3w2uawk8vo7a1 \
    --query '{name:name, version:domainVersion, ssoType:singleSignOn.type}' \
    --output table
----------------------------------------------------
|                     GetDomain                    |
+--------------------------+-----------+-----------+
|           name           |  ssoType  |  version  |
+--------------------------+-----------+-----------+
|  Default_05252026_Domain |  DISABLED |  V2       |
+--------------------------+-----------+-----------+

ssoTypeDISABLED のため、AWS マネジメントコンソールにサインインした IAM プリンシパルでそのままポータルにアクセスできます。

amazon-smus-schedule-notebook-1

ステップ1: ノートブックを作成する

ポータル左ナビの「ノートブック」を開きます。ここには「ノートブック」「ラン」「スケジュール」の3つのタブがあり、これらがまさに今回のスケジューリング機能のUIです。

amazon-smus-schedule-notebook-2

「ノートブックを作成」をクリックすると、サーバーレスノートブックのエディタが開きました。右側には Data Agent(生成AIアシスタント)が統合表示され、ツールバーには「すべて実行」やスケジュールアイコンが並びます。画面下部のコンピューティングは Python 3.11 / 2 vCPU・4 GiB で、作成直後から Ready 状態でした。

ステップ2: ノートブックを実行する

スケジュール実行の前に、まずは対話的に動かして動作を確認します。配送レポートを模した簡単なコードを入力しました。

from datetime import datetime, timezone
print("Shipping report generated at", datetime.now(timezone.utc).isoformat())

「すべて実行」を押すと、数秒で出力が返ってきました。

Shipping report generated at 2026-06-06T06:47:40.496664+00:00

amazon-smus-schedule-notebook-3-0

サーバーレスノートブックなので、コンピューティングの準備を意識することなくそのまま実行できました。

ステップ3: スケジュールを作成する

いよいよ本題です。ツールバーの「スケジュールを追加」をクリックすると、スケジュール作成パネルが開きます。
amazon-smus-schedule-notebook-3

今回は次の内容で作成しました。検証目的なので、すぐには動作が確認できるように「1分ごと」にしています。

  • スケジュール名: blog-demo-schedule
  • スケジュールタイプ: 繰り返し
  • レートベースの式: 1 日ごと
  • タイムゾーン: (UTC+09:00) Asia/Tokyo
  • フレキシブルな時間枠: 5 分(既定値)

amazon-smus-schedule-notebook-4

「スケジュールを作成」を押すと、サイドパネルの「スケジュール」一覧に blog-demo-schedule(Every 日)が追加されました。

amazon-smus-schedule-notebook-5

ステップ4: 裏側の EventBridge Scheduler を確認する

マネジメントコンソールから EventBridge Scheduler の設定から、スケジュールが追加されたことが確認できます。

amazon-smus-schedule-notebook-6

EventBridge Scheduler のユニバーサルターゲットを使って DataZone API の StartNotebookRun を呼び出す仕組みだと分かります。

また、UI の設定値が、次のように EventBridge Scheduler のパラメータへマッピングされていることが確認できました。

  • 「1日ごと」→ rate (1 minutes)
  • タイムゾーン「Asia/Tokyo」→ Asia/Tokyo
  • フレキシブルな時間枠「5分」→ 5 minutes

また、Retry policyが設定されていることが確認できました。

  • Maximum retention time of event: 1 day
  • Maximum retries: 185 times

実行ロールには SageMaker の実行ロール(AmazonSageMakerAdminIAMExecutionRole_1)が使われていました。

amazon-smus-schedule-notebook-7

ステップ5: スケジュールの実行状況を確認する

スケジュール名をクリックします。

amazon-smus-schedule-notebook-5

実行済みと現在実行中のスケジュールが一覧表示されます。スケジュールは1分に設定していますが、実際に実行されるまで3〜4分経過した後、実行していることが確認できます。

amazon-smus-schedule-notebook-8

更に実行IDをクリックして、実行結果を確認できます。

amazon-smus-schedule-notebook-9

実行結果の[Logs]タブを選択すると、実行状態も確認できます。

amazon-smus-schedule-notebook-10

考察

SMUS のスケジュール実行が EventBridge Scheduler の上に構築されており、プロジェクトの環境を作成した時点で SageMakerUnifiedStudio-<project>-dev というスケジュールグループが用意され、UI でスケジュールを作るたびにこのグループへスケジュールが追加されます。

  • スケジュール作成・編集・削除は基本的にノートブックUI(または Data Agent への自然言語指示)から行う想定で、スケジュールを直接作成する専用の AWS CLI/API は提供されていません。一方で、裏側は EventBridge Scheduler なので、aws scheduler list-schedulesget-schedule を使えば、どんなスケジュールが存在するかを横断的に棚卸し・監査できます。ガバナンスや棚卸しの観点では覚えておくと便利です。
  • バックグラウンド実行・スケジュール実行は対話セッションと隔離された専用コンピューティングで動くため、対話セッションのローカルファイルは参照できません。永続化したいデータは S3 に置く必要があります。
  • フレキシブルな時間枠(既定5分)は EventBridge Scheduler の FlexibleTimeWindow にそのまま対応します。多数のスケジュールを同時刻に集中させない、負荷分散のための仕組みです。

最後に

Amazon SageMaker Unified Studio のノートブックスケジュール実行を、UI からの作成だけでなく、裏側の Amazon EventBridge Scheduler まで確認してみました。

外部のオーケストレーション基盤を用意しなくても、ノートブックの画面だけで定期実行を組めるのは、探索的な分析から定常的なデータパイプラインへ移行する際に大きなメリットです。そして実体が EventBridge Scheduler である以上、運用・監査では scheduler 系の CLI でスケジュールを横断的に確認できる、という点も実際に手を動かして確認できました。

本機能は、SageMaker Unified Studio がサポートするすべての AWS リージョンで利用可能です。SMUS でノートブックを定期実行したい方は、ぜひ試してみてください。

合わせて読みたい

https://aws.amazon.com/blogs/big-data/schedule-notebook-runs-in-amazon-sagemaker-unified-studio/

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事