Веб-сайт мого бізнесу використовує платформу AWS. Я хочу, щоб відвідувачі сайту могли отримати доступ до мого вмісту за допомогою протоколу IPv6. Як я можу додати IPv6 адресу?
Веб-сайт мого бізнесу використовує платформу AWS. Я хочу, щоб відвідувачі сайту могли отримати доступ до мого вмісту за допомогою протоколу IPv6. Як я можу додати IPv6 адресу?
Відповіді:
Незважаючи на те, що випадки EC2 не є власними IPv6, здатними до цього написання, Amazon впровадив IPv6 для своїх східних США (Північна Вірджинія), ЄС (Ірландія), Азіатсько-Тихоокеанський (Токіо) та Азіатсько-Тихоокеанський (Сінгапур) еластичні балансири навантаження. Я продемонструю, як зробити вміст IPv6 доступним за допомогою екземплярів EC2 та балансира навантаження.
Налаштування еластичного балансира навантаження (ELB)
Я припускаю, що ви вже використовуєте балансир навантаження. (Якщо ви хочете налаштувати його, дотримуйтесь вказівок у Посібнику розробника еластичного навантаження на веб-сторінці 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) за допомогою подвійного стека імені ELNS DNS. Якщо вам не зручно використовувати ці інструменти командного рядка, використовуйте веб-базі, такі як веб-сайт 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 протягом останніх кількох років, починаючи з еластичного балансування навантаження, AWS IoT, AWS Direct Connect, Amazon Route 53, Amazon CloudFront, AWS WAF і S3 Transfer Acceleration, вся підготовка до оголошення минулого місяця про підтримку IPv6 для екземплярів EC2 у віртуальних приватних хмарах (спочатку доступна для використання в регіоні Схід (Огайо) США).
Сьогодні я радий поділитися новиною про те, що підтримка IPv6 для екземплярів EC2 в VPC тепер доступна у загальній кількості п'ятнадцяти регіонів, а також підтримка Balancer завантаження додатків для IPv6 в дев'яти з цих регіонів.
Примірник AWS EC2 по- , як і раніше отримувати RFC1918 адресний простір IPv4 , але якщо у вас є веб - сервіс позаду ELB тобто dualstack
і ipv6
префіксальні імена хостів для примірника УДР , які забезпечують подвійний IPv4 / IPv6 і тільки IPv6 доступ. Комунікація між ELB та екземпляром EC2 як і раніше залишатиметься як IPv4, але клієнт, який підключається через IPv6, не побачить нічого іншого, якщо веб-додаток, на якому ви розміщуєте, спеціально не шукає адресу IPv6.
Минулого разу нашою метою було перенести програму Python Django з сервера Linode на Amazon EC2-VPC. Спочатку я читав багато інформації в Інтернеті про випадки EC2 і помічав, що EC2 VPC не підтримує 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 Traffic on Amazon Ec2 Vpc