Witryna mojej firmy korzysta z platformy AWS. Chcę, aby odwiedzający witrynę mogli dotrzeć do moich treści przy użyciu protokołu IPv6. Jak mogę dodać adres IPv6?
Witryna mojej firmy korzysta z platformy AWS. Chcę, aby odwiedzający witrynę mogli dotrzeć do moich treści przy użyciu protokołu IPv6. Jak mogę dodać adres IPv6?
Odpowiedzi:
Chociaż instancje EC2 nie są w tym momencie zgodne z natywną obsługą IPv6, Amazon wdrożył IPv6 w swoich modułach równoważenia obciążenia elastycznego w Stanach Zjednoczonych (Północna Wirginia), UE (Irlandia), Azja Pacyfik (Tokio) i Azja Pacyfik (Singapur). Pokażę, jak udostępnić zawartość IPv6 za pomocą instancji EC2 i modułu równoważenia obciążenia.
Konfiguracja modułu elastycznego równoważenia obciążenia (ELB)
Zakładam, że już używasz modułu równoważenia obciążenia. (Jeśli chcesz je skonfigurować, postępuj zgodnie ze wskazówkami w Przewodniku dla programistów modułu Elastic Load Balancer pod adresem http://awsdocs.s3.amazonaws.com/ElasticLoadBalancing/latest/elb-dg.pdf ).
Zaznacz pole obok wpisu ELB, aby szczegółowe informacje pojawiły się na dolnym panelu. Zapisz nazwę podwójnego stosu dla swojego ELB. Będzie przypominał nazwę typu dualstack.new-balancer-751654286.us-east-1.elb.amazonaws.com.
Testowanie DNS
Użyj dig lub nslookup, aby sprawdzić, czy otrzymujesz rekordy A (IPv4) i AAAA (IPv6) przy użyciu nazwy DNS ELB z dwoma stosami. Jeśli nie masz doświadczenia z tymi narzędziami wiersza poleceń, skorzystaj z internetowego wykopu, takiego jak http://www.kloth.net/services/dig.php .
Utwórz CNAME dla swojej domeny
Zalecam testowanie w domenie jednorazowej, aby uniknąć potencjalnych przerw w produkcji. Nazwa CNAME dla www.example.com powinna wskazywać nazwę ELB z dwoma stosami.
Weryfikacja
Wejdź na www.example.com z hosta podłączonego do IPv6. Alternatywnie możesz użyć http://ipv6-test.com/validate.php, aby przetestować łączność IPv6 z witryną.
IPv6 nie jest dostępny (od września 2013 r.) Dla EC2; jest jednak dostępny dla ELB. Możesz więc użyć ELB jako rodzaju bramy IPv4 , ale nie możesz jeszcze przypisać adresów IPv6 do instancji EC2.
Mówi się, że może się to zmienić w „najbliższej przyszłości” (cokolwiek to znaczy).
Możesz udostępnić witrynę za pomocą protokołu IPv6 (i kilka innych korzyści), udostępniając ją przez CloudFlare CDN.
Możesz uzyskać bezpłatny tunel IPv6 od Tunnelbroker . Działa dobrze z EC2. Przetestowałem to.
IPv6 jest teraz ogólnie dostępny
W ciągu ostatnich kilku lat pracowaliśmy nad dodaniem obsługi IPv6 do wielu różnych części AWS, zaczynając od elastycznego równoważenia obciążenia, AWS IoT, AWS Direct Connect, Amazon Route 53, Amazon CloudFront, AWS WAF i S3 Transfer Acceleration, wszystko to do momentu ogłoszenia w ubiegłym miesiącu wsparcia IPv6 dla instancji EC2 w wirtualnych chmurach prywatnych (początkowo dostępne do użytku w regionie wschodnim USA (Ohio)).
Dziś z przyjemnością dzielę się wiadomościami, że obsługa IPv6 dla instancji EC2 w VPC jest teraz dostępna w łącznie piętnastu regionach, a także obsługa modułu równoważenia obciążenia aplikacji dla IPv6 w dziewięciu z tych regionów.
Instancja AWS EC2 nadal odbiera przestrzeń adresową RFC1918 IPv4, ale jeśli masz usługę sieciową za ELB, to istnieją dualstack
i ipv6
prefiksowane nazwy hosta dla instancji ELB, które zapewniają podwójny dostęp IPv4 / IPv6 i tylko IPv6. Komunikacja między ELB a instancją EC2 nadal pozostanie jako IPv4, ale klient łączący się za pośrednictwem IPv6 nie zobaczy niczego innego, chyba że hostowana aplikacja sieciowa szuka adresu IPv6.
Ostatnim razem naszym celem była migracja aplikacji Python Django z serwera Linode do Amazon EC2-VPC. Na początku czytam przez Internet wiele informacji o instancjach EC2 i zauważam, że EC2 VPC obecnie nie obsługuje IPv6.
Tak, wiemy, że być może jest to możliwe w przypadku ELB i EC2-Classic, ale nie mamy możliwości skonfigurowania EC2-Classic, ponieważ nasze nowe wersje są wymagane przez Amazon dla EC2-Classic. To był duży problem, ponieważ lubimy infrastrukturę AWS i styl bazy danych RDS, ale musimy uzyskać IPv6 w naszej aplikacji.
Po chwili namysłu zdecydowaliśmy się na serwer Linode, który ma już obsługę IPv6, jako serwer proxy. W naszej konfiguracji nginx na Linode zastępujemy cały ruch do aplikacji Django EC2-VPC na porcie 9099, a także otrzymujemy dane statyczne z 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;
}
W naszym EC2-VPC tworzymy naszą aplikację Django na porcie 9099 i udostępniamy ją zewnętrznie, również w Amazon Console zezwalamy również na dostęp do portu 9099 zewnętrznie, ponieważ potrzebujemy, aby nasz Linode nginx mógł tutaj wysyłać ruch. Nie zapomnij również wysłać statycznego i medialnego z EC2-VPC do Linode, przez nginx:
location /s6/ {
alias /home/django/static/;
}
location /m6/ {
alias /home/django/media/;
}
Na koniec wskazujemy rekord DNSAAAA na serwer Linode, a rekord DNS na EC2-VPC i wszystko działa dobrze. Cały ruch przychodzi do EC2-VPC, Real IP przechowywany w nagłówku X-Real-IP. Właściwie uważam, że serwer Linode może być kosztowny, aby był tak samo proxy, jeśli nie masz na nim żadnych innych aplikacji. Możliwe jest więc użycie dowolnego serwera, który ma funkcję proxy i oczywiście obsługę IPv6.
Mój oryginalny post: Receive Ipv6 Traffic On Amazon Ec2 Vpc