Q15 — AWS SAA-C03 第10章
第 15/100 問 | ← 第10章
Q615. 小売企業は、パブリックな REST API として、リージョン単位の Amazon API Gateway API を使用しています。API Gateway のエンドポイントはカスタムドメイン名であり、Amazon Route 53 のエイリアスレコードを指しています。ソリューションアーキテクトは、顧客への影響を最小限に抑え、データ損失も最小限に抑える方法で、新しいバージョンの API をリリースするソリューションを設計する必要があります。これらの要件を満たすソリューションはどれですか?
- A. API Gateway でカナリーリリース用のデプロイステージを作成します。最新の API バージョンをデプロイし、適切な割合のトラフィックをカナリーステージにルーティングします。API の検証が完了した後、カナリーステージを本番ステージに昇格させます。 ✓
- B. OpenAPI YAML ファイル形式で新しいバージョンの API を含む新しい API Gateway エンドポイントを作成します。API Gateway の既存の API に対して、マージモードでの「インポートして更新」操作を実行します。その後、新しい API バージョンを本番ステージにデプロイします。
- C. OpenAPI JSON ファイル形式で新しいバージョンの API を含む新しい API Gateway エンドポイントを作成します。API Gateway の既存の API に対して、上書きモードでの「インポートして更新」操作を実行します。その後、新しい API バージョンを本番ステージにデプロイします。
- D. 新しい API 定義を含む新しい API Gateway エンドポイントを作成します。この新しい API Gateway API 用に新しいカスタムドメイン名を作成し、Route 53 のエイリアスレコードをその新しいカスタムドメイン名を指すように更新します。
正解: A. API Gateway でカナリーリリース用のデプロイステージを作成します。最新の API バージョンをデプロイし、適切な割合のトラフィックをカナリーステージにルーティングします。API の検証が完了した後、カナリーステージを本番ステージに昇格させます。
解説
正解は A です。カナリーリリースは、新バージョンの API を本番環境に段階的に導入し、トラフィックの一部(例:5%)のみを新バージョンにルーティングすることで、顧客への影響を最小限に抑え、問題発生時に迅速にロールバックできるため、要件(顧客への影響最小・データ損失最小)を最もよく満たします。B および C は「インポートして更新」操作ですが、マージモードでも上書きモードでも、既存の API 定義を変更・置き換えるため、意図しない動作や一時的なサービス中断を引き起こす可能性があり、またカスタムドメインや Route 53 設定との整合性を保証できません。D は、新しいエンドポイントとカスタムドメインを別途作成し、Route 53 を切り替える手法ですが、DNS の TTL やキャッシュにより切り替えに遅延が生じ、一時的なトラフィック分断やデータ損失のリスクがあります。したがって、A が最も安全かつ制御可能なリリース戦略です。