EC2 : 인스턴스의 퍼블릭 DNS가 안정적입니까? 변하지 않는 것에 의지 할 수 있습니까?


41

첫 번째 인스턴스를 시작했으며 웹 서버로 사용하고 있습니다. 공개 DNS (공개 URL)가 있음을 알 수 있습니다.

ec2-123-45-6-789.compute-1.amazonaws.com

브라우저 에서이 서버로 성공적으로 갈 수 있고 cURL 등을 통해 서버에 연결할 수 있습니다.

이 웹 서버를 빌드중인 앱의 백엔드 서비스에 사용하려고하므로이 URL을 앱 구성에 배치하면 훌륭하게 작동합니다.

그러나 인스턴스를 수동으로 중지했다가 다시 시작하면 퍼블릭 DNS가 변경되는 것을 볼 수 있습니다! 이 작업은 명시 적으로 중지했다가 다시 시작할 때 발생하지만 "재부팅"하는 경우에는 발생하지 않습니다.

이 서버를 명시 적으로 중지했다가 다시 시작할 계획은 없지만 내 질문은 이 퍼블릭 DNS가 어떤 이유로 든 자체적으로 변경됩니까? 예를 들어 기계가 비정상적으로 충돌하는 경우

즉,이 URL에 연결된 앱을 제공하는 것이 안전합니까?

답변:


67

퍼블릭 DNS 이름은 항상 퍼블릭 IP 주소와 일치합니다.

퍼블릭 IP 주소는 종료 또는 중지 될 때까지 인스턴스에 대해 동일하게 유지됩니다. 재부팅해도 퍼블릭 IP 주소는 변경되지 않습니다.

EC2 인스턴스가 VPC에 있으면 중지 및 시작시 동일한 퍼블릭 IP 주소를 유지합니다.

VPC에없는 EC2 인스턴스가 중지되었다가 다시 시작되면 다른 퍼블릭 IP 주소가 수신 될 수 있습니다.

인스턴스가 실패 할 수 있습니다. 장애가 발생하거나 종료 된 인스턴스를 교체하기 위해 새 인스턴스를 시작하면 다른 퍼블릭 IP 주소가 수신 될 수 있습니다.

인스턴스가 실패 할 수 있고 인스턴스의 크기를 변경 (중지 / 시작) 할 수 있기 때문에 "[공용 IP 주소]에 연결된 앱을 제공 (또는 DNS 이름)"하지 않는 것이 좋습니다. 인스턴스가 중지 / 종료 / 실패하면 다른 사용자가 해당 IP 주소를 인스턴스에 할당하여 모든 트래픽이 해당 인스턴스로 이동합니다.

퍼블릭 서비스를 인스턴스와 연결하려면 탄력적 IP 주소를 사용하는 것이 좋습니다. 탄력적 IP 주소를 유지하면 중지 / 시작 후 동일한 인스턴스 인 경우에도 시간이 지남에 따라 원하는 인스턴스에 할당 할 수 있습니다.

각 탄력적 IP 주소에는 퍼블릭 DNS 이름이 제공되지만, 이름이 사람에게 더 잘 맞도록 자신의 호스트 이름을 탄력적 IP 주소에 매핑하는 것이 좋습니다.

탄력적 IP 주소에 대한 가이드는 다음과 같습니다.

http://aws.amazon.com/articles/1346

다음은 인스턴스 재부팅과 중지 / 시작의 차이점에 대해 설명하는 기사입니다.

Amazon EC2 인스턴스의 재부팅 및 중지 / 시작
http://alestic.com/2011/09/ec2-reboot-stop-start

오늘 내가 생각하지 않더라도 인스턴스를 중지 / 시작하려는 이유를 제공하는 기사는 다음과 같습니다.

EC2 인스턴스를 더 큰 크기로 이동
http://alestic.com/2011/02/ec2-change-type


정보 당 ec2 인스턴스를 재부팅하고 공개 DNS가 새로운 IP로 변경되었음을 발견했습니다. 어쩌면 인스턴스가 충돌했을 수도 있지만 확실하지 않습니다.
니콜라스 만지니

Amazon은 탄력적 IP를로드 밸런서에 사용하는 것이 좋습니다. 따라서 ec2 인스턴스에 프라이빗 서비스가있는 경우 수동으로 IP를 업데이트해야합니다. docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
Jesse

@Jesse ELB (Elastic Load Balancer)는 탄력적 IP 주소를 사용하지 않습니다. 실제로 ELB는 IP 주소를 항상 변경하며 영구적으로 사용할 수 없습니다. 탄력적 IP는 EC2 인스턴스에 적용되므로 원래 질문에 정확히 필요한 것입니다.
Eric Hammond
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.