私のビジネスのWebサイトではAWSプラットフォームを使用しています。サイトの訪問者がIPv6プロトコルを使用して自分のコンテンツにアクセスできるようにしたい。 IPv6アドレスを追加するにはどうすればよいですか?
この記事の執筆時点でEC2インスタンスはネイティブのIPv6対応ではありませんが、Amazonは米国東部(バージニア北部)、EU(アイルランド)、アジアパシフィック(東京)、およびアジアパシフィック(シンガポール)のElastic Load BalancerにIPv6を実装しています。 EC2インスタンスとロードバランサーを使用してIPv6コンテンツを利用可能にする方法を示します。
Elastic Load Balancer(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を使用して、デュアルスタックELB DNS名を使用してA(IPv4)およびAAAA(IPv6)レコードを取得していることを確認します。これらのコマンドラインツールに慣れていない場合は、 http://www.kloth.net/services/Dig.php にあるようなWebベースのDigを使用してください。
ドメインのCNAMEを作成します
潜在的な生産停止を回避するために、使い捨てドメインでテストすることをお勧めします。 www.example.comのCNAMEは、デュアルスタックELB名を指す必要があります。
検証
IPv6接続ホストからwww.example.comにアクセスします。または、 http://ipv6-test.com/validate.php を使用して、サイトへのIPv6接続をテストできます。
EC2ではIPv6は利用できません(2013年9月現在)。ただし、ELBでは使用できます。したがって、 ELBを一種のIPv4ゲートウェイとして使用 することはできますが、EC2インスタンスにIPv6アドレスを割り当てることはまだできません。
これは「近い将来」に変更される可能性があるというおしゃべりがあります(それが何であれ)。
CloudFlare CDNを介してサイトをプロキシすることにより、サイトをIPv6(およびその他のいくつかの利点)で利用できるようにすることができます。
Tunnelbroker から無料のIPv6トンネルを取得できます。 EC2でうまく動作します。私はそれをテストしました。
IPv6が一般提供されました
Elastic Load Balancing、AWS IoT、AWS Direct Connect、Amazon Route 53、Amazon CloudFront、AWS WAF、S3 Transfer Accelerationをはじめ、過去数年にわたってAWSのさまざまな部分にIPv6サポートを追加するために取り組んできました。バーチャルプライベートクラウド(最初は米国東部(オハイオ)リージョンで使用可能)でのEC2インスタンスのIPv6サポートに関する先月の発表までのすべてが構築されています。
今日、VPCのEC2インスタンスのIPv6サポートが合計15のリージョンで利用可能になり、そのうち9つのリージョンでApplication Load BalancerがIPv6をサポートするようになったというニュースを共有できてうれしいです。
AWS EC2インスタンスは引き続きRFC1918 IPv4アドレス空間を受け取りますが、ELBの背後にWebサービスがある場合、デュアルIPv4/IPv6とIPv6のみを提供するELBインスタンスの接頭辞dualstack
とipv6
がありますアクセス。 ELBとEC2インスタンス間の通信はIPv4のままですが、ホストしているWebアプリケーションが特にIPv6アドレスを検索しない限り、IPv6経由で接続しているクライアントには何も変わりません。
前回の目標は、Python DjangoアプリケーションをLinodeサーバーからAmazon EC2-VPCに移行することでした。最初に、EC2インスタンスに関する多くの情報をインターネットで読み、 EC2 VPCは現時点ではIPv6をサポートしていないことに注意してください。
はい、ELBとEC2-Classicで可能であることがわかっていますが、AmazonがEC2-Classicに必要とするアカウントより新しいため、EC2-Classicをセットアップすることができません。 AWSインフラストラクチャとRDSデータベーススタイルが好きだったので、それは大きな問題でしたが、アプリケーションでIPv6を取得する必要があります。
考えた後、IPv6をサポートしているLinodeサーバーをプロキシとして作成することにしました。 Linodeのnginx構成では、すべてのトラフィックをEC2-VPCにプロキシしますDjangoポート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 Consoleで、Linode nginxができるようにする必要があるため、ポート9099も外部からアクセスできるようにしますここでトラフィックを送信します。また、静的およびメディアをnginxによってEC2-VPCからLinodeに送信することを忘れないでください。
location /s6/ {
alias /home/Django/static/;
}
location /m6/ {
alias /home/Django/media/;
}
最後に、AAAA DNSレコードをLinodeサーバーにポイントし、A DNSレコードをEC2-VPCにポイントします。すべて正常に機能します。すべてのトラフィックはEC2-VPC、X-Real-IPヘッダーに保存されている実際のIPに到達します。実際、Linodeサーバーは、他のアプリケーションがなければ、プロキシと同じように作成するにはコストがかかると思います。そのため、もちろんプロキシ機能とIPv6サポートを備えたサーバーを使用することが可能です。
私の元の投稿: Amazon Ec2 VpcでIpv6トラフィックを受信