Obsługa IPv6 lub alternatywa dla instancji aws vpc

14

Niedawno Apple narzuciło obsługę IPv6 jako obowiązkową dla wszystkich dostawców, którzy używają jej mobilnego interfejsu API, a aws vpc nie zapewnia obsługi IPv6. Jak mogę to osiągnąć? Sprawdziłem https://aws.amazon.com/blogs/aws/elastic-load-balancing-ipv6-zone-apex-support-additional-security/jednak, nie jestem pewien, co robić.

Potrzebowałbym tutaj porady eksperta.

Shailesh Sutar
źródło
Czy korzystasz z AWS ELB przed instancjami AWS? Jeśli tak, powinieneś już mieć przekazywanie IPv6 przez ELB. dig -t aaaa your-elb-assigned-name.amazonaws.com
user4556274,
2
@ user4556274 v6 jest dostępny tylko na ELB spoza VPC. OP używa VPC, więc nie jest to dostępne.
EEAA
Tak, używam AWS ELB w instancjach aws z przodu, jednak używam niestandardowego VPC aws. Instancje są hostowane w vpc i chcę kierować tam ruch, który nie jest możliwy przy użyciu ELB wewnątrz vpc
Shailesh Sutar
3
Myślałem, że Apple narzuciło obsługę NAT64 / DNS64 jako obowiązkową i nadal możesz uzyskać dostęp do serwerów IPv4 w sieci NAT64 / DNS64 (choć nieoptymalnie)?
user253751,
1
Zobacz moją edycję poniżej. Tak, ELBs zrobić mieć adres v6, ale nie nadające się do ruchu.
EEAA,

Odpowiedzi:

16

Niestety AWS poważnie zaniedbuje znaczącą obsługę IPv6. Ich „rozwiązaniem”, jeśli można to tak nazwać, jest umieszczenie ELB spoza VPC przed aplikacją. Z wielu powodów jest to rozwiązanie nie do utrzymania w wielu przypadkach użycia.

Jako rozwiązanie zatrzymujące, taktyką, którą widziałem w wielu organizacjach, jest AAAAstawienie czoła VPS obsługującemu IPv6 u innego dostawcy, wskazanie tam rekordu, a następnie użycie haproxy lub innego podobnego pakietu oprogramowania do żądania proxy do infrastruktury IPv4. Tak, jest to naprawdę niezręczny i co prawda zepsuty sposób robienia rzeczy, ale dopóki AWS nie udostępni znaczącej obsługi IPv6, nie ma tylu innych opcji.

Edytować:

W odniesieniu do twierdzenia Craiga, że ​​wszystkie ELB (VPC lub inne) mają adresy IPv6. Tak, to prawda, ale w moich testach i rozmowach z innymi ekspertami AWS, ELB tak naprawdę nie nasłuchują na tych adresach IP dla ruchu. Domyślam się, że włączenie IPv6 na ELB, tak jak to zrobili, jest pierwszym krokiem do zaoferowania pełnego wsparcia IPv6 w pewnym momencie. Podejrzewam, że ogłoszą o tym podczas konferencji re: Invent w pierwszym tygodniu grudnia 2016 r. Lub tuż przed nią.

EEAA
źródło
ELPC VPC mają podwójne stosy. Zobacz moją odpowiedź.
Craig Watson,
@CraigWatson Nie wydają się słuchać adresu AAAA.
ceejayoz,
1
@ EEAA Rozumiem, że nie jest możliwe korzystanie z IPv6 przypisanych do tego punktu końcowego ELB, który otrzymujemy po jego wykopaniu. Dlatego nie może kierować ruchu przez adresy IPv6. Dlatego wróciliśmy do rozwiązania, które zaproponowałeś, używając zewnętrznego VPS, który obsługuje IPv6. Popraw mnie, jeśli się mylę.
Shailesh Sutar,
@ShaileshSutar Tak, wracając niestety do mojej oryginalnej sugestii.
EEAA,
1
Dostępna obsługa EC2 dla IPv6: aws.amazon.com/blogs/aws/…
dsadinoff
7

Możesz utworzyć rekordy IPv6 dla swojego ELB, przygotowując się ipv6.do publicznej nazwy hosta ELB.

Nazwy hostów i adresy IP zostały zredagowane, ponieważ są środowiskiem klienta - dzieje się to w regionie eu-west-1 w VPC innym niż domyślny.

craig@zeus:~$ dig AAAA ipv6.blah-0000000000.eu-west-1.elb.amazonaws.com +short
2a01:xxx:3::xxx:3314
2a01:xxx:3::xxx:ff14
2a01:xxx:3::xxx:7f20

craig@zeus:~$ dig A blah-0000000000.eu-west-1.elb.amazonaws.com +short
54.xxx.xxx.xxx
52.xxx.xxx.xxx
54.xxx.xxx.xxx

Pamiętaj, że możesz także użyć dualstackprzedrostka, aby zwrócić oba Ai AAAArekordy dla twojego ELB.

Craig Watson
źródło
Ciekawy. Czy to nowe zachowanie? Niezależnie od tego ELB nie są dobrym rozwiązaniem w wielu przypadkach użycia.
EEAA,
2
dualstackPrefiks zostało około roku dobry plus, ale nie jestem pewien, czy Amazon nawet jedno, aby aktualizować swoje dokumenty - KB nadal mówi, że IPv6 jest tylko dla EC2-Classic, która została zaniechana przez lata i aktywnie niepełnosprawnych na wszystkie konta utworzone po 4 grudnia 2013 r.
Craig Watson
1
To powiedziawszy, zgadzam się, że AWS wciąż nie jest w stanie zaoferować EIP IPv6 - mam nadzieję, że wkrótce, ale do tego czasu jedyną opcją jest użycie ELB.
Craig Watson,
2
Tak więc faktycznie się temu przyjrzałem i chociaż ELB mają adres v6, tak naprawdę nie słucha tego adresu, przynajmniej nie w moim przypadku.
EEAA,
Nie jestem tego pewien, ale czy można mieć klasyczną instancję Ec2 ELB ==> klasyczną Ec2. I skonfigurować HAProxy lub nginx jako moduł równoważenia obciążenia w instancji ec2-classic, aby kierować ruch do ELB VPC lub instancji?
Shailesh Sutar,
3

W us-east używam brokera tunelowego IPv6, aby zapewnić tunel IPv6, który umożliwia adresowanie instancji bezpośrednio za pomocą adresu IPv6. Ponieważ punkt obecności brokera tuneli jest lokalnie połączony z Amazonem, powoduje to jedynie około 1 ms opóźnienia.

Wadą jest to, że aby uzyskać IPv6 do innych instancji w podsieci, musisz skierować go sam (np. Z radvd).

Michael Hampton
źródło
lub bądź swoim własnym brokerem tunelowym dzięki VPS obsługującemu v6. Używam dwóch z nich dla dodatkowej redundancji.
Skaperen
@ Skaperen Możesz zrobić to sam, do pewnego momentu. Muszę jeszcze znaleźć dostawcę VPS, który da mi / 48.
Michael Hampton
Nie jestem tego pewien, ale czy można mieć klasyczną instancję Ec2 ELB ==> klasyczną Ec2. I skonfigurować HAProxy lub nginx jako moduł równoważenia obciążenia w instancji ec2-classic, aby kierować ruch do ELB VPC lub instancji?
Shailesh Sutar,
2

Umieść CloudFlare przed aplikacją. Akceptują żądania na IP6, ale kierują ruch do ELB IP4.

Tim
źródło