Webサイト管理者のための2020年版“IPv6対応入門”第4回
AWSのクラウド環境を使い、VPC+EC2+Route 53で構成したWebサイトのIPv6対応設定を行う
Webサーバーの設定を変更して「IPv6対応サイト」にする【後編】
(4)Amazon Route 53(権威DNSサーバー)の設定追加
以上の(1)~(3)の作業で、このインスタンス(Webサーバー)がIPv6インターネット経由のアクセスを受け付ける状態になった。あとはドメインを管理している権威DNSサーバーに、このWebサーバーのホスト名とIPv6アドレスを記したAAAAレコードを追加すればよい。
なお、以下ではAWSのDNSサービスであるRoute 53での設定方法を紹介するが、たとえばほかのレジストラ(ドメイン登録事業者)が提供するDNSサービスや、自社運用するDNSサーバーでも追加する設定内容は同じだ。
まず「Route 53」ダッシュボードで「ホストゾーン」を開き、すでに登録してある独自ドメインのホストゾーンを選択して「詳細を表示」をクリックする。
AAAAレコードを追加する前に、SOAレコードに登録されている「TTL」と「ネガティブキャッシュTTL(minimum)」の値をいったん下げておこう※注。SOAレコードを選択して「編集」をクリックし、次の画面でそれぞれの値を変更する。Route 53のデフォルト設定ではTTLが「900」秒(=15分)、ネガティブキャッシュTTLが「86400」秒(=24時間)になっているが、それぞれ「60」に変更した。
※注:Webサイトにアクセスするユーザーが利用するキャッシュDNSには、権威DNSサーバーへの問い合わせ結果がTTLの秒数だけ保持される。そのためTTLの設定値が大きいと、権威DNSサーバー側でAAAAレコードを追加してもなかなかキャッシュが更新されない(IPv6アクセスができない)状態になる。同様に、問い合わせたホスト名(FQDN)が「存在しなかった」情報も、ネガティブキャッシュTTLの秒数だけ保持される。したがって、権威DNSサーバーの設定変更時には、一時的にいずれの値も下げておくのがよい。
なお、こうした原理を考えると、TTL/ネガティブキャッシュTTLの値を下げる作業はなるべく早い段階で(IPv6対応の作業を始める前に)実行しておくべきである。設定変更手順をサービスごとに紹介する記事構成の都合上、本稿ではここで紹介している。
続いて「レコードを作成」をクリックし、AAAAレコードを追加する。今回は1つのインスタンスだけなので、次の画面の「ルーティングポリシー」は「シンプルルーティング」を選択。その次の「レコードを設定」画面で「シンプルなレコードを定義」をクリックし、設定を入力するポップアップ画面を表示させる。
まず「レコード名」は、IPv4で運用しているホスト名(FQDN)と同じものになるよう設定する。これにより、ユーザーのアクセス環境がIPv4/IPv6のどちらでも、同じWebサーバーへアクセスすることになる。
「値/トラフィックのルーティング先」では、プルダウンメニューから「レコードタイプに応じたIPアドレス」を選択して、先ほどEC2インスタンスに割り当てられたIPv6アドレスを入力欄にコピー&ペーストする。最後に「レコードタイプ」のプルダウンメニューから「AAAA」を選択して、「シンプルなレコードを定義」ボタンをクリックすると、ポップアップ画面が閉じる。入力内容を再確認して「レコードを作成」をクリックすれば、AAAAレコードの追加は完了だ。元のホストゾーン画面に戻ると、IPv4向けのAレコードに加えて、IPv6向けのAAAAレコードが追加されているはずだ。
以上の設定が終わったら、インターネットからこのWebサーバーにIPv6でアクセスできるようになったはずだ。単純にWebブラウザでアクセスして動作チェックをしてもよいが、それだとIPv4でアクセスしてしまう可能性もあり、IPv4とIPv6のどちらなのか見分けもつかない。IPv6アクセステスト専用のサイトがあるので、それを使うと確実だ。
「IPv6 Test」サイトにアクセスし、「Web site」のページでホスト名を入力して「Validate」ボタンをクリックする。これだけで、指定したホストにIPv6アクセスできるかどうかをテストしてくれる。すべてのテストにクリアして「Congratulations」という緑色の表示が出たら、IPv6対応の設定が問題なくできていることになる。
なお、Route 53で設定変更したSOAレコードのTTL、ネガティブキャッシュTTLの値は、IPv6アクセスが確認できたら元の値に戻しておこう。