AWS Route53 逆引きゾーンと正引きゾーン作成手順

はじめに
===

AWS Route53上に、Privateな逆引きと正引きゾーン(Hosted Zone)を作成する手順です。

Route53ではFQDNからIPアドレスを解決する正引きだけでなく、IPアドレスからFQDNを解決する逆引きも利用可能です。

Route53に作成する例示用ゾーンについて
===

今回の例では、作成した正引きと逆引きゾーンに対して、以下のレコードセット(DNSリソースレコード)を追加し、EC2インスタンス(Amazon Linux)から正引きと逆引きの名前解決を行えるようにする手順まで記載致します。

今回の例では、例示用ゾーンとして、Route53に以下のゾーンを作成します。

|Route53に作成するゾーン名 |作成するゾーンのType  |  備考         |
|:-----------------------|:--------------------|:-------------|
|example.org.            |Private              |正引き用ゾーン |
|100.51.198.in-addr.arpa.|Private              |逆引き用ゾーン |

Route53に作成したゾーンには、以下のレコードセットを追加します。

|Name                       |Type          |Value                    | 備考 |
|:--------------------------|:-------------|:------------------------|:------|
|route53-test.example.org.  |Aレコード      |198.51.100.10            | 正引き用レコードセット |
|10.100.51.198.in-addr.arpa.|PTRレコード    |route53-test.example.org.| 逆引き用レコードセット |

Route53にゾーン作成する前の確認 (DNS resolutionとDNS hostnamesオプションの確認)
===

・「Aws Management Console」にログインします。

・「VPC」をクリックします。

![WS000000 - コピー.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/e618c9ff-a15a-e7a9-f15a-b5736ed5991b.jpeg)

・VPCの管理画面が表示されるので「Your VPCs」をクリックします。

![WS000009.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/f104c7a1-6623-5425-83d6-a1c4ba398b1c.jpeg)

・利用しているVPCの以下のオプションがともにyesになっている事を確認します。

このオプションが両方yesになっていると、Route53にTypeがPrivateのゾーンを作成出来るようになります。

　　DNS resolution: yes
　　DNS hostnames: yes

![WS000010.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/59133930-38cd-eb80-9293-30a33ef887a7.jpeg)

DNS resolutionとDNS hostnamesの詳細については以下をご参照下さい。
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/vpc-dns.html

Route53に正引きゾーン作成 (example.orgゾーン作成)
===

・「Aws Management Console」にログインします。

・「Route53」をクリックします。

![WS000000.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/e4269e04-5901-f462-88c6-32076d454a48.jpeg)

・Route53の管理画面が表示されるので、「Hosted Zones」をクリックします。

![WS000001.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/bc106b25-befb-92e2-b048-7e74c5cf6b6f.jpeg)

・Route53のゾーン一覧画面が表示されるので、「Create Hostes Zone」をクリックします。

![WS000002.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/192d0900-4e8d-422b-b658-cabb7aa41f57.jpeg)

・画面右側にRoute53に作成したいゾーンの情報を入力します。

以下の項目に作成するゾーン名を入力します。

　Domain Name: example.org
　Comment: example (コメントを入力します。入力は任意ですが、今回は左記を入力します)

作成するゾーンの「Type」を選択します。今回のゾーンは外部には公開しないので、Privateを選択します。

　Type: Private Hosted Zone for Amazon VPC

作成するゾーンの「VPC ID」を選択します。

　VPC ID: Asia pacific (tokyo)

VPC IDはPrivateなゾーンを作成する場合、どのVPCにゾーンを紐付けるかを指定します。作成するゾーンの正引きと逆引きを利用したいEC2インスタンスを配置しているVPCを選択します。今回の例では、「VPC ID」として「Asia pacific (tokyo)」リージョンを選択します。

![WS000017.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/39634e06-160c-5f2d-078b-328d7a410e08.jpeg)

作成したいゾーン情報を入力したら「Create」をクリックして、ゾーンを作成します。

![WS000003.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/8e852ccc-8f6a-c9a6-f908-3e98f086737a.jpeg)

・「Domain Name」列に作成したゾーン名が表示されます。

今回作成したゾーン名の部分をダブルクリックします。

![WS000004.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/30c93876-428e-dd9b-0748-916f17ad239c.jpeg)

・作成したゾーンに登録されているレコードセット一覧が表示されるので、「Create Record Set」をクリックします。

なお、Route53にゾーンを作成すると、自動的にNSレコードとSOAレコードが作成されます。

以下の項目に追加するレコードセットの情報を入力します。

　Name: route53-test
　Type: A - IPv4 address
　TTL: 5 (TTLを指定します。今回は5秒にしています)
　Value: 198.51.100.10

「Create」をクリックして、レコードセットを追加します。

![WS000005.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/4687cf76-1419-d383-018e-731cd846f32c.jpeg)

・レコードセットが追加された事を確認します。

![WS000006.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/e0fad03f-2054-39c2-38db-444b1545dcae.jpeg)

・「Back to Hosted Zone」をクリックします。

Route53に逆引きゾーン作成 (100.51.198.in-addr.arpaゾーン作成)
===

・Route53のゾーン一覧画面が表示されるので、「Create Hostes Zone」をクリックします。

・画面右側にRoute53に作成したいゾーンの情報を入力します。

以下の項目に作成するゾーン名を入力します。

　Domain Name: 100.51.198.in-addr.arpa
　Comment: example (コメントを入力します。入力は任意ですが、今回は左記を入力します)

作成するゾーンの「Type」を選択します。今回のゾーンは外部には公開しないので、Privateを選択します。

　Type: Private Hosted Zone for Amazon VPC

作成するゾーンの「VPC ID」を選択します。

　VPC ID: Asia pacific (tokyo)

今回の例では、先ほど作成した正引きゾーンと同じVPC「Asia pacific (tokyo)」を選択しています。

![WS000011.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/7ca792e4-a03c-c87e-7478-cebe677e26de.jpeg)

作成したいゾーン情報を入力したら「Create」をクリックして、ゾーンを作成します。

・「Domain Name」列に作成したゾーン名が表示されます。

今回作成したゾーン名の部分をダブルクリックします。

![WS000012.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/04f07bc0-a4fa-6011-5021-540affa97c49.jpeg)

・作成したゾーンに登録されているレコードセット一覧が表示されるので、「Create Record Set」をクリックします。

なお、Route53にゾーンを作成すると、自動的にNSレコードとSOAレコードが作成されます。

![WS000013.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/9c4049f4-932b-a4d0-e11f-5efea976dc31.jpeg)

以下の項目に追加するレコードセットの情報を入力します。

　Name: route53-test
　Type: A - IPv4 address
　TTL: 5 (TTLを指定します。今回は5秒にしています)
　Value: 198.51.100.10

「Create」をクリックして、レコードセットを追加します。

![WS000014.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/eee2f2ea-07c8-0658-076d-c55d4b424c6b.jpeg)

・レコードセットが追加された事を確認します。

![WS000015.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/fb70ed40-5a12-1e17-07f8-d39ea90982c9.jpeg)

・Route53のゾーン一覧画面が表示されるので、正引きと逆引きゾーンが作成された事を確認します。

![WS000018.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/636dabf4-a642-703c-119c-d12f18dc5cb3.jpeg)

EC2インスタンス上で作成したゾーンの名前解決 (正引きと逆引きのテスト)
===

・EC2インスタンス上で作成したゾーンに対して、正引きと逆引きの名前解決を行えるかテストします。

Route53に作成したゾーンは、VPC内のEC2インスタンス上から名前解決可能です。
以下はEC2インスタンス(Amazon Linux)上で名前解決をテストする例です。

VPCに作成したEC2インスタンスの/etc/resolv.confでは、デフォルトでAmazon Provided DNS(XX.XX.XX.2)が指定されていると思います。

/etc/resolv.confのnameserver行に、Amazon Provided DNS(今回の例では、172.XXX.XXX.2)が指定されている事を確認します。

```
[ec2-user@example-AmazonLinux ~]$ hostname
example-AmazonLinux
[ec2-user@example-AmazonLinux ~]$ cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search ap-northeast-1.compute.internal
nameserver 172.XXX.XXX.2
[ec2-user@example-AmazonLinux ~]$
```

・Route53に作成した正引きゾーンの名前を解決出来る事を確認します。

今回の例では、route53-test.example.orgを名前解決出来るかテストしています。

```
[ec2-user@example-AmazonLinux ~]$ dig route53-test.example.org

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.35.amzn1 <<>> route53-test.example.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57444
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;route53-test.example.org.      IN      A

;; ANSWER SECTION:
route53-test.example.org. 5     IN      A       198.51.100.10

;; Query time: 3 msec
;; SERVER: 172.XXX.XXX.2#53(172.XXX.XXX.2)
;; WHEN: Sat Jan 31 22:14:25 2015
;; MSG SIZE  rcvd: 58

[ec2-user@example-AmazonLinux ~]$ 
```

・Route53に作成した逆引きゾーンの名前を解決出来る事を確認します。

今回の例では、10.100.51.198を解決出来るかテストしています。

```
[ec2-user@example-AmazonLinux ~]$ dig -x 10.100.51.198

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.35.amzn1 <<>> -x 10.100.51.198
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25539
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;198.51.100.10.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
198.51.100.10.in-addr.arpa. 882 IN      PTR     ip-10-100-51-198.ap-northeast-1.compute.internal.

;; Query time: 0 msec
;; SERVER: 172.XXX.XXX.2#53(172.XXX.XXX.2)
;; WHEN: Sat Jan 31 22:14:29 2015
;; MSG SIZE  rcvd: 106

[ec2-user@example-AmazonLinux ~]$
```

以上になります。