저는 많은 EC2 인스턴스를 가지고 있으며 각 인스턴스에는 현재 연결된 퍼블릭 IPv4 주소가 있습니다.
사례 | 공개 IP | DNS |
---|---|---|
juno |
7.8.9.10 |
ec2-1-2-3-4.compute-1.amazonaws.com |
ceres |
7.8.9.11 |
ec2-1-2-3-5.compute-1.amazonaws.com |
venus |
7.8.9.12 |
ec2-1-2-3-6.compute-1.amazonaws.com |
현재 다음과 같이 하위 도메인이 각 인스턴스를 가리키도록 DNS가 구성되어 있습니다.
하위 도메인 | CNAME |
---|---|
juno |
ec2-1-2-3-4.compute-1.amazonaws.com |
ceres |
ec2-1-2-3-5.compute-1.amazonaws.com |
venus |
ec2-1-2-3-6.compute-1.amazonaws.com |
여태까지는 그런대로 잘됐다. 이 설정이 작동합니다. 그러나 인스턴스당 하나의 공용 IPv4 주소가 필요하다는 단점이 있으며, 잘 알려진 바와 같이 IPv4 주소는 점점 부족해지고 사용 비용이 점점 더 비싸지고 있습니다.
이 서버 클러스터에서 사용되는 IPv4 주소 수를 줄이는 가장 좋은 방법은 무엇입니까?
답변1
ALB와 같은 역방향 프록시가 잘 작동합니다. 아마도 AZ당 하나의 공용 IP가 있을 수 있지만 여러 도메인의 트래픽을 허용하고 이를 올바른 인스턴스로 보낼 수 있습니다. Nginx 인스턴스를 사용할 수도 있지만 일반적으로 서버보다 서비스가 선호됩니다.
AWS에 호스팅되는 개인 도메인이 6개 있는데 IPv4 주소가 없습니다. 내 EC2 인스턴스에는 CloudFlare를 가리키는 도메인의 DNS인 IPv6 주소가 있습니다. CloudFlare는 IPv6을 통해 서버에 접속하고 IPv4를 통해 웹 사이트를 사용할 수 있도록 만듭니다. 저는 아무런 문제가 없었습니다. Nginx 구성을 작동시키려면 약간의 실험이 필요할 뿐입니다. 저는 개인 웹사이트에는 로드 밸런서를 사용하지 않습니다. 상업용 웹사이트에는 아마도 그렇게 할 것입니다.