Amazon に関する初心者の質問です。Amazon EC2 内に複数のサーバーベースの XMPP ejabberd をインストールしたいと考えています。おそらくクラスター内に、できればロード バランサーもインストールしたいと考えています。
最初に生じる疑問は DNS についてです。
登録済みのドメイン (例: example.com) があり、XMPP サーバー インスタンスは、たとえば xmpp1.example.com、xmpp2.example.com などです。
Amazon EC2 の技術ドキュメントを読んでいると、EC2 で実行されているすべてのインスタンスに外部 DNS 名と内部 DNS 名が 1 つずつあると書いてありますが、私の理解では、これは xmpp1.example、com などと一致する必要はありません。さらに、ドキュメントでは、これらの値は変更できないと強調されています。
さらに、XMPP では逆引き解決が必要であり、Amazon のドキュメントでは、逆引き検索では常に Amazon インスタンスの外部 DNS 名が得られるとされています。これは正しいですか?
では、どのような解決策があるのでしょうか? Amazon EC2 DNS 名で実行されているインスタンスをリンクするにはどうすればよいでしょうか? 逆の場合と同じように、両方の逆ゾーンが必要ですか? また、SRV レコードを含めるにはどうすればよいでしょうか?
インターネットには、弾力性のある固定 IP アドレスという概念があることも知りました。たとえば、ロード バランサー用に 2 つの IP を用意し、外部 DNS を使用して DNS 名を解決するといった解決策は考えられますか?
いずれにせよ、このインフラストラクチャが XMPP プロトコルにどのように対処し、それを満たすことができるかについては多くの疑問があります。
答え1
xmpp
Amazon のホスト名への CNAME レコードを使用するか、ホスト名を EC2 インスタンスにポイントする必要があります。
xmpp1.example.com. IN CNAME ec2-192-0-2-76.us-west-1.compute.amazonaws.com.
または、A レコードを使用して IP に直接アクセスします。
xmpp1.example.com. IN A 192.0.2.76
CNAME アプローチの利点は、名前を検索する他の EC2 インスタンスが内部 IP に解決されることです。SRV レコードは以前と同じままで、単に を指す必要がありますxmppN.example.com
。
Elastic IP を使用しない場合、インスタンスは起動するたびに異なる IP を取得します。毎回 DNS を更新するのが不可能な場合は、Elastic IP を使用する必要があります。
XMPPがPTRレコードを前方参照に一致させる必要があると聞いたことはありません。これは通常SMTPでのみ必要です。私はXMPPサーバーを運用したことがありますが、このケースには該当せず、問題はありませんでした。本当にこれをご希望の場合は、Amazonが許可します。Elastic IPの逆引きを設定するただし、これはメール サーバーを対象としているため、これが必要であることをサーバーに納得させる必要がある場合があります。