はじめに
EC2に付与されるパブリックDNS名がIPv6をサポートしました。従来は、パブリックDNS名にはIPv4アドレスであるAレコードしか設定されていませんでしたが、IPv6アドレスであるAAAAレコードが設定されるようになっています。
AWS announces IPv6 support for EC2 Public DNS names - AWS
早速、確認してみましょう。
要点
- EC2のパブリックDNS名が、IPv6グローバルユニキャストアドレス(AAAAレコード)の解決が可能になりました
- IPv6対応EC2インスタンスへのIPv6経由のアクセスが容易になります
- すべてのAWSコマーシャルリージョンとAWS GovCloud(US)リージョンで利用可能です
- 既存のVPC/EC2に対して設定可能です
IPv6をサポートしたパブリックDNS名とは?
例を見るのが早いでしょう。以下の様なパブリックDNS名が新たにEC2に設定され、AAAAレコードが利用可能です。
IPv6 IPv4 ↓---------------------------↓ ↓-----↓ 3sdwh-87qb2-2tbqv-bc3y4-u30hg-1kbq70g.ap-northeast-1.ip.aws ↑------------↑ ↑----↑ Region Domain ↑---------------------------------------------------------↑ Fully qualified domain name (FQDN)
これは次で説明する Public Hostname Tyep に public-dual-stack-dns-name を設定した場合のドメイン名です。
IPv6をサポートしたことにより、やはり長くなりますね。
パブリックDNS名のPublic Hostname Tyepについて
今回のアップデートにより、AAAAレコードが設定されているパブリックDNS名が新たに設定できるようになりました。これにより、パブリックDNS名はPublic Hostname Tyepにより、以下の通り3つに分類されるようになります。いずれか1つのタイプが選択可能です。
- Dual-stack(public-dual-stack-dns-name)
- AとAAAAレコードが設定されたパブリックDNS名が設定される
- IPv6(public-ipv6-dns-name)
- AAAAレコードのみが設定されたパブリックDNS名が設定される
- IPv4(public-ipv4-dns-name)
- Aレコードのみが設定されたパブリックDNS名
- 従来はこのタイプのみだった
- 現状、マネジメントコンソールからEC2を立ち上げるとこのタイプが設定されます
サンプルとしてどんなDNS名になるかを表にまとめました。グローバルIPv4アドレスとして203.0.113.0、グローバルIPv6アドレスとして3ffe:0db8:85a3:0000:0000:8a2e:0370:7334が割り当てられているEC2インスタンスには以下の通りパブリックDNS名が設定されます。
Public Hostname Tyep | Public DNS Name(例) | DNS record types |
---|---|---|
public-dual-stack-dns-name | 3sdwh-87qb2-2tbqv-bc3y4-u30hg-1kbq70g.ap-northeast-1.ip.aws | A と AAAA |
public-ipv6-dns-name | 3sdwh-87qb2-2tbqv-bc3y4-u30hg.ap-northeast-1.ip.aws | AAAA のみ |
public-ipv4-dns-name | ec2-203-0-113-1.ap-northeast-1.compute.amazonaws.com | A のみ |
ドキュメントによると、IPv4/v6アドレスからbase36を用いて上記のような文字列に変換されているようです。Base36では0から9までの数字と、AからZまでのアルファベット26文字(大文字・小文字は区別しないのが一般的)を組み合わせた合計36種類の文字で数値を表現します。
マネジメントコンソールからの変更・確認
マネジメントコンソールからEC2インスタンスを立ち上げると、public-ipv4-dns-nameが設定された状態となります。これをpublic-dual-stack-dns-nameに変更してみましょう。
設定は、Network Interfaceから行う必要があります。対象となるENIを選択し、Modify public hostname typeを選択します。

Dualstackを選択して、Modifyを押下します。

変更が完了すると、Public DNS nameが先ほど例で示した通りの形式の値に変更されます。これでこのパブリックDNS名を利用してEC2インスタンスへアクセスできるようになりました。

初期の設定であるpublic-ipv4-dns-nameは以下のようになります。

public-ipv6-dns-nameは以下のようになります。

最後に
今までは、自分でホストするゾーンにIPv6アドレスを設定したAAAAレコードを作成する必要がありましたが、今回のアップデートで自動で生成されたパブリックDNS名が代わりに利用できるようになりました。今までIPv4アドレスが設定されたパブリックDNS名を利用していたユーザーにとっては、同様な方法でIPv6アドレスでの利用が可能となり嬉しいアップデートではないでしょうか。
石田順一(記事一覧)
カスタマーサクセス部 CS3課