図解 Amazon Route 53 で DNSSEC

# 0. あらすじ

DNSSEC?
よくわからない。
しかし時代の流れでそろそろ設定しないといけない。
Amazon Route 53 にドメインを登録していれば、AWSマネジメントコンソールの操作だけで簡単に設定できます。
図解でやってみましょう。


# 1. 前提条件

- Amazon Route 53 にドメインを登録してあること
    - AWSでドメインを購入しても、他所からドメインを移管してきても構いません
- Amazon Route 53 でドメインのゾーンをホストしていること
    - ドメインのネームサーバがRoute 53である必要があります
- 要するに普通にAmazon Route 53でドメインを登録して管理していればOK


# 2. 費用について

DNSSECを有効にすると、月額料金が1ドル増加します。
1ドメインでは月額約0.51ドルだったところ、約1.51ドルになります。
これはAWS Key Management Service (KMS)の鍵管理を使用するためです。無料利用枠は有りません。初日から課金されます。
なお、この鍵は複数ドメインで共有できます。同じ鍵を使用すれば複数ドメインでも月額費用の増加は1ドルで済ませられます。


# 3. 作業手順

では実際にやってみましょう。

## 3.1. DNSSEC署名を有効化する

AWSマネジメントコンソールで `Route 53` を開きます。
画面左側のペインから `ホストゾーン` をクリックすると、ドメインの一覧が表示されます。
（ペインが表示されていない場合は、左上に `≡` のような横三本線があるのでそれをクリックすると表示されます）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/4408e52e-a375-009d-87ee-9e0d7e42df01.png)
DNSSECを設定したい `ドメイン名` をクリックします。

ホストゾーンの詳細 画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/a24b5442-336f-275d-5ff5-51114a96807c.png)
`DNSSEC 署名` をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/460f44d9-e0ac-deac-898c-80d99e5f0764.png)
`DNSSEC 署名を有効化する` をクリックします。

キー署名キー(KSK) の作成 画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/0ce96b54-d928-fa48-8a08-3d2bdaffa81f.png)

- KSK 名の指定 には任意の文字列を入力します（例: `hoge`）
- 次に `カスタマー管理のCMKの作成` をクリックします、するとその下に新たな入力欄が出現します
- 出現した入力欄には任意の文字列を入力します（例: `hoge`）

`KSKを作成して署名を有効化する` をクリックします。画面上部に、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/cc859f43-a811-30ee-3296-02fe63cdda9c.png)
といった表示が出現します。しばらく待っているとこの表示が変化し、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/397d60e4-638e-32e6-2667-3b5847249113.png)
緑色背景で DNSSEC署名が正常に有効化されました と表示されたら次へ進みます。
数分待っても表示されなければ、ウェブブラウザを再読込（リロード）してみます。

## 3.2. DSレコードの作成

引き続き、同じ画面で作業を続けます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/835c722c-e51d-0baa-43c9-03d4241a0cb4.png)
`DSレコードを作成するための情報を表示` をクリックします。

信頼チェーンを確率 画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/0204a72a-7b23-2d56-6d90-52baf8047bc8.png)
表示された画面で、以下の内容をメモ帳等へコピーします。

- フラグ ( `257` ）
- 署名アルゴリズム（ `ECDSAP256SHA256` ）
- パブリックキー（例: `S/5Jyu....uA==` ）

画面左側ペインの `登録済みドメイン` をクリックします。

登録済みドメイン 画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/46134fef-9c18-f2ed-ee02-211feaa3bc2f.png)
ドメイン名一覧から `ドメイン名` をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/39fb83ef-f245-e5b5-91db-a1a03caf9d36.png)
画面右側、DNSSECのステータス の右側にある `キーの管理` をクリックします。

DNSSEC キーの管理 画面が出現します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/fb0a3d0b-e4cc-3916-7f06-56a4cf07f0cf.png)
先ほどメモした内容をここで入力していきます。
- キーのタイプ: フラグでメモした値と同じ物を選択（ `257 - KSK` ）
- アルゴリズム: 署名アルゴリズムでメモした値と同じ物を選択（ `13 -  ECDSAP256SHA256` ）
- パブリックキー: メモした内容を貼り付けます（例: `S/5Jyu....uA==` ）

`追加` をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/f6f066c6-1709-c74c-12a8-e7c6ed4680aa.png)
画面内に緑枠で「このDNSSECエントリの作成リクエストが正常に送信されました…」と表示が出たら成功です。
`閉じる` をクリックします。

数分待ってから、ウェブブラウザを再読込（リロード）します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/47ba53ba-e8f4-ca71-db30-9ed835cdff97.png)
`DNSSECのステータス` が 英数字の文字列（例: `30041 - KSK - ECDSAP256SHA256` ） になっていれば作業完了です。

## 3.3. DNSSECの動作確認

DNSSECが正しく設定されたか確認しましょう。以下のサイトで動作確認が行えます。
https://dnssec-analyzer.verisignlabs.com/qualys.network
Domain Name 入力欄へドメイン名を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96018/193ce90d-6124-5e34-34a6-276a18883d91.png)
このように全部緑色になれば成功です。

おつかれさまでした。