Comment rendre mon serveur Web accessible via IPv6 sur la plateforme AWS?

15

Le site Web de mon entreprise utilise la plateforme AWS. Je souhaite que les visiteurs du site puissent accéder à mon contenu en utilisant le protocole IPv6. Comment puis-je ajouter une adresse IPv6?

Jeff Loughridge
la source

Réponses:

12

Bien que les instances EC2 ne soient pas compatibles IPv6 natives à ce jour, Amazon a implémenté IPv6 pour ses États-Unis (Virginie du Nord), UE (Irlande), Asie-Pacifique (Tokyo) et Asie-Pacifique (Singapour) Elastic Load Balancers. Je vais vous montrer comment rendre le contenu IPv6 disponible à l'aide d'instances EC2 et d'un équilibreur de charge.

Configuration d'Elastic Load Balancer (ELB)

Je suppose que vous utilisez déjà un équilibreur de charge. (Si vous souhaitez en configurer un, suivez les instructions du Guide du développeur d'Elastic Load Balancer sur http://awsdocs.s3.amazonaws.com/ElasticLoadBalancing/latest/elb-dg.pdf ).

Cochez à côté de l'entrée ELB afin que des informations détaillées apparaissent dans le panneau inférieur. Notez le nom de votre double pile pour votre ELB. Il ressemblera à un nom comme dualstack.new-balancer-751654286.us-east-1.elb.amazonaws.com.

Test DNS

Utilisez dig ou nslookup pour vérifier que vous obtenez des enregistrements A (IPv4) et AAAA (IPv6) en utilisant le nom DNS ELB à double pile. Si vous n'êtes pas à l'aise avec ces outils de ligne de commande, utilisez une fouille basée sur le Web telle que celle à http://www.kloth.net/services/dig.php .

Créez des CNAME pour votre domaine

Je recommande de tester sur un domaine jetable pour éviter les pannes de production potentielles. Le CNAME pour www.example.com doit pointer vers le nom ELB à double pile.

Vérification

Visitez www.example.com à partir d'un hôte connecté IPv6. Alternativement, vous pouvez utiliser http://ipv6-test.com/validate.php pour tester la connectivité IPv6 à votre site.

Jeff Loughridge
la source
8

IPv6 n'est pas disponible (à partir de septembre 2013) pour EC2; cependant, il est disponible pour ELB. Vous pouvez donc utiliser ELB comme une sorte de passerelle IPv4 , mais vous ne pouvez pas encore attribuer d'adresses IPv6 aux instances EC2.

Il y a des bavardages que cela pourrait changer dans un "avenir proche" (quoi que cela signifie).

Chris S
la source
2
Malheureusement toujours pas disponible sur les instances EC2 ou VPC. :(
Martijn Heemels
Il n'est toujours pas disponible! :( Douleur lorsque vous devez prendre en charge l'appareil Apple
Keerthivasan
6

Vous pouvez rendre le site disponible avec IPv6 (et certains autres avantages) en procurant un proxy à votre site via CloudFlare CDN.

Marcus Downing
la source
Intéressant. Je ne savais pas que Cloudflare avait une passerelle IPv6 automatique. Merci pour l'astuce, Marcus.
Jeff Loughridge
1

Vous pouvez obtenir un tunnel IPv6 gratuit auprès de Tunnelbroker . Cela fonctionne bien avec EC2. Je l'ai testé.

Pierre
la source
4
"fonctionne bien" est une phrase assez subjective.
Chris S
Cela fonctionne, la communication entre et sort, rapide, fiable. Que voulez-vous de plus?
Stone
Détails sur les conditions de fonctionnement, par exemple la charge. Un VPS de style "lowendbox" peut "bien fonctionner" pour certaines personnes, mais pas pour d'autres. La géolocalisation peut également être pertinente. Beaucoup, beaucoup de variables qui influencent ce qui pourrait ou ne pourrait pas fonctionner pour vous. (Je peux imaginer qu'il y a aussi un désaccord si "rapide" implique une latence ou une bande passante ou les deux.)
Cornelius
J'ai créé le tunnel, j'ai obtenu une adresse client ipv6 pour ec2 qui est connectée au courtier. Cependant, je n'ai pas pu y accéder depuis Internet. Je ne sais pas si je ne fais pas quelque chose de mal. mais, je peux accéder à l'application dans ec2. Encore une chose, je vois que la connectivité ipv6 des paramètres de l'adaptateur réseau est définie sur aucun réseau , IPv4 est seul connecté à Internet
Keerthivasan
1

IPv6 désormais disponible

Nous avons travaillé pour ajouter la prise en charge IPv6 à de nombreuses parties différentes d'AWS au cours des deux dernières années, en commençant par Elastic Load Balancing, AWS IoT, AWS Direct Connect, Amazon Route 53, Amazon CloudFront, AWS WAF et S3 Transfer Acceleration, tout cela jusqu'à l'annonce, le mois dernier, de la prise en charge d'IPv6 pour les instances EC2 dans les clouds privés virtuels (initialement disponible pour une utilisation dans la région USA Est (Ohio)).

Aujourd'hui, je suis heureux de partager la nouvelle que la prise en charge IPv6 pour les instances EC2 dans les VPC est désormais disponible dans un total de quinze régions, ainsi que la prise en charge d'Application Load Balancer pour IPv6 dans neuf de ces régions.

par Jeff Barr le 25 janvier 2017

Felipe Alvarez
la source
0

L'instance AWS EC2 reçoit toujours l'espace d'adressage RFC1918 IPv4 mais si vous avez le service Web derrière un ELB, il y a les noms d'hôte dualstacket ipv6préfixés pour l'instance ELB qui fournissent un double accès IPv4 / IPv6 et uniquement IPv6. La communication entre l'ELB et l'instance EC2 restera toujours IPv4 mais le client se connectant via IPv6 ne verra rien de différent à moins que l'application Web que vous hébergez ne recherche spécifiquement l'adresse IPv6.

Jeremy Bouse
la source
J'ajouterais que vous voudrez probablement configurer votre serveur Web pour examiner la valeur X-Forwarded-For pour voir quels visiteurs utilisent IPv6 pour accéder à votre site.
Jeff Loughridge
1
Oui, il existe plusieurs modules (mod_rpaf & mod_extract_forwarded) pour aider à cela, ainsi que les changements dans les dernières versions d'Apache2 (mod_remoteip) qui rendront cela beaucoup plus facile. Pas seulement avec IPv6 mais avec AWS ELB en général.
Jeremy Bouse
0

La dernière fois, notre objectif était de migrer l'application Python Django du serveur Linode vers Amazon EC2-VPC. Au début, j'ai lu beaucoup d'informations sur Internet sur les instances EC2 et j'ai remarqué qu'EC2 VPC ne prend pas en charge IPv6 pour le moment.

Oui, nous savons que cela peut être possible avec ELB et EC2-Classic, mais nous n'avons pas la possibilité de configurer EC2-Classic, car notre compte plus récent que celui requis par Amazon pour EC2-Classic. C'était un gros problème, car nous aimons les infrastructures AWS et le style de base de données RDS, mais nous devons obtenir IPv6 dans notre application.

Après un certain temps de réflexion, nous décidons de faire du serveur Linode, qui prend déjà en charge IPv6, comme proxy. Dans notre configuration nginx sur Linode, nous mandatons tout le trafic vers l'application Django EC2-VPC sur le port 9099 et nous obtenons également de l'électricité statique à partir de l'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;
    }

Dans notre EC2-VPC, nous rendons notre application Django sur le port 9099 et la rendons accessible externe, également sur la console Amazon, nous autorisons le port 9099 accessible externe également, car nous avons besoin que notre Linode nginx puisse envoyer du trafic ici. N'oubliez pas non plus d'envoyer des éléments statiques et multimédias d'EC2-VPC à Linode, par nginx:

    location /s6/ {
            alias /home/django/static/;
    }
    location /m6/ {
            alias /home/django/media/;
    }

Enfin, nous pointons l'enregistrement DNS AAAA vers le serveur Linode et un enregistrement DNS vers l'EC2-VPC, et tout fonctionne bien. Tout le trafic provient de EC2-VPC, Real IP stocké dans l'en-tête X-Real-IP. En fait, je pense que le serveur Linode peut être coûteux à faire en tant que proxy si vous n'avez aucune autre application dessus. Il est donc possible d'utiliser n'importe quel serveur doté d'une fonction proxy et d'une prise en charge IPv6 bien sûr.

Mon message d'origine: recevoir du trafic Ipv6 sur Amazon Ec2 Vpc

Anatolii Chmykhalo
la source
Cela va être à latence élevée et est incroyablement compliqué par rapport à la simple mise en place d'un ELB devant le serveur.
ceejayoz
1
@ceejayoz il n'y a aucun moyen de recevoir le trafic IPv6 d'ELB sur EC2-VPC, juste EC2-Classic, mais maintenant EC2-Classic a des restrictions à créer et aucune option pour beaucoup de gens.
Anatolii Chmykhalo
Quelqu'un qui a mis moins à mon poste peut-il expliquer pourquoi vous l'avez fait? Si c'est possible avec ELB, veuillez joindre une preuve
Anatolii Chmykhalo
Personne ne décrit ni n'apporte de preuves, je suis très déçu de ce comportement ..
Anatolii Chmykhalo