構成
- CloudFront → ALB → EC2となっている
代替ドメインを設定しようとするとCNAMEAlreadyExistsExceptionと出る
原因
- CloudfrontのFQDNがRoute53でCNAMEで割り当てられているため起こっているみたい
- 該当するCNAMEレコードを削除する
- CNAMEではなくて、A(エイリアス)レコードで割り当てるのがよいっぽい
- ただそのためには、CloudFrontの設定をUseAllEdgeLocationにしないといけない
- それはバージニアリージョンでしか参照させることができないからみたい
- ただそのためには、CloudFrontの設定をUseAllEdgeLocationにしないといけない
502 The request could not be satisfied.
502 ERROR
The request could not be satisfied.
CloudFront wasn't able to connect to the origin. We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner.
If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation.
原因その1
- ALBに割り当てている証明書がエラーだったから
- ALBのカスタムドメイン名がCommonNameに含まれているものではなく、まったく一致していない別物を当てていたから
原因その2
- ALBを指定するOrigin Domain Nameが不適切だったというか、ALBの名前を指定していた
- ここの答えは、ALBのカスタムドメイン名を指定する
メモ
- CloudFrontとALBを連携させる場合、証明書は2つ必要になる
- ワイルドカード証明書でもいいかも
- 東京リージョンで作っている場合それとは別に、CloudFrontに割り当てるためにバージニアリージョンでも取得する必要がある
- ちなみにバージニアリージョンで取得する証明書はCloudFrontのAlias設定に割り当てる分必要