XMPP 인프라를 갖춘 Amazon EC2

XMPP 인프라를 갖춘 Amazon EC2

아마존 초보자 질문입니다. Amazon EC2 여러 서버 기반 XMPP ejabberd 내에 클러스터 내에 설치하고 가능하면 로드 밸런서를 사용하고 싶습니다.

발생하는 첫 번째 질문은 DNS에 관한 것입니다.

XMPP 서버 인스턴스(예: xmpp1.example.com, xmpp2.example.com 등)에 등록된 도메인(예: example.com)이 있습니다.

Amazon EC2의 기술 문서를 읽으면서 EC2에서 실행되는 모든 인스턴스에는 외부 DNS 이름과 내부 DNS 이름이 하나씩 있다는 것을 보았습니다. 그러나 제가 이해한 대로 이것이 xmpp1.example, com 등과 일치할 필요는 없습니다. 또한 문서에서는 이러한 값을 변경할 수 없다고 주장합니다.

또한 XMPP에는 역방향 확인이 필요하며 Amazon 문서에서는 역방향 조회를 수행하면 항상 Amazon 인스턴스의 외부 DNS 이름이 발생한다고 주장합니다. 이 올바른지?

그렇다면 어떤 해결책이 있습니까? Amazon EC2 DNS 이름에서 실행되는 인스턴스를 어떻게 연결할 수 있습니까? 반대 방향과 마찬가지로 두 반대 방향 영역이 모두 필요합니까? 또한 SRV 레코드를 어떻게 포함할 수 있나요?

나는 또한 인터넷에 탄력적인 고정 IP 주소라는 개념이 있다는 것을 보았습니다. 예를 들어 로드 밸런서용 IP가 2개 있고 일부 외부 DNS를 사용하여 DNS 이름을 확인할 수 있는 솔루션이 있습니까?

어쨌든, 이 인프라가 어떻게 XMPP 프로토콜을 다루고 충족할 수 있는지에 대해 많은 의구심을 갖고 있습니다.

답변1

xmppAmazon의 호스트 이름에 대한 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.

탄력적 IP를 사용하지 않으면 인스턴스는 시작될 때마다 다른 IP를 받게 됩니다. 이런 일이 발생할 때마다 DNS를 업데이트하는 것이 불가능하다면 탄력적 IP를 사용해야 합니다.

정방향 조회와 일치하기 위해 PTR 레코드를 요구하는 XMPP에 대해 들어본 적이 없습니다. 이는 일반적으로 SMTP에만 필요합니다. 나는 이런 일이 발생하지 않았고 어떤 문제도 발생하지 않은 XMPP 서버를 실행했습니다. 당신이 정말로 이것을 원한다면 아마존이 당신을 허락할 것입니다탄력적 IP에 대한 역방향 조회 구성, 그러나 이는 메일 서버용이므로 이것이 필요하다는 점을 메일 서버에 설득해야 할 수도 있습니다.

관련 정보