最近EC2に移行し、負荷分散にAmazonのelbを使い始めました。 DNSにCloudFlareを使用しているため、ドメインルートのcnameを使用できます。ただし、次のエラーのバリエーションでメールがバウンスしていると言われることがあります。
[email protected] ...延期:接続がour-production-loadbalancer.elb.amazonaws.comによって拒否されました。
メールにGoogleアプリを使用しており、MXレコードが適切に構成されているため、メールクライアントまたはサーバーがどの時点でドメインを解決しようとしてcnameレコードを受信するのかわかりません。
MXレコードが無視される理由を誰かが理解していますか?これはCNAMEを使用した結果ですか?メールも受け付けていないIPアドレスにAレコードをポイントした場合も同じことが起こるのではないかと思います。
ドメインをお持ちの場合example.invalid
:
; example.invalid
$TTL 604800
@ IN SOA ns1.example.invalid. root.example.invalid. (
2006020201 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800); Negative Cache TTL
;
@ IN NS ns1
IN MX 10 mail
IN CNAME anotherdomain.invalid
あなたが言っています:
ねえ、あなたは
example.invalid
が見つけられるどんなアドレスの下でもanotherdomain.invalid
を見つけることができます。 そして、ところで、example.invalid
のMXレコードSRVレコードやその他のものも、anotherdomain.invalid
が教えてくれるものです。つまり、example.invalid
に送信されたメールはanotherdomain.invalid
のMXレコードを使用します
参照:
CloudFlareのDNS設定でオレンジ色の雲でマークされたバランサーのCNAMEがあると思いますか?その場合は、ログインして、そのCNAMEレコードのクラウドをオレンジ色から灰色に変更する必要があります。
RFC1034§3.6.2による
If a CNAME RR is present at a node, no other data should be present; this
ensures that the data for a canonical name and its aliases cannot be different.
したがって、example.com
でCNAMEを構成している場合は、そこで構成した可能性のある唯一のレコードです。そのドメインに関連するすべてのレコードは、エイリアスの下にある必要があります。
例えば。 example.com IN CNAME acme.hosting-co.com
がある場合、NS、SOA、MXなどのレコードはすべてacme.hosting-so.com
の下にある必要があります。 example.com
の下にない可能性があります。
さらに、ドメインのMXレコードが見つからない場合は、最後の手段としてそのドメインのAレコードを試すことができます。したがって、適切に機能するMTAは、ドメインを検索し、CNAMEを見つけ、エイリアスを試し、そこでMXレコードを見つけられず、代わりにAレコード(この場合はロードバランサー)を試す必要があります。ロードバランサーは明らかに電子メールを受信できません。
失敗したMTAは実際には正しく動作しています。メールサーバーを見つけるMTAはそうではありません。