モデルを安全に・繰り返しデプロイするには、自動化されたパイプライン(CI/CD)が欠かせません。コードのコミットを契機に、ビルド・テスト・デプロイ・再学習までを自動で流す仕組みです。MLA-C01では、AWSのCodeサービスとSageMaker Pipelines、そしてblue/green・canary・linearといったデプロイ戦略の使い分けが問われます。前の記事は M3-2、全体像は シラバスマップ をどうぞ。

CI/CDパイプラインを支えるサービス
AWSのCodeサービスは役割で分かれています。全体を束ねるのがCodePipelineです。
| サービス | 役割 |
|---|---|
| CodePipeline | 全体のオーケストレーション(各ステージをつなぐ) |
| CodeBuild | ソースのビルドとテストを実行 |
| CodeDeploy | 成果物のデプロイを実行 |
| SageMaker Pipelines | ML向けのワークフロー(前処理・学習・評価・登録)を自動化 |

さらに Amazon EventBridge のルールで、新データの到着などを契機に再学習を自動起動できます。Gitなどのコードリポジトリと連携し、コミットからパイプラインが走ります。

デプロイ戦略:blue/green・canary・linear
新バージョンへの切り替え方には、リスクの抑え方で複数の戦略があります。

- blue/green:現行(blue)と新(green)の2環境を用意し、一気に切り替える。問題があれば即座に旧環境へロールバックできる
- canary:まず少数のトラフィックに新バージョンを出し、問題なければ徐々に拡大。リスクを早期に検知
- linear:一定の割合ずつ段階的にトラフィックを移していく
自動テストと再学習の仕組み
- 自動テスト:パイプラインに単体・結合・エンドツーエンドのテストを組み込み、品質を満たしたものだけデプロイする
- 再学習の自動化:EventBridgeやスケジュールで再学習を起動し、評価に通ればModel Registry経由で承認・デプロイへつなぐ
- ロールバック:問題検知時に前のバージョンへ戻す手順を、戦略に応じて用意しておく
確認クイズ
Q1. あなたは推論サービスを新バージョンへ更新します。切り替えは素早く行い、万一問題が起きた場合は即座に元のバージョンへ戻せるようにして、ダウンタイムを最小化したいと考えています。最も適切なデプロイ戦略はどれですか。
Q2. あなたは新しいモデルを本番に出す前に、リスクをできるだけ抑えたいと考えています。まずごく一部の実トラフィックに新バージョンを適用して問題がないかを確認し、異常がなければ段階的に対象を広げたい状況です。最も適切なデプロイ戦略はどれですか。
Q3. あなたのチームは、コードのコミットを契機にビルド・テスト・デプロイの一連の流れを自動化し、各ステージをつないで実行したいと考えています。複数のステージを束ねて統制するために最も適切なサービスはどれですか。
あなたは、新しい学習データが届くたびに再学習を自動で起動し、評価テストに合格したモデルだけを承認してデプロイする仕組みを作りたいと考えています。最も適切な構成はどれですか。
よくある質問(FAQ)
Q. CodePipelineとCodeBuild、CodeDeployの違いは?
A. CodePipelineが全体の流れを統制し、CodeBuildがビルド・テスト、CodeDeployがデプロイを担います。役割分担で覚えましょう。
Q. blue/greenとcanaryはどう使い分ける?
A. 素早く切り替えて即ロールバックしたいならblue/green、少数で先行検証してリスクを抑えたいならcanaryです。
Q. SageMaker PipelinesとCodePipelineの関係は?
A. SageMaker PipelinesはMLワークフロー(前処理・学習・評価)に特化し、CodePipelineはCI/CD全体を束ねます。組み合わせて使えます。
まとめ
- CodePipelineが全体を統制し、CodeBuildがビルド・テスト、CodeDeployがデプロイ。MLワークフローはSageMaker Pipelines
- デプロイ戦略はblue/green(即切替・即ロールバック)・canary(少数先行)・linear(段階移行)
- 自動テストで品質を担保し、EventBridge+Pipelines+Model Registryで再学習から承認・デプロイを自動化
- ➡ ここまででドメイン3(デプロイと運用自動化)が完了です。次はドメイン4 監視・保守・セキュリティ/M4-1 推論の監視とドリフト検知※準備中
- ➡ 前の記事:M3-2 インフラのコード化とオートスケール / シラバスマップ
※本記事はAWS公式試験ガイド(MLA-C01)および各サービスの公開ドキュメントに基づき、エンジニアKが作成しています。サービス仕様は更新されることがあるため、最新は必ずAWS公式でご確認ください。本サイトはAmazon Web Services, Inc.の公式サイトではありません。AWSは同社の商標です。



コメント