Prise en charge d'IPv6 ou alternative pour les instances aws vpc

14

Récemment, Apple a imposé la prise en charge IPv6 comme obligatoire pour tous ses fournisseurs qui utilisent son api mobile et aws vpc ne fournit pas de prise en charge IPv6. Comment puis-je atteindre cet objectif. J'ai vérifié https://aws.amazon.com/blogs/aws/elastic-load-balancing-ipv6-zone-apex-support-additional-security/mais je ne sais pas quoi faire.

J'aurais besoin de conseils d'experts ici.

Shailesh Sutar
la source
Utilisez-vous AWS ELB devant vos instances AWS? Si c'est le cas, vous devriez déjà avoir le transfert IPv6 via l'ELB. dig -t aaaa your-elb-assigned-name.amazonaws.com
user4556274
2
@ user4556274 v6 est uniquement disponible sur les ELB non VPC. L'OP utilise un VPC, ce n'est donc pas disponible.
EEAA
Oui, j'utilise AWS ELB dans les instances AWS avant, mais j'utilise un VPC AWS non par défaut. Les instances sont hébergées en vpc et je veux acheminer le trafic qui n'est pas possible en utilisant le vpc interne d'ELB
Shailesh Sutar
3
Je pensais qu'Apple imposait la prise en charge NAT64 / DNS64 comme obligatoire, et vous pouvez toujours accéder aux serveurs IPv4 sur un réseau NAT64 / DNS64 (quoique sous-optimal)?
user253751
1
Veuillez voir ma modification ci-dessous. Oui, ELB faire une adresse v6, mais ce n'est pas utilisable pour le trafic.
EEAA

Réponses:

16

Malheureusement, AWS a sérieusement négligé la prise en charge significative d'IPv6. Leur «solution», si vous pouvez l'appeler ainsi, est de lancer un ELB non VPC devant votre application. Pour de nombreuses raisons, il s'agit d'une solution non tenable pour de nombreux cas d'utilisation.

En guise de solution provisoire, la tactique que j'ai vue utilisée par plusieurs organisations consiste à mettre en place un VPS compatible IPv6 avec un autre fournisseur, à y pointer le AAAAdossier, puis à utiliser haproxy ou un autre package logiciel similaire pour proxy les requêtes vers votre infrastructure IPv4. Oui, c'est une façon de faire vraiment maladroite et certes brisée, mais tant qu'AWS ne publiera pas de prise en charge IPv6 significative, il n'y aura pas beaucoup d'autres options.

Éditer:

Concernant l'affirmation de Craig selon laquelle tous les ELB (VPC ou autres) ont des adresses IPv6. Oui, c'est exact, mais dans mes tests et dans les discussions avec d'autres experts AWS, les ELB n'écoutent pas réellement sur ces IP pour le trafic. Je suppose que l'activation d'IPv6 sur les ELB comme ils l'ont fait est une première étape vers la prise en charge complète d'IPv6 à un moment donné. Je soupçonne qu'ils feront une annonce à ce sujet pendant ou juste avant leur conférence re: Invent la première semaine de décembre 2016.

EEAA
la source
Les ELB VPC sont à double pile. Voir ma réponse.
Craig Watson
@CraigWatson Ils ne semblent pas écouter l'adresse AAAA.
ceejayoz
1
@EEAA Je comprends qu'il n'est pas possible d'utiliser les IPv6 attribués à ce point de terminaison ELB que nous obtenons lorsque nous le creusons. Et par conséquent, ne peut pas acheminer le trafic via des adresses IPv6. Nous revenons donc à la solution que vous proposiez d'utiliser un VPS tiers prenant en charge IPv6. Corrigez-moi si je me trompe.
Shailesh Sutar
@ShaileshSutar Yep, revenons malheureusement à ma suggestion d'origine.
EEAA
1
Prise en charge EC2 pour IPv6 disponible: aws.amazon.com/blogs/aws/…
dsadinoff
7

Vous pouvez créer des enregistrements IPv6 pour votre ELB en ajoutant ipv6.au nom d'hôte public de votre ELB.

Les noms d'hôte et les adresses IP ont été supprimés car il s'agit d'un environnement client - il s'agit de la région eu-west-1 dans un VPC non défini par défaut.

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

Notez que vous pouvez également utiliser le dualstackpréfixe pour renvoyer les deux Aet les AAAAenregistrements de votre ELB.

Craig Watson
la source
Intéressant. Est-ce un nouveau comportement? Quoi qu'il en soit, les ELB ne sont pas une solution viable pour de nombreux cas d'utilisation.
EEAA
2
Le dualstackpréfixe existe depuis une bonne année, mais je ne sais pas si Amazon a même pris la peine de mettre à jour ses documents - la base de connaissances dit toujours que IPv6 est uniquement pour EC2-Classic, qui est obsolète depuis des années et activement désactivé sur tous les comptes créés après le 4 décembre 2013.
Craig Watson
1
Cela dit, je suis d'accord que AWS est toujours en retard en n'offrant pas les EIP IPv6 - j'espère qu'ils le feront bientôt, mais jusque-là, la seule option est d'utiliser un ELB.
Craig Watson
2
Donc, j'ai réellement examiné cela, et même si les ELB ont une adresse v6, ils n'écoutent pas réellement sur cette adresse, du moins pas dans mon cas.
EEAA
Je ne suis pas sûr de cela, mais est-il possible d'avoir une instance ELB Ec2-classique ==> Ec2 classique. Et configurer HAProxy ou nginx comme équilibreur de charge sur une instance ec2-classic pour acheminer le trafic vers VPC ELB ou des instances?
Shailesh Sutar
3

Aux États-Unis, j'utilise un courtier de tunnel IPv6 pour fournir un tunnel IPv6 qui permet à l'instance d'être adressée directement à l'aide d'une adresse IPv6. Étant donné que le point de présence du courtier de tunnel est interconnecté à Amazon localement, cela ajoute seulement environ 1 ms de latence.

L'inconvénient est que, pour obtenir IPv6 vers d'autres instances du sous-réseau, vous devez le router vous-même (par exemple avec radvd).

Michael Hampton
la source
ou soyez votre propre tunnelier avec un VPS capable de v6. j'en utilise deux pour plus de redondance.
Skaperen
@Skaperen Vous pouvez le faire vous-même, jusqu'à un certain point. Je n'ai pas encore trouvé le fournisseur VPS qui me donnera un / 48.
Michael Hampton
Je ne suis pas sûr de cela, mais est-il possible d'avoir une instance ELB Ec2-classique ==> Ec2 classique. Et configurer HAProxy ou nginx comme équilibreur de charge sur une instance ec2-classic pour acheminer le trafic vers VPC ELB ou des instances?
Shailesh Sutar
2

Mettez CloudFlare devant votre application. Ils accepteront les demandes sur IP6 mais achemineront le trafic vers votre ELB IP4.

Tim
la source