翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Backstage とセルフサービスの Amazon SageMaker AI テンプレートを使用して MLOps を高速化
Amazon Web Services、Ashish Bhatt、Shashank Hirematt、Shivanshu Suryakar
概要
機械学習オペレーション (MLOps) システムを使用している多くの組織は、ML インフラストラクチャのスケーリング、標準化、保護において大きな課題に直面しています。このパターンでは、オープンソースのデベロッパーポータルである Backstage
このパターンの IaC モジュールは、GitHub AWS AIOps モジュール
Backstage をセルフサービスプラットフォームとして使用し、事前設定された SageMaker AI テンプレートを統合することで、次のことが可能になります。
ML イニシアチブの価値実現までの時間を短縮する。
一貫したセキュリティとガバナンスの実施を支援する。
データサイエンティストに標準化された準拠環境を提供する。
運用上のオーバーヘッドとインフラストラクチャの複雑さを軽減する。
このパターンでは、MLOps の重要な課題に対処するためのソリューションと、組織の標準を維持しながらイノベーションを可能にするスケーラブルで反復可能なフレームワークも提供されます。
ターゲットオーディエンス
このパターンは、組織内の ML、クラウドアーキテクチャ、プラットフォームエンジニアリングに携わる幅広いユーザーを対象としています。これには、以下が含まれます。
ML ワークフローのデプロイを標準化および自動化したいと考えている ML エンジニア。
標準に準拠した事前設定済みの ML 環境へのセルフサービスアクセスを希望するデータサイエンティスト。
社内デベロッパーのプラットフォームおよび共有インフラストラクチャの構築と保守を担当するプラットフォームエンジニア。
MLOps 用の安全でスケーラブルかつ費用対効果の高いクラウドソリューションを設計するクラウドアーキテクト。
継続的インテグレーションと継続的デリバリー (CI/CD) のプラクティスを ML インフラストラクチャのプロビジョニングとワークフローに拡張することに関心のある DevOps エンジニア。
ML イニシアチブを監督し、チームの生産性、ガバナンス、市場投入までの時間を向上させたいと考えている技術部門のリーダーおよびマネージャー。
MLOps の課題、SageMaker AI MLOps モジュール、および本パターンによって提供されるソリューションが ML チームのニーズにどう対応するのかの詳細については、「追加情報」のセクションを参照してください。
前提条件と制限事項
前提条件
AWS Identity and Access Management にリソースをプロビジョニングするための (IAM) ロールとアクセス許可
AWS アカウント Amazon SageMaker Studio、SageMaker プロジェクト、SageMaker Pipelines、SageMaker モデルレジストリの概念を理解していること
IaC の原則を理解しており、AWS Cloud Development Kit (AWS CDK)
などのツールを使用したことがあること
制限事項
テンプレートの対象範囲には制限があります。現在、このソリューションは、より広範な AIOps ソリューション
の SageMaker AI 関連の AIOps モジュールのみをサポートしています。Ray on Amazon Elastic Kubernetes Service (Amazon EKS)、MLflow、Apache Airflow、Amazon Bedrock のファインチューニングなどの他のモジュールは、Backstage テンプレートとしてまだご利用いただけません。 設定不可能なデフォルトの設定。テンプレートでは、AIOps SageMaker モジュールからの固定のデフォルト設定がカスタマイズなしで使用されます。Backstage のインターフェイスから、インスタンスタイプ、ストレージサイズ、ネットワーク設定、セキュリティポリシーを変更することはできないため、特定のユースケースでは柔軟性が制限されます。
AWSのみをサポートしています。プラットフォームは AWS デプロイ専用に設計されており、マルチクラウドシナリオをサポートしていません。の外部でクラウドサービスを使用する組織は AWS クラウド 、これらのテンプレートを ML インフラストラクチャのニーズに使用することはできません。
手動での認証情報管理。デプロイごとに AWS 認証情報を手動で指定する必要があります。このソリューションでは、企業 ID プロバイダーとの統合 AWS IAM アイデンティティセンターや認証情報の自動ローテーションは提供されません。
ライフサイクル管理の制限。このテンプレートには、自動クリーンアップポリシー、コスト最適化の推奨事項、インフラストラクチャのドリフト検出などの包括的なリソースライフサイクル管理機能はありません。デプロイされたリソースは、作成後に手動で管理およびモニタリングする必要があります。
アーキテクチャ
次の図は、SageMaker AI を使用して環境間で ML インフラストラクチャのデプロイを標準化および高速化する、統合デベロッパーポータルのソリューションアーキテクチャを示したものです。

このアーキテクチャの詳細は以下のとおりです。
AWS アプリケーションのモダナイゼーションブループリントは
、Amazon EKS クラスターを使用してインフラストラクチャのセットアップを Cloud Native Operational Excellence (CNOE) フレームワークのベースとしてプロビジョニングします。この包括的なソリューションは、社内デベロッパー向けのスケーラブルなプラットフォーム (IDP) を提供することで、クラウドネイティブなインフラストラクチャ管理における複雑な課題を解消します。この設計図は、進化する組織のニーズに適応できる堅牢で柔軟なインフラストラクチャをセットアップする構造化されたアプローチを示しています。 CNOE オープンソースフレームワークは、DevOps ツールを統合し、統合されたプラットフォームエンジニアリングアプローチを通じてエコシステムの断片化を解決します。さまざまなツールとテクノロジーを組み合わせることで、クラウドネイティブ開発の複雑な環境を簡素化できるため、チームはツールチェーンの管理ではなくイノベーションに専念できます。このフレームワークは、開発ツールを選択、統合、管理するための標準化された方法を提供します。
CNOE では、Backstage は Amazon EKS クラスター内にすぐに使えるソリューションとしてデプロイされます。Backstage は、Keycloak
による堅牢な認証と、Argo CD による包括的なデプロイワークフローにバンドルされています。この統合プラットフォームは、開発プロセスを管理するための一元化された環境を作成し、チームが複数の環境をまたいでインフラストラクチャとアプリケーションにアクセス、デプロイ、モニタリングできる一元的な場所として機能します。 GitHub リポジトリには、SageMaker AI ライフサイクル全体をカバーする、事前設定済みの AIOps ソフトウェアテンプレートが含まれています。これらのテンプレートは、SageMaker Studio のプロビジョニング、モデルトレーニング、推論パイプライン、モデルモニタリングなど、重要な ML インフラストラクチャのニーズに対処します。これらのテンプレートを使えば、ML イニシアチブを加速させ、さまざまなプロジェクトやチーム間で一貫性を確保することができます。
GitHub Actions
は、Seed-Farmer ユーティリティを介してリソースプロビジョニングを動的にトリガーする自動ワークフローを実装しています。このアプローチでは、Backstage カタログを AIOps モジュールリポジトリと統合させ、効率的なインフラストラクチャデプロイプロセスを作成します。自動化によって手動介入が軽減され、人的ミスを最小限に抑えることができ、さまざまな環境で迅速かつ一貫したインフラストラクチャの作成が可能になります。 AWS CDK を使うことで、インフラストラクチャをコードとして定義してプロビジョニングすることができます。また、指定された AWS アカウント全体で反復可能な標準に準拠した安全なリソースをデプロイできます。このアプローチは、最小限の手動介入で最大限のガバナンスを実現できるため、標準化されたインフラストラクチャテンプレートを作成して、複製やバージョン管理、監査を簡単に行うことができます。
ツール
AWS のサービス
AWS Cloud Development Kit (AWS CDK) は、コードで AWS クラウド インフラストラクチャを定義およびプロビジョニングするのに役立つソフトウェア開発フレームワークです。
Amazon Elastic Kubernetes Service (Amazon EKS) を使用すると、独自の Kubernetes コントロールプレーンやノードをインストールまたは維持 AWS することなく、 で Kubernetes を実行できます。
Amazon SageMaker AI は、ML モデルを構築およびトレーニングし、これらの ML モデルを、稼働準備の整ったホストされている環境にデプロイするのに役立つマネージド型 ML サービスです。
その他のツール
Backstage
は、社内デベロッパー向けポータルの構築に役立つオープンソースフレームワークです。 GitHub Actions
は、コードの構築、テスト、デプロイなどのタスクを含むソフトウェア開発のワークフローを自動化する CI/CD プラットフォームです。
コードリポジトリ
本パターンでは、次の GitHub リポジトリのコードとテンプレートを使用します。
AIOps internal developer platform (IDP) with Backstage
リポジトリ AWS AIOps モジュール
リポジトリの SageMaker AI 関連モジュール
実装
この実装では、Modern engineering on AWS
このパターンのエピックのセクションでは、実装アプローチの概要を説明します。詳細なデプロイ手順については、Backstage を備えた AIOps 内部開発者プラットフォーム
初期 Backstage プラットフォームのデプロイ
SageMaker ソフトウェアテンプレートと Backstage の統合
Backstage テンプレートの使用と保守
本デプロイガイドには、継続的なメンテナンス、トラブルシューティング、プラットフォームのスケーリングに関するガイダンスも含まれています。
ベストプラクティス
これらのベストプラクティスに従い、MLOps インフラストラクチャ実装のセキュリティ、ガバナンス、運用上の優秀性を確保してください。
テンプレート管理
ライブテンプレートに大きな変更を加えない。
本番環境にデプロイするときは事前に更新を十分にテストする。
明確かつ十分に立証されたテンプレートバージョンを維持する。
セキュリティ
GitHub Actions を特定のコミットセキュアハッシュアルゴリズム (SHAs) に固定し、サプライチェーン攻撃を防止する。
きめ細かなアクセス許可を持つ最小特権の IAM ロールを使用する。
機密認証情報は GitHub Secrets
および AWS Secrets Manager に保存する。 認証情報をテンプレートでハードコードしない。
ガバナンスと追跡
包括的なリソースタグ付け標準を実装する。
正確なコスト追跡とコンプライアンスモニタリングを有効にする。
インフラストラクチャの変更に関する明確な監査証跡を維持する。
本ガイドは、Backstage、SageMaker AI、IaC モジュールを使用して上記のベストプラクティスを実装するための強固な基盤となるものです。
エピック
| タスク | 説明 | 必要なスキル |
|---|---|---|
Backstage をデプロイする。 | このステップでは、 リポジトリの Modern Engineering AWS インフラストラクチャは、IDP コンポーネントをデプロイするためのコンテナオーケストレーションプラットフォームとして Amazon EKS を使用します。Amazon EKS アーキテクチャには、厳密なネットワーク分離を規定し、アクセスパターンを制御するための安全なネットワーク設定が含まれています。このプラットフォームには認証のメカニズムが統合され、サービスや環境間のユーザーアクセスを保護しています。 | プラットフォームエンジニア |
SageMaker AI テンプレートをセットアップする。 | このステップでは、GitHub の AIOps internal developer platform (IDP) with Backstage このプロセスでは、Backstage との統合に必要な SageMaker AI テンプレートを含むリポジトリを作成します。 | プラットフォームエンジニア |
SageMaker AI テンプレートを Backstage と統合する。 | デプロイガイドの「SageMaker テンプレートの統合 このステップでは、AIOps モジュール (前のステップの SageMaker AI テンプレート) を Backstage デプロイに統合し、ML インフラストラクチャのニーズをセルフサービスできるようにします。 | プラットフォームエンジニア |
Backstage の SageMaker AI テンプレートを使用する。 | デプロイガイドの「SageMaker テンプレートの使用 Backstage ポータルでは、SageMaker Studio 環境、SageMaker ノートブック、カスタム SageMaker プロジェクトテンプレート、モデルデプロイパイプラインのオプションなど、使用可能な SageMaker AI テンプレートの中から選択できます。設定パラメータを指定すると、プラットフォームは自動的に専用リポジトリを作成し、GitHub Actions と Seed-Farmer を通じて AWS リソースをプロビジョニングします。進行状況は、GitHub Actions ログと Backstage コンポーネントカタログからモニタリングできます。 | データサイエンティスト、データエンジニア、デベロッパー |
| タスク | 説明 | 必要なスキル |
|---|---|---|
SageMaker AI テンプレートを更新する。 | Backstage で SageMaker AI テンプレートを更新するには、次の手順に従います。
| プラットフォームエンジニア |
テンプレートの複数のバージョンを作成および管理する。 | 破壊的変更やアップグレードの場合は、複数のバージョンの SageMaker AI テンプレートを作成することをお勧めします。
| プラットフォームエンジニア |
| タスク | 説明 | 必要なスキル |
|---|---|---|
テンプレートの対象範囲を SageMaker AI を超えて拡張する。 | 現在のソリューションに実装されているのは SageMaker AI 関連の AIOps テンプレートのみです。AIOps モジュール テンプレートの継承パターンを実装して、ベーステンプレートの特殊なバージョンを作成することもできます。この拡張性により、簡素化された開発者エクスペリエンスを維持し、組織の標準を維持しながら、SageMaker AI 以外のさまざまな AWS リソースやアプリケーションを管理できます。 | プラットフォームエンジニア |
動的パラメータインジェクションを使用する。 | 現在のテンプレートは、デフォルトの設定をカスタマイズなしで使用し、Seed-Farmer CLI を実行して、デフォルトの変数を持つリソースをデプロイします。デフォルトの設定は、モジュールに固有の設定に動的パラメータインジェクションを使用することで拡張できます。 | プラットフォームエンジニア |
セキュリティとコンプライアンスを高める。 | AWS リソースの作成時のセキュリティを強化するために、ロールベースのアクセスコントロール (RBAC) に、シングルサインオン (SSO)、SAML、OpenID Connect (OIDC)、ポリシーをコード適用として統合することができます。 | プラットフォームエンジニア |
自動リソースクリーンアップを追加する。 | 自動クリーンアップポリシーの機能を有効にしたり、インフラストラクチャドリフトの検出と修復を追加したりできます。 | プラットフォームエンジニア |
| タスク | 説明 | 必要なスキル |
|---|---|---|
Backstage インフラストラクチャと SageMaker AI リソースを削除する。 | ML 環境の使用が完了したら、デプロイガイドの「クリーンアップとリソース管理 | プラットフォームエンジニア |
トラブルシューティング
| 問題 | ソリューション |
|---|---|
AWS CDK ブートストラップの失敗 | AWS 認証情報とリージョン設定を確認します。 |
Amazon EKS クラスターアクセスの問題 | kubectl 設定と IAM アクセス許可を確認します。 |
Application Load Balancer の接続の問題 | セキュリティグループで、ポート 80/443 上の受信トラフィックが許可されていることを確認します。 |
SSH 統合の問題 | GitHub トークンのアクセス許可と組織アクセスを確認します。 |
SageMaker AI デプロイの失敗 | AWS のサービス クォータと IAM アクセス許可を確認する。 |
関連リソース
プラットフォームエンジニアリング(「AWS クラウド導入フレームワーク: プラットフォームの視点」ガイドを参照)
Backstage Software Templates
(Backstage ウェブサイト) AIOps modules repository
(ML 用の再利用可能な IaC モジュールのコレクション) AIOps internal developer platform (IDP) with Backstage
リポジトリ
追加情報
ビジネス上の課題
MLOps イニシアチブを開始またはスケールしようとする多くの組織が、ビジネス上および技術上の課題に頻繁に遭遇していす。
一貫性のない環境。開発環境とデプロイ環境が標準化されていないため、コラボレーションが困難になり、デプロイ上のリスクも高まります。
手動プロビジョニングのオーバーヘッド。SageMaker Studio、Amazon Simple Storage Service (Amazon S3) バケット、IAM ロール、CI/CD パイプラインを使用して ML インフラストラクチャを手動でセットアップするのには時間がかかり、エラーも発生しやすく、データサイエンティストはモデル開発のコアタスクに専念することができません。
検出可能性と再利用性の欠如。一元化されたカタログがなければ、既存の ML モデル、データセット、パイプラインを見つけることが困難になります。これにより、作業が重複し、再利用の機会が失われます。
複雑なガバナンスとコンプライアンス。自動化されたガードレールがなければ、ML プロジェクトが組織のセキュリティポリシー、データプライバシー規制、医療保険の相互運用性と説明責任に関する法律 (HIPAA)、および一般データ保護規則 (GDPR) などのコンプライアンス標準に準拠しているかどうかを確認することが困難になります。
価値実現までの時間が長い。これらの課題の累積的な影響により、ML プロジェクトのライフサイクルが長くなり、ML 投資によるビジネス価値の実現が遅れます。
セキュリティ上のリスク。設定や手動プロセスに一貫性がなければ、セキュリティの脆弱性が発生し、最小特権やネットワーク分離の適用が困難になる可能性があります。
これらの問題は、開発サイクルを長引かせ、運用オーバーヘッドを増やし、セキュリティリスクをもたらします。反復的な性質を持つ ML には、反復可能なワークフローと効率的なコラボレーションが不可欠です。
Gartner 社による予測では、ソフトウェアエンジニアリング組織の 80% が 2026 年までにプラットフォームチームを持つと予想されています。(Gartner 社のウェブサイト「Platform Engineering Empowers Developers to be Better, Faster, Happier
MLOps SageMaker モジュール
このパターンに使用される GitHub リポジトリの AIOps モジュールは
AIOps モジュールをそのまま使用すると、多くの場合、プラットフォームチームがこれらの IaC テンプレートをデプロイおよび管理しなければならなくなり、このことがセルフサービスアクセスを必要とするデータサイエンティストにとって課題となる可能性があります。使用可能なテンプレートの検出と理解、必要なパラメータの設定、デプロイのトリガーには、 AWS のサービス コンソールを操作するか、IaC ツールと直接やり取りする必要がある場合があります。これにより摩擦が生じ、ML タスクに専念したいデータサイエンティストの認知負荷が増加し、テンプレートが一元化された使いやすいインターフェイスで管理されていない場合には、一貫性のないパラメータ化や組織標準からの逸脱が生じる可能性があります。これらの強力な AIOps モジュールを Backstage などの IDP と統合すると、標準化された MLOps の構成要素を使用するための合理化されたセルフサービスエクスペリエンス、強化された検出可能性、強力なガバナンスコントロールが実現できるため、このような課題に対処できます。
IDP としての Backstage
社内デベロッパープラットフォーム (IDP) は、デベロッパーがアプリケーションを構築、デプロイ、管理する方法を簡素化および標準化するために、プラットフォームチームによって構築されたセルフサービスレイヤーです。インフラストラクチャの複雑さを抽象化し、デベロッパーは、統合されたインターフェイスを通じてツール、環境、サービスに簡単にアクセスできるようになります。
IDP の主な目標は、デベロッパーのエクスペリエンスと生産性を向上させることです。
サービスの作成やデプロイなどのタスクでセルフサービスを有効にする。
標準のテンプレートを使用して一貫性とコンプライアンスを促す。
開発ライフサイクル全体でツールを統合する (CI/CD、モニタリング、ドキュメント)。
Backstage は、Spotify によって作成されたオープンソースのデベロッパーポータルであり、現在は Cloud Native Computing Foundation (CNCF) の一部となっています。ソフトウェアコンポーネント、ツール、ドキュメントを管理するための一元化された拡張可能なプラットフォームを提供し、組織が独自の IDP を構築するのを支援します。Backstage を使用すると、デベロッパーは次のことが行うことができます。
ソフトウェアカタログを通じてすべての内部サービスを検出および管理する。
スキャフォールダープラグインを使って、事前定義されたテンプレートを使用して新しいプロジェクトを作成する。
CI/CD パイプライン、Kubernetes ダッシュボード、モニタリングシステムなどの統合ツールに一元的にアクセスできる。
TechDocs を通じて一貫性のあるマークダウンベースのドキュメントを維持できる。
よくある質問
Backstage テンプレートを使用する場合と、SageMaker コンソールから SageMaker Studio を手動でデプロイする場合の違いは何ですか?
Backstage テンプレートには、組織のベストプラクティスに従った標準化された設定、Seed-Farmer と を使用した IaC の自動デプロイ AWS CDK、組み込みのセキュリティポリシーとコンプライアンス対策、GitHub を介した組織の開発者ワークフローとの統合など、手動 AWS コンソールデプロイよりもいくつかの利点があります。このテンプレートは、バージョン管理による再現可能なデプロイも作成します。これにより、さまざまなステージ (開発、ステージング、本番稼働) にまたがる環境を簡単に複製できるため、チーム間の一貫性が確保されます。さらに、テンプレートには自動クリーンアップ機能が含まれており、Backstage を通じて組織の ID 管理システムと統合されます。コンソールを介した手動デプロイには深い AWS 専門知識が必要であり、バージョン管理やテンプレートが提供するのと同じレベルの標準化とガバナンスは提供されません。このような理由から、コンソールのデプロイは、本番環境の ML 環境よりも 1 回限りの実験に適しています。
Seed-Farmer とは何ですか? このソリューションがそれを使用しているのはなぜですか?
Seed-Farmer は、 を使用してインフラストラクチャモジュールを管理する AWS デプロイオーケストレーションツールです AWS CDK。このパターンでは、Seed-Farmer を使用します。これは、AI/ML ワークロード用に特別に設計された標準化された再利用可能なインフラストラクチャコンポーネントを提供し、 間の複雑な依存関係 AWS のサービス を自動的に処理し、異なる環境間で一貫したデプロイを保証するためです。
これらのテンプレートを使用するには AWS CLI 、 をインストールする必要がありますか?
いいえ。コンピュータ AWS CLI に をインストールする必要はありません。テンプレートはクラウド内の GitHub Actions を通じて全体的に実行されます。Backstage インターフェイスを介して AWS 認証情報 (アクセスキー、シークレットキー、セッショントークン) を指定すると、デプロイは GitHub Actions 環境で自動的に行われます。
SageMaker Studio 環境のデプロイにはどのくらいの時間がかかりますか?
SageMaker Studio のデプロイが完了するまでに通常 15~25 分かかります。これには、 AWS CDK ブートストラップ (2~3 分)、Seed-Farmer ツールチェーンのセットアップ (3~5 分)、リソースの作成 (10~15 分) が含まれます。正確な時間は、 AWS リージョン とネットワーク設定の複雑さによって異なります。
同じ AWS アカウントに複数の SageMaker 環境をデプロイすることは可能ですか?
はい、可能です。各デプロイでは、テンプレートで指定したコンポーネント名に基づいて一意の名前のリソースが作成されます。ただし、 AWS のサービス クォータに注意してください。各アカウントでは、リージョンごとに SageMaker ドメインの数に制限があるため、複数の環境を作成する前にクォータを確認してください。