Developers.IOがIPv6サポートになりました

2019.10.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWSチームのすずきです。

当ブログDevelopers.IOがIPv6をサポートしましたので、お知らせします。

名前解決

  • dev.classmethod.jp

IPv6

$ dig dev.classmethod.jp AAAA | grep -A 3 -e ';; ANSWER'
;; ANSWER SECTION:
dev.classmethod.jp.	60	IN	AAAA	2406:da14:d37:ef11:3bbe:5596:af35:dae
dev.classmethod.jp.	60	IN	AAAA	2406:da14:d37:ef13:e9bc:8b82:68b5:3adb
dev.classmethod.jp.	60	IN	AAAA	2406:da14:d37:ef12:4c74:8fe:6136:3005

IPv4

$ dig dev.classmethod.jp A | grep -A 3 -e ';; ANSWER'
;; ANSWER SECTION:
dev.classmethod.jp.	60	IN	A	52.192.17.105
dev.classmethod.jp.	60	IN	A	3.113.95.166
dev.classmethod.jp.	60	IN	A	52.196.146.128

AWS設定

VPC

今回、以下のCloudFormationテンプレートを修正、3AZ対応などを追加しています。

IPv6対応のVPCをCloudFormationで作成してみた

サブネット

IPv6を有効に設定したVPCサブネットを用意しました。

Egress Only インターネットゲートウェイ

ELB 配下の EC2 は IPv4アドレスのみで利用する事も可能ですが、 今回はEC2にもIPv6アドレスを割り当てています。

外部から意図せぬEC2へのIPv6接続を避けるため、Egress Only インターネットゲートウェイを用意、EC2のデフォルトルート先としています。

  • Egress Only インターネットゲートウェイ

  • ルートテーブル

VPCフローログ

インターネットからIPv4、IPv6で接続を受け付けるサブネットは、VPCフローログ設定を有効とし、利用状況の調査や不測対応に備えました。

SecurityGroup

ELBで利用するセキュリティーグループ、IPv6の全てのソースIP(::/0)に対し、HTTP(TCP:80)、HTTPS(TCP:443)を許可するレコードを追加しました。

ELB

IPv6設定済のサブネットに ELB (ALB) を設置。 IP アドレスタイプ は「dualstack」 と設定しました。

CloudFront

画像配信に利用するCloudFront IPv6対応としました。

Route53

IPv6用の「AAAA」レコード、ELB、CloudFrontのエイリアスを追加しました。

確認

「AAAA」レコードの設定後、2割程度のリクエストがIPv6となった事を確認できました。

  • AWS/ApplicationELB: IPv6RequestCount, RequestCount

まとめ

日本国内のIPv6普及率は50%に到達、IPv4アドレス枯渇を受けて今後も普及が進むと予想されます。

ELB(ALB,CLB)、CloudFront のIPv6対応は追加費用なく利用可能です。

IPv6を優先するOS環境での名前解決の高速化や、混雑するIPv4網のボトルネック回避なども期待できますので、ぜひお試しください。