답변:
EC2 인스턴스는이 문서 작성 시점에 기본 IPv6를 지원하지 않지만 Amazon은 미국 동부 (버지니아 북부), EU (아일랜드), 아시아 태평양 (도쿄) 및 아시아 태평양 (싱가포르) Elastic Load Balancer에 IPv6을 구현했습니다. EC2 인스턴스와로드 밸런서를 사용하여 IPv6 컨텐츠를 사용 가능하게하는 방법을 설명하겠습니다.
ELB (Elastic Load Balancer) 설정
이미로드 밸런서를 사용하고 있다고 가정하겠습니다. (하나를 설정하려면 Elastic Load Balancer 개발자 안내서 ( http://awsdocs.s3.amazonaws.com/ElasticLoadBalancing/latest/elb-dg.pdf ) 의 지침을 따르십시오 ).
하단 패널에 자세한 정보가 표시되도록 ELB 항목 옆에 확인 표시를하십시오. ELB의 이중 스택 이름을 기록하십시오. dualstack.new-balancer-751654286.us-east-1.elb.amazonaws.com과 같은 이름입니다.
DNS 테스트
dig 또는 nslookup을 사용하여 이중 스택 ELB DNS 이름을 사용하여 A (IPv4) 및 AAAA (IPv6) 레코드를 얻었는지 확인하십시오. 이러한 명령 줄 도구에 익숙하지 않은 경우 http://www.kloth.net/services/dig.php 와 같은 웹 기반 도구를 사용 하십시오 .
도메인의 CNAME 만들기
잠재적 인 생산 중단을 피하기 위해 폐기 도메인에서 테스트하는 것이 좋습니다. www.example.com의 CNAME은 이중 스택 ELB 이름을 가리켜 야합니다.
확인
IPv6 연결 호스트에서 www.example.com을 방문하십시오. 또는 http://ipv6-test.com/validate.php 를 사용 하여 사이트에 대한 IPv6 연결을 테스트 할 수 있습니다.
EC2에는 IPv6을 사용할 수 없습니다 (2013 년 9 월 현재). 그러나 ELB에 사용할 수 있습니다. 따라서 ELB를 일종의 IPv4 게이트웨이로 사용할 수 있지만 아직 EC2 인스턴스에 IPv6 주소를 할당 할 수는 없습니다.
"가까운 미래"(그것이 무엇이든간에)에 이것이 변할 수 있다는 대화가 있습니다.
CloudFlare CDN을 통해 사이트를 프록시하여 IPv6 (및 기타 이점)을 사용하여 사이트를 사용할 수 있습니다.
Tunnelbroker 에서 무료 IPv6 터널을 얻을 수 있습니다 . EC2와 잘 작동합니다. 나는 그것을 테스트했습니다.
IPv6는 현재 일반적으로 사용 가능
우리는 Elastic Load Balancing, AWS IoT, AWS Direct Connect, Amazon Route 53, Amazon CloudFront, AWS WAF 및 S3 Transfer Acceleration을 시작으로 지난 몇 년 동안 AWS의 여러 다른 부분에 IPv6 지원을 추가하기 위해 노력해 왔습니다. 모두 지난 달에 Virtual Private Clouds (미국 동부 (오하이오) 리전에서 사용할 수 있음)에서 EC2 인스턴스에 대한 IPv6 지원 발표에 도달했습니다.
오늘 저는 VPC의 EC2 인스턴스에 대한 IPv6 지원이 이제 총 15 개의 리전에서 제공되고 9 개의 리전에서 IPv6에 대한 Application Load Balancer 지원이 제공된다는 소식을 알려드립니다.
AWS EC2 인스턴스는 여전히 RFC1918 IPv4 주소 공간을 수신하지만 ELB 뒤에 웹 서비스가있는 경우 이중 IPv4 / IPv6 및 IPv6 액세스 만 제공하는 ELB 인스턴스에 대한 접두어 dualstack
및 ipv6
호스트 이름이 있습니다. ELB와 EC2 인스턴스 간의 통신은 여전히 IPv4로 유지되지만 IPv6을 통해 연결하는 클라이언트는 특별히 호스팅하는 웹 응용 프로그램이 IPv6 주소를 찾지 않으면 다른 점이 없습니다.
우리의 마지막 목표는 Python Django 애플리케이션을 Linode 서버에서 Amazon EC2-VPC로 마이그레이션하는 것이 었습니다. 처음에 EC2 인스턴스에 대한 인터넷을 통해 많은 정보를 읽었으며 EC2 VPC가 현재 IPv6을 지원하지 않는 것을 알 수 있습니다.
그렇습니다. ELB 및 EC2-Classic에서 가능할 수도 있지만 Amazon에서 EC2-Classic에 요구 한 새로운 기능 때문에 EC2-Classic을 설정할 수 없습니다. AWS 인프라 및 RDS 데이터베이스 스타일을 좋아하기 때문에 큰 문제가되었지만 애플리케이션에서 IPv6를 가져와야합니다.
사고 후 우리는 이미 IPv6을 지원하는 Linode 서버를 프록시로 만들기로 결정했습니다. Linode의 nginx 구성에서 포트 9099의 EC2-VPC Django 응용 프로그램에 대한 모든 트래픽을 프록시 처리하고 EC2-VPC에서 정적 정보를 얻습니다.
location /static/ {
proxy_pass http://--AWS_IP--/s6/;
}
location /media/ {
proxy_pass http://--AWS_IP--/m6/;
}
location / {
proxy_pass http://--AWS_IP--:9099/;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 4000;
}
EC2-VPC에서는 포트 9099에서 Django 애플리케이션을 만들고 외부에서 액세스 할 수 있도록합니다. 또한 Amazon Console에서도 포트 9099에서 외부에서도 액세스 할 수 있습니다. Linode nginx가 여기에 트래픽을 보낼 수 있어야하기 때문입니다. 또한 nginx를 통해 EC2-VPC에서 Linode로 정적 및 미디어를 보내는 것을 잊지 마십시오.
location /s6/ {
alias /home/django/static/;
}
location /m6/ {
alias /home/django/media/;
}
마지막으로 AAAA DNS 레코드를 Linode 서버로, DNS 레코드를 EC2-VPC로 가리키면 모두 제대로 작동합니다. 모든 트래픽은 X-Real-IP 헤더에 저장된 실제 IP 인 EC2-VPC로 전달됩니다. 실제로 Linode 서버는 다른 응용 프로그램이없는 경우 프록시로 만드는 데 비용이 많이들 수 있습니다. 따라서 프록시 기능과 IPv6을 지원하는 모든 서버를 사용할 수 있습니다.
내 원래 게시물 : Amazon Ec2 Vpc에서 Ipv6 트래픽 수신