1 つまたは複数の Amazon CloudFront ディストリビューションに CNAME エイリアスを追加しようとすると、次のようなエラーが表示されます。
Status Code: 409; Error Code: CNAMEAlreadyExists; Request ID:a123456b-c78d-90e1-23f4-gh5i67890jkl
この CNAMEAlreadyExists (CNAME はすでに存在する) エラーが発生するのは、追加を試みる CNAME エイリアスが、既に別の CloudFront ディストリビューションに関連付けられている場合です。CloudFront では、同じエイリアスを複数のディストリビューションに関連付けることは許されていません。複数のディストリビューションに同じ CNAME エイリアスを使用することはできません。
この問題を解決するために、まず、DNS プロバイダーに以下の形式の TXT レコードの作成を指示します。
<CNAME alias> TXT <CloudFront distribution name>
たとえば、d123.cloudfront.net という名前の CloudFront ディストリビューションに CNAME エイリアス example.com を追加する場合、DNS プロバイダーには、以下の TXT レコードの作成を指示します。
example.com TXT d123.cloudfront.net
注意: DNS プロバイダーが作成する CNAME レコードは、DNS を通じて伝達されるまでに最大で 5 営業日を必要とします。
レコードが作成された後、AWS サポートに連絡して、AWS に DNS ドメイン名の所有権を確認するように依頼し、CNAME エイリアスをディストリビューションに確実に追加できるようにします。AWS サポートとのケースの中で、CNAMEAlreadyExists エラーメッセージのコピーを必ず提供してください。
注意: AWS サポートは、同じ CNAME を複数のディストリビューションに関連付けることはできません。AWS サポートの支援は、2 つのディストリビューションの間で CNAME を切り替えるか、またはディストリビューションから CNAME を削除することに限られます。
DNS プロバイダーが同じ TXT レコードと CNAME レコードを許可しない場合は、TXT レコードの CNAME エイリアスの前にアンダースコアを追加することを検討します。たとえば、次の TXT レコードと CNAME レコードは同一です。
cname.example.com. 900 IN TXT "dexample123456.cloudfront.net" cname.example.com. 900 IN CNAME "dexample123456.cloudfront.net"
最初のエントリーの前にアンダースコアがあるため、TXT レコードと CNAME レコードは異なります。
_cname.example.com. 900 IN TXT "dexample123456.cloudfront.net" cname.example.com. 900 IN CNAME "dexample123456.cloudfront.net"