あるチームは API Gateway + Lambda で構築した REST API に HTTPS を強制したいと考えています。HTTP でアクセスしてきたクライアントを HTTPS にリダイレクトしつつ、証明書の管理を AWS に任せたいというニーズがあります。最小構成で実現するには何が必要ですか?
- A. EC2 上に Nginx を置いて HTTP を HTTPS にリダイレクトする設定を追加する
- B. Lambda 関数内でリクエストのプロトコルを確認し HTTP なら 301 レスポンスを返す
- C. API Gateway はデフォルトで HTTPS のみ対応しており HTTP アクセスは自動的に拒否されるため追加設定は不要である
- D. API Gateway のカスタムドメインに ACM(AWS Certificate Manager)証明書をアタッチし HTTP を無効化する
解答と解説を見る
正解: C
API Gateway のデフォルトエンドポイント(execute-api.amazonaws.com)は HTTPS のみをサポートしており、HTTP アクセスは受け付けません。ACM 証明書も自動的に管理されます。カスタムドメインを使う場合でも ACM 証明書をアタッチするだけで証明書管理は AWS が行います。D はカスタムドメイン設定は別途必要ですが HTTP を明示的に「無効化」するという設定項目は API Gateway にはなく、デフォルトで HTTPS のみです。A は Nginx を間に挟む構成は不要で運用負荷が増加します。B は Lambda でリダイレクト処理を書くのは API Gateway 自体の特性を理解していない過剰実装です。
📚 関連サービスの解説: Amazon API Gateway