AWS Certified Generative AI Developer - Professional 資格対策コース
CI/CD パイプラインと GenAI ゲートウェイ
このレッスンで学ぶこと 対応試験ドメイン D2 タスク 2.3.5(CI/CD と GenAI ゲートウェイ)。GenAI アプリのデプロイ自動化を AWS CodePipeline・AWS CodeBuild・AWS CDK で構成し、複数チーム/アプリからの基盤モデル利用を一元統制する GenAI ゲートウェイ(共通アクセス層)の役割を理解できるようになります。
解説
GenAI アプリも通常のアプリと同様に、コードとインフラを自動でテスト・ビルド・デプロイする CI/CD が必要です。さらに、組織で複数チームが FM を使うようになると、アクセス・コスト・監査を一元化する GenAI ゲートウェイが重要になります。試験では「どの AWS サービスでパイプラインを組むか」「ゲートウェイで何を統制するか」が問われます。
CI/CD の構成サービス
| サービス | 役割 |
|---|---|
| AWS CodePipeline | デプロイの流れ(ステージ)をオーケストレーションする CD パイプライン |
| AWS CodeBuild | ソースのビルド・テスト・パッケージングを実行 |
| AWS CDK | インフラをコード(TypeScript/Python 等)で定義し CloudFormation を生成 |
典型的な流れは「ソース変更 → CodeBuild でビルド/テスト → CDK で生成したテンプレートをデプロイ → CodePipeline が一連を統括」です。CDK を使うと、Bedrock 関連の IAM ロール・Lambda・API Gateway・Knowledge Base 連携などを宣言的に定義し、環境間で再現性のあるデプロイができます。
GenAI 特有の CI/CD 観点
通常のアプリ CI/CD に加え、GenAI では下記の観点が加わります。
| 観点 | 内容 |
|---|---|
| プロンプトのバージョン管理 | プロンプトをコードと同様に管理しデプロイ。Bedrock Prompt Management と連携 |
| 評価ゲート | デプロイ前に Bedrock Model Evaluation 等で品質を確認し、基準未達なら止める |
| 安全側の段階デプロイ | カナリア/ブルーグリーンで一部に出してから全展開 |
| ロールバック | 品質劣化時に前バージョンへ戻せる構成 |
GenAI ゲートウェイ(共通アクセス層)
GenAI ゲートウェイは、複数のアプリ/チームと基盤モデルの間に置く共通アクセス層です。各アプリが直接 Bedrock を叩くのではなく、ゲートウェイ経由にすることで次の統制を一元化できます。統制できる項目は下記のとおりです。
| 統制項目 | 内容 |
|---|---|
| 一元的な認証認可 | チーム/アプリ単位のアクセス制御 |
| レート制限・クォータ | チームごとの利用上限、コスト暴走の抑制 |
| コスト配賦・利用計測 | どのチームがどれだけ使ったかを集計 |
| 監査ログ | 誰がどのモデルを呼んだかを一元記録 |
| モデル抽象化 | 裏側のモデル差し替えをアプリから隠蔽 |
ゲートウェイは単一の製品名ではなく設計パターンです。AWS では Amazon API Gateway(認証・スロットリング・計測)と AWS Lambda(ルーティング・前後処理)を組み合わせて実装するのが一般的で、Amazon Bedrock AgentCore Gateway もツール公開の文脈で関連します。試験では「ゲートウェイで一元化する統制項目」を押さえるのが要点です。
コード例(CDK でデプロイ対象を宣言する抜粋)
CDK でインフラをコード化する雰囲気の最小例です。CodePipeline からこの synth/deploy を実行します。
TypeScript
import * as cdk from "aws-cdk-lib";
import * as lambda from "aws-cdk-lib/aws-lambda";
const app = new cdk.App();
const stack = new cdk.Stack(app, "GenAiGatewayStack");
new lambda.Function(stack, "RouterFn", {
runtime: lambda.Runtime.PYTHON_3_12,
handler: "router.handler",
code: lambda.Code.fromAsset("src/router"),
});試験で問われるポイント
- CodePipeline / CodeBuild / CDK の役割分担。流れの統括は CodePipeline、ビルド/テスト実行は CodeBuild、インフラのコード定義は CDK。これらの混同が問われる
- GenAI ゲートウェイは設計パターン。単一サービス名ではなく、API Gateway + Lambda 等で実装する共通アクセス層。一元化する統制(認証・レート制限・コスト配賦・監査・モデル抽象化)が頻出
- GenAI CI/CD では「デプロイ前の評価ゲート」「品質劣化時のロールバック」「カナリア/ブルーグリーン」という安全側のデプロイが問われる
- 各アプリが個別に Bedrock を直叩きすると、コスト統制・監査・モデル差し替えが分散して破綻しやすい。ゲートウェイで集約するのが正解になりやすい
サービスの使い分け早見表
| やりたいこと | 使うもの | 混同しやすいもの |
|---|---|---|
| デプロイの流れ(ステージ)を統括 | AWS CodePipeline | AWS CodeBuild(ビルド/テスト実行が役割) |
| ビルド・テスト・パッケージング | AWS CodeBuild | CodePipeline(オーケストレーション役) |
| インフラをコードで定義 | AWS CDK | CloudFormation を手書き(CDK が生成・抽象化) |
| 複数チームの FM 利用を一元統制 | GenAI ゲートウェイ(API Gateway + Lambda) | 各アプリが Bedrock を直叩き(統制が分散) |
まとめ
GenAI アプリの CI/CD は、流れの統括を AWS CodePipeline、ビルド/テストを AWS CodeBuild、インフラ定義を AWS CDK で構成します。GenAI 特有の評価ゲート・ロールバック・段階デプロイも組み込みます。複数チームの FM 利用は GenAI ゲートウェイ(Amazon API Gateway + AWS Lambda で実装する共通アクセス層)に集約し、認証・レート制限・コスト配賦・監査・モデル抽象化を一元化するのが定石です。
次のステップ
次のクイズレッスンで、CI/CD サービスの役割分担と GenAI ゲートウェイの統制項目を問うシナリオ問題に挑戦しましょう。
関連レッスン
- セキュアアクセス(ID フェデレーション・RBAC・最小権限)(pro-secure-access)
- FM API 統合(同期・非同期・ストリーミング)(pro-api-sync-async)
- レジリエントな API(バックオフ・フォールバック・ルーティング)(pro-api-resilience)