Веб-сайт моего бизнеса использует платформу AWS. Я хочу, чтобы посетители сайта могли получать доступ к моему контенту по протоколу IPv6. Как я могу добавить адрес IPv6?
Веб-сайт моего бизнеса использует платформу AWS. Я хочу, чтобы посетители сайта могли получать доступ к моему контенту по протоколу IPv6. Как я могу добавить адрес IPv6?
Ответы:
Хотя на момент написания этой статьи экземпляры EC2 не поддерживают нативный IPv6, Amazon внедрила IPv6 для своих эластичных балансировщиков нагрузки в восточной части США (Северная Вирджиния), ЕС (Ирландия), Азиатско-Тихоокеанском регионе (Токио) и Азиатско-Тихоокеанском регионе (Сингапур). Я продемонстрирую, как сделать контент IPv6 доступным, используя экземпляры EC2 и балансировщик нагрузки.
Эластичный балансировщик нагрузки (ELB)
Я предполагаю, что вы уже используете балансировщик нагрузки. (Если вы хотите его настроить, следуйте указаниям в Руководстве разработчика по Elastic Load Balancer по адресу http://awsdocs.s3.amazonaws.com/ElasticLoadBalancing/latest/elb-dg.pdf ).
Поставьте галочку рядом с записью ELB, чтобы подробная информация отображалась на нижней панели. Запишите ваше двойное имя стека для вашего ELB. Это будет напоминать имя типа dualstack.new-balancer-751654286.us-east-1.elb.amazonaws.com.
Тестирование DNS
Используйте dig или nslookup, чтобы убедиться, что вы получаете записи A (IPv4) и AAAA (IPv6), используя DNS-имя ELB с двумя стеками. Если вы не знакомы с этими инструментами командной строки, воспользуйтесь веб-копией, например, http://www.kloth.net/services/dig.php .
Создайте CNAME для своего домена
Я рекомендую тестировать на одноразовом домене, чтобы избежать возможных сбоев в работе. CNAME для www.example.com должен указывать на имя ELB с двумя стеками.
верификация
Посетите www.example.com с хоста, подключенного к IPv6. Кроме того, вы можете использовать http://ipv6-test.com/validate.php для проверки подключения IPv6 к вашему сайту.
IPv6 недоступен (по состоянию на сентябрь 2013 г.) для EC2; однако это доступно для ELB. Таким образом, вы можете использовать ELB в качестве своего рода шлюза IPv4 , но пока не можете назначать адреса IPv6 экземплярам EC2.
Существует болтовня, что это может измениться в «ближайшем будущем» (что бы это ни значило).
Вы можете сделать сайт доступным с IPv6 (и некоторыми другими преимуществами), проксируя свой сайт через CloudFlare CDN.
Вы можете получить бесплатный туннель IPv6 от Tunnelbroker . Хорошо работает с EC2. Я проверял это.
IPv6 теперь общедоступен
За последние пару лет мы работали над добавлением поддержки IPv6 во многие различные части AWS, начиная с Elastic Load Balancing, AWS IoT, AWS Direct Connect, Amazon Route 53, Amazon CloudFront, AWS WAF и S3 Transfer Acceleration, все они готовились к объявлению в прошлом месяце о поддержке IPv6 для экземпляров EC2 в виртуальных частных облаках (первоначально доступных для использования в восточном регионе США).
Сегодня я рад поделиться с вами новостью о том, что поддержка IPv6 для экземпляров EC2 в VPC теперь доступна в общей сложности в 15 регионах, наряду с поддержкой Application Load Balancer для IPv6 в девяти из этих регионов.
Экземпляр AWS EC2 по- прежнему получать RFC1918 адресное пространство IPv4 , но если у вас есть веб - сервис позади ELB то есть dualstack
и ipv6
приставочные имена хостов для экземпляра УДР , которые обеспечивают двойной IPv4 / IPv6 и только IPv6 доступ. Связь между ELB и экземпляром EC2 по-прежнему будет оставаться в виде IPv4, но клиент, подключающийся через IPv6, не увидит ничего другого, если веб-приложение, которое вы размещаете, специально не ищет адрес IPv6.
В прошлый раз нашей целью была миграция приложения Python Django с сервера Linode на Amazon EC2-VPC. Сначала я прочитал через Интернет много информации об экземплярах EC2 и заметил, что в настоящее время VP2 ECC не поддерживает IPv6.
Да, мы знаем, что это возможно с ELB и EC2-Classic, но у нас нет возможности настроить EC2-Classic, потому что наша система новее, что требуется Amazon для EC2-Classic. Это была большая проблема, потому что нам нравится инфраструктура AWS и стиль базы данных RDS, но нам нужно получить IPv6 в нашем приложении.
Поразмыслив, мы решили сделать Linode-сервер, который уже имеет поддержку IPv6, в качестве прокси. В нашей конфигурации nginx на Linode мы перенаправляем весь трафик в приложение Django EC2-VPC на порт 9099, а также получаем статический сигнал от 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;
}
В нашем EC2-VPC мы делаем наше приложение Django на порту 9099 и делаем его доступным внешним, также на консоли Amazon мы разрешаем порт 9099 также доступным внешним, потому что нам нужно, чтобы наш Linode nginx мог отправлять трафик сюда. Также не забудьте отправить статические и мультимедийные данные из EC2-VPC в Linode с помощью nginx:
location /s6/ {
alias /home/django/static/;
}
location /m6/ {
alias /home/django/media/;
}
Наконец, мы указываем запись DNS AAAA на сервер Linode и запись DNS на EC2-VPC, и все работает хорошо. Весь трафик поступает в EC2-VPC, Real IP, хранящийся в заголовке X-Real-IP. На самом деле, я думаю, что сервер Linode может быть дорогим, чтобы сделать его таким же прокси-сервером, если на нем нет других приложений. Таким образом, можно использовать любой сервер с прокси-функцией и поддержкой IPv6.
Мой оригинальный пост: получать трафик Ipv6 на Amazon Ec2 Vpc