やりたかったこと
cloudfrontからalb間の通信をHTTPS通信にしたい。
しかし502エラーになってしまった。
原因
cloudfrontのオリジンドメインにalbのデフォルトのDNS名を入力していたが、証明書(*.example.com)と紐づいておらずHTTPS通信が出来なくて502エラーが返ってきてしまった。
解決方法
前提:
test.exampe.comでcloudfrontにアクセスしたい。
ドメイン名「example.com」はRoute53で取得している。
ACMは「*.example.com」で取得している
1,ホストゾーンレコードにAレコードでtest.exampe.comとcloudfrontディストリビューションドメイン名を設定する。(外部DNSの場合はCNAME)
2,Aレコードでalb.example.comとalbのデフォルトDNS名を設定する。(外部DNSの場合はCNAME)
3,ACMで*.example.comの証明書を取得して、cloudfrontとalbリスナーに証明書を入れる。
4,cloudfrontのオリジンドメイン名を「alb.example.com」に設定する。
まとめ
cloudfrontとalb間の名前解決について考慮する必要があることを学んだ。ドメインを外部で取得しているとより煩雑になるため理解しにくい。