AWS Certified Generative AI Developer - Professional 資格対策コース
クロスリージョン推論とレジリエントな設計
このレッスンで学ぶこと 対応試験ドメイン D1 タスク 1.2.3(レジリエントな推論設計)。Amazon Bedrock のクロスリージョン推論と AWS Step Functions を組み合わせ、スロットリングやリージョン障害に耐える推論アーキテクチャの設計判断を身につけます。
解説
GenAI の推論は、需要急増によるスロットリング(429 エラー)や、リージョン単位の障害にさらされます。資格試験では、これらに耐えるレジリエントな設計が問われます。AWS のどの機能で可用性とスループットを底上げするかが核心です。
Amazon Bedrock クロスリージョン推論
Amazon Bedrock のクロスリージョン推論(Cross-Region Inference) は、推論プロファイル(inference profile)を指定すると、Bedrock が複数リージョンへ自動的にトラフィックをルーティングする機能です。これにより単一リージョンのキャパシティ上限を超えてスループットを確保でき、混雑時のスロットリングを緩和できます。アプリは推論プロファイル ID を modelId に渡すだけで、リージョン分散を Bedrock 側が担います。
Python
import boto3
bedrock = boto3.client("bedrock-runtime", region_name="us-east-1")
# 推論プロファイル ID を modelId に渡すとクロスリージョンで分散される
resp = bedrock.converse(
modelId="us.anthropic.claude-3-5-sonnet-20241022-v2:0", # us. プレフィックス = 推論プロファイル
messages=[{"role": "user", "content": [{"text": "概要を要約して"}]}],
inferenceConfig={"maxTokens": 512},
)
print(resp["output"]["message"]["content"][0]["text"])スロットリングへの対処(再試行とバックオフ)
クロスリージョン推論でも需要次第でスロットリングは起こり得ます。アプリ側は 指数バックオフ付きの再試行を実装します。AWS SDK は標準の再試行設定を持ちますが、本番では再試行回数とバックオフ戦略を明示的に設定するのが定石です。
AWS Step Functions で耐障害ワークフローを組む
複数ステップの推論やフォールバックを宣言的に制御するのが AWS Step Functions です。ステートマシン上で Retry(再試行)と Catch(フォールバック)を定義し、主モデルが失敗したら別モデルや別リージョンへ切り替える、といった分岐を組めます。アプリコードに再試行ロジックを散らさず、ワークフロー定義として一元管理できるのが利点です。
| レジリエンス手段 | 担うもの | 効くシナリオ |
|---|---|---|
| クロスリージョン推論 | Amazon Bedrock | スループット確保・単一リージョン混雑の緩和 |
| 指数バックオフ再試行 | AWS SDK / アプリ | 一時的なスロットリング・瞬断 |
| Retry / Catch ワークフロー | AWS Step Functions | 多段処理・モデル/リージョンのフォールバック |
試験で問われるポイント
- 「単一リージョンのスループット上限に当たる」「混雑時のスロットリングを減らしたい」と来たら、Amazon Bedrock クロスリージョン推論(推論プロファイル)が正解になりやすい。プロビジョンドスループットは予約による安定確保で目的が異なる
- クロスリージョン推論とプロビジョンドスループットは似て非なるもの。前者は複数リージョンへ自動分散して可用性とスループットを底上げ、後者は容量を予約して安定したスループットを確保。要件が「混雑緩和・可用性」ならクロスリージョン推論
- 多段処理のフォールバック制御は Step Functions の Retry / Catch。アプリに再試行を埋め込むより、ワークフローで宣言的に管理する判断が問われる
- 試験で問われるのは AWS のどの機能でレジリエンスを担保するかであり、一般的な高可用性論ではない
サービスの使い分け早見表
| やりたいこと | 使うもの | 混同しやすいもの |
|---|---|---|
| 複数リージョンへ自動分散しスループット確保 | Amazon Bedrock クロスリージョン推論 | プロビジョンドスループット(容量予約で目的が異なる) |
| 安定したスループットを予約で確保 | Bedrock プロビジョンドスループット | クロスリージョン推論(混雑緩和・可用性向け) |
| 多段処理のフォールバックを宣言的に制御 | AWS Step Functions(Retry/Catch) | アプリ内に再試行ロジックを散在させる |
まとめ
レジリエントな推論設計は、Amazon Bedrock クロスリージョン推論で単一リージョン上限を超えてスループットと可用性を確保し、指数バックオフ再試行でスロットリングを吸収し、AWS Step Functions の Retry / Catch でフォールバックを宣言的に制御することが核心です。
次のステップ
次のクイズレッスンで、本番形式のシナリオ問題に挑戦してレジリエント設計の判断力を確認しましょう。
関連レッスン
- モデル切替を可能にする抽象化アーキテクチャ(pro-fm-abstraction)
- レジリエントな API(pro-api-resilience)
- レイテンシ・スループット最適化(pro-perf-latency)