【正解】C
【0からの解説】
「URL を変えずに本番トラフィックの一部だけで新コードをテストする」=カナリアリリースの典型シナリオです。API Gateway のカナリアリリースは、既存の本番ステージ上で新しいデプロイを「カナリア」として配置し、指定した割合のトラフィックだけを新しいバージョンに流せます。残りは従来どおり処理されるため、同一の Invoke URL のまま段階的に検証できます。
Lambda 側では「エイリアス」を使って API Gateway から参照する向き先を安定させるのが定石です。エイリアスは特定のバージョンを指す名前付きポインタで、API Gateway はエイリアスを参照しておけば、Lambda の新コードを発行してエイリアスを切り替えるだけで向き先を更新できます。選択肢 C はエイリアスとカナリアリリースを組み合わせており、URL を変えずに少量トラフィックで本番テストする要件を満たします。
【誤りの選択肢】
A:カナリアリリースには言及していますが、エイリアスではなく関数バージョンを直接参照しており、$LATEST との行き来も整合せず、エイリアスを使う本来のベストプラクティスから外れています。
B:カナリアリリースを使わず「新しいステージをデプロイ」しています。新しいステージは別の Invoke URL を持つため、「URL を変更しない」という要件に反します。
D:カナリアリリースを使わず本番ステージにそのまま全面デプロイしています。これでは一部トラフィックだけでテストする要件を満たせません。
【参考】
API Gateway のカナリアリリースデプロイLambda エイリアス