0
0

【AWS】CloudFrontとALB間での502エラー

Last updated at Posted at 2024-03-27

はじめに:

CloudFrontとALB間で502エラーが出てWebページのURLにアクセスしても、正しく表示されなかったことについて書きたいと思います。

問題の説明:

  • AWSのネットワーク構成は、Route53でドメイン取得して、CloudFront(CDN)→ALB(負荷分散、プロキシ)→ECS Fargateコンテナ(フロント、バックエンド)と接続する構成
  • ブラウザでALBのDNS名にアクセスすると、アプリのトップページは表示される
  • Route53で登録したドメインをCloudFrontのカスタムドメインに設定
  • Route53でALBのDNS名にルーティングしたalb.***.comというサブドメインをAレコードで登録

これらの状況で登録したドメインにブラウザでアクセスすると以下のように502エラーが発生

スクリーンショット 2024-03-27 22.03.32.png

エラーメッセージから、CloudFront周りがうまく行っていないんだろうなぁということが推察されました。

原因と解決方法:

色々と調べる中、AWS公式の502エラーの説明を見ると

  • CloudFrontのオリジンに正しくALBのドメインが当たっていない
  • ACM証明書のドメインとCloudFrontのドメインが一致していない
  • ACM証明書がALBに適切に当たっていない
  • ACM証明書の期限が切れている
    などが考えられることが書かれていました。

1つずつ要因を探っていくと、結果的にALBにホストドメインの証明書が正しく当たっていなかったことが原因でした。
サブドメインの証明書が当たっているだけで、肝心のホストドメインの証明書がついていませんでした。

ALBに複数ドメインを設定する場合は、デフォルト証明書以外にもSNIのリスナー証明書に追加する必要がありました。
ただホストとサブ一緒に発行していれば、見落とすことはなかったので、基本的にホストとサブは同じ証明書で発行するのが良いかと思いました。

スクリーンショット 2024-03-27 22.24.55.png

参考資料:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0