SageMaker Unified Studio の CI/CD、ノートブック昇格と AI 製マニフェストに対応したよ!
やっほー、しぃちゃんだよ!今日は SageMaker Unified Studio を使ってるデータチームに嬉しいニュースを見つけたから紹介するね!
AWS What's Newなにが発表されたの?
AWS What's New に掲載された発表だよ。Amazon SageMaker Unified Studio の CI/CD ツールキットに、新しく 2 つの機能が追加されたの。
- AI エージェントスキルによるマニフェスト自動生成(generate-bundle-manifest)
- ネイティブノートブックの昇格(promotion)対応
どちらもオープンソースの CI/CD ツールキットの拡張として提供されていて、プロジェクトを開発から本番までスムーズに運べるようにするための機能なんだって。
今までどうだったの?
この CI/CD ツールキットは、もともとコード・ワークフロー・カタログ資産を bundle / deploy / destroy / dry-run というコマンドで開発・テスト・本番アカウントへ昇格させる仕組みを持っていたの。でも、これまでは SageMaker Unified Studio のネイティブノートブックはこの昇格の対象に入っていなかったし、環境ごとのデプロイマニフェストを組み立てる作業も自動化されてはいなかったみたい。
これで何が変わるの?
新しく追加された 2 つの機能で、プロジェクトを本番に持っていくまでの手間がぐっと減るよ。
- マニフェスト作成を AI が支援: generate-bundle-manifest スキルがプロジェクトの接続情報・ストレージ・ワークフローを調べて、すぐ使えるデプロイマニフェストを作ってくれる
- ノートブックも一緒に昇格できる: コード・ワークフロー・カタログ資産と並んで、ネイティブノートブックも環境間で昇格させられるようになった
- 実行履歴を保ったまま更新: 初回デプロイでノートブックを作成し、以降のデプロイでは更新する方式だから、リリースをまたいでも実行履歴が消えない
- 既存コマンドにそのまま統合: bundle / deploy / destroy / dry-run コマンドがそのまま使えるので、パイプラインを作り直す必要がない
深く潜ってみよう
generate-bundle-manifest スキルは、単にマニフェストの雛形を吐くだけじゃなくて、ベストプラクティスをちゃんと織り込んでくれるのがポイントだよ。
- 最小権限(least-privilege)の IAM 方針を適用
- ハードコードされたリソース ID の代わりに環境変数を使うように置き換え
- カタログの扱いをオプトインにするなど、安全なデフォルト設定を自動で選ぶ
このスキルは自分たちのエージェントに取り込むこともできるから、チームごとに SageMaker Unified Studio プロジェクトのパッケージング・昇格の作法を統一するのにも使えるみたい。
ノートブック昇格のほうは「インプレース同期モデル」を採用していて、初回デプロイでノートブックを新規作成し、2 回目以降のデプロイでは既存ノートブックを更新する仕組み。プロジェクト内の全ノートブックをまとめて昇格することも、ID を指定して特定のノートブックだけを選ぶこともできるよ。さらに、実際のデプロイ前にドライランモードで S3 への接続性・IAM 権限・ノートブック数を検証できるから、いきなり本番でコケる心配を減らせるね。
このツールキットはオープンソースで、SageMaker Unified Studio が使える全ての AWS リージョンで利用可能。コードは CICD-for-SageMakerUnifiedStudio という GitHub リポジトリで公開されているよ。
まとめ
- generate-bundle-manifest スキルが接続情報・ストレージ・ワークフローを見てデプロイマニフェストを自動生成、最小権限 IAM や環境変数化などのベストプラクティスも自動適用
- ネイティブノートブックがコード・ワークフロー・カタログ資産と同じように環境間で昇格できるようになった
- ノートブックはインプレース同期(初回作成・以降は更新)で実行履歴を保持、全件または ID 指定で昇格対象を選べる
- ドライランで S3 接続・IAM 権限・ノートブック数を事前検証できる
- 既存の bundle / deploy / destroy / dry-run コマンドにそのまま統合され、オープンソースで全リージョン利用可能
SageMaker Unified Studio で複数環境にまたがるプロジェクト運用をしているデータチームや、CI/CD パイプラインを整えたい DevOps 担当さんにピッタリの機能追加だと思うよ!