¿Cómo puedo hacer que mi servidor web sea accesible a través de IPv6 en la plataforma AWS?


15

El sitio web de mi empresa utiliza la plataforma AWS. Quiero que los visitantes del sitio puedan acceder a mi contenido utilizando el protocolo IPv6. ¿Cómo puedo agregar una dirección IPv6?

Respuestas:


12

Aunque las instancias de EC2 no tienen capacidad nativa de IPv6 a partir de este escrito, Amazon ha implementado IPv6 para sus equilibradores de carga elásticos de EE. UU. (Virginia del Norte), UE (Irlanda), Asia Pacífico (Tokio) y Asia Pacífico (Singapur). Demostraré cómo hacer que el contenido de IPv6 esté disponible utilizando instancias EC2 y un equilibrador de carga.

Configuración de Elastic Load Balancer (ELB)

Asumiré que ya está utilizando un equilibrador de carga. (Si desea configurar uno, siga las instrucciones en la Guía del desarrollador de Elastic Load Balancer en http://awsdocs.s3.amazonaws.com/ElasticLoadBalancing/latest/elb-dg.pdf ).

Coloque una marca de verificación junto a la entrada ELB para que aparezca información detallada en el panel inferior. Escriba su nombre de pila doble para su ELB. Se parecerá a un nombre como dualstack.new-balancer-751654286.us-east-1.elb.amazonaws.com.

Prueba de DNS

Use dig o nslookup para verificar que obtiene registros A (IPv4) y AAAA (IPv6) utilizando el nombre DNS ELB de doble pila. Si no se siente cómodo con estas herramientas de línea de comandos, use una excavación basada en la web como la que se encuentra en http://www.kloth.net/services/dig.php .

Crea CNAME para tu dominio

Recomiendo probar en un dominio desechable para evitar posibles interrupciones de producción. El CNAME para www.example.com debe apuntar al nombre ELB de doble pila.

Verificación

Visite www.example.com desde un host conectado a IPv6. Alternativamente, puede usar http://ipv6-test.com/validate.php para probar la conectividad IPv6 a su sitio.


8

IPv6 no está disponible (a partir de septiembre de 2013) para EC2; Sin embargo, está disponible para ELB. Por lo tanto, puede usar ELB como una especie de puerta de enlace IPv4 , pero aún no puede asignar direcciones IPv6 a instancias EC2.

Se comenta que esto puede cambiar en el "futuro cercano" (lo que sea que eso signifique).


2
Todavía no está disponible directamente en instancias EC2 o VPC, desafortunadamente. :(
Martijn Heemels

¡Todavía no está disponible! :( Dolor cuando tienes que soportar el dispositivo de Apple
Keerthivasan

6

Puede hacer que el sitio esté disponible con IPv6 (y algunos otros beneficios) mediante la representación de su sitio a través de CloudFlare CDN.


Interesante. No sabía que Cloudflare tenía una puerta de enlace IPv6 automática. Gracias por el dato, Marcus.
Jeff Loughridge el

1

Puede obtener un túnel IPv6 gratuito de Tunnelbroker . Funciona bien con EC2. Lo he probado


44
"funciona bien" es una frase bastante subjetiva.
Chris S

Funciona, la comunicación entra y sale, rápido, confiable. ¿Qué más esperas más?
Stone

Detalles sobre las condiciones de funcionamiento, p. Ej. Carga. Un VPS de estilo "lowendbox" podría "funcionar bien" para algunas personas, pero no para otras. La ubicación geográfica también puede ser relevante. Muchas, muchas variables que influyen en lo que podría o no funcionar para usted. (Me imagino que también hay cierto desacuerdo si "rápido" implica latencia o ancho de banda o ambos.)
Cornelius

Creé el túnel, obtuve una dirección de cliente ipv6 para ec2 que está conectada al corredor. Sin embargo, no pude acceder a ella desde internet. No estoy seguro si no estoy haciendo algo mal. pero, puedo acceder a la aplicación dentro de ec2. Una cosa más, veo que la configuración del adaptador de red de conectividad ipv6 está configurada como sin red , IPv4 está solo conectado a internet
Keerthivasan

1

IPv6 ahora generalmente disponible

Hemos estado trabajando para agregar soporte IPv6 a muchas partes diferentes de AWS en los últimos años, comenzando con Elastic Load Balancing, AWS IoT, AWS Direct Connect, Amazon Route 53, Amazon CloudFront, AWS WAF y S3 Transfer Acceleration, todo ello hasta el anuncio del mes pasado de compatibilidad con IPv6 para instancias EC2 en nubes privadas virtuales (inicialmente disponible para su uso en la región este de EE. UU. (Ohio)).

Hoy me complace compartir la noticia de que el soporte de IPv6 para instancias EC2 en VPC ahora está disponible en un total de quince regiones, junto con el soporte de Application Load Balancer para IPv6 en nueve de esas regiones.

por Jeff Barr el 25 ENE 2017


0

Instancia AWS EC2 vuelve a recibir espacio de direcciones IPv4 RFC1918 pero si usted tiene el servicio web detrás de un ELB entonces no es el dualstacky ipv6nombres de host prefijadas para la instancia ELB que proporcionan acceso dual IPv4 / IPv6 y sólo IPv6. La comunicación entre el ELB y la instancia EC2 seguirá siendo IPv4, pero el cliente que se conecte a través de IPv6 no verá nada diferente a menos que la aplicación web que aloja busque específicamente la dirección IPv6.


Agregaría que es probable que desee configurar su servidor web para ver el valor X-Fordered-For para ver qué visitantes usan IPv6 para llegar a su sitio.
Jeff Loughridge el

1
Sí, hay varios módulos (mod_rpaf y mod_extract_forwards) para ayudar con eso junto con los cambios en las versiones más recientes de Apache2 (mod_remoteip) que realmente harán que esto sea mucho más fácil. No solo con IPv6 sino con AWS ELB en general.
Jeremy Bouse

0

La última vez nuestro objetivo fue migrar la aplicación Python Django del servidor Linode a Amazon EC2-VPC. Al principio, leí mucha información en Internet sobre instancias de EC2 y noté que la VPC de EC2 no es compatible con IPv6 en este momento.

Sí, sabemos que tal vez sea posible con ELB y EC2-Classic, pero no tenemos la capacidad de configurar EC2-Classic, porque es más nuevo que el requerido por Amazon para EC2-Classic. Fue un gran problema, porque nos gusta la infraestructura de AWS y el estilo de base de datos RDS, pero necesitamos obtener IPv6 en nuestra aplicación.

Después de pensarlo, decidimos hacer el servidor Linode, que ya tiene soporte IPv6, como proxy. En nuestra configuración nginx en Linode, enviamos todo el tráfico a la aplicación EC2-VPC Django en el puerto 9099 y también obtenemos estática del 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;
    }

En nuestro EC2-VPC, hacemos nuestra aplicación Django en el puerto 9099 y la hacemos accesible externamente, también en la consola Amazon también permitimos que el puerto 9099 sea accesible externamente, porque necesitamos que nuestro Linode nginx pueda enviar tráfico aquí. Además, no olvide enviar estática y medios desde EC2-VPC a Linode, por nginx:

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

Finalmente apuntamos el registro DNS AAAA al servidor Linode y el registro A DNS al EC2-VPC, y todo funciona bien. Todo el tráfico llega a EC2-VPC, IP real almacenada en el encabezado X-Real-IP. En realidad, creo que el servidor Linode puede ser costoso hacerlo como proxy si no tiene otras aplicaciones. Por lo tanto, es posible utilizar cualquier servidor que tenga una función de proxy y soporte IPv6, por supuesto.

Mi publicación original: Recibir tráfico Ipv6 en Amazon Ec2 Vpc


Esto será de alta latencia y es increíblemente complicado en comparación con solo colocar un ELB frente al servidor.
ceejayoz

1
@ceejayoz no hay forma de recibir tráfico IPv6 de ELB en EC2-VPC, solo EC2-Classic, pero ahora EC2-Classic tiene restricciones para crear y ninguna opción para muchas personas.
Anatolii Chmykhalo

¿Alguien que puso menos en mi publicación puede explicar por qué lo hiciste? Si es posible con ELB, adjunte prueba
Anatolii Chmykhalo

Todavía nadie describe o trae pruebas, estoy muy decepcionado con este comportamiento ..
Anatolii Chmykhalo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.