Dot TKで取得した無料ドメインをRoute 53でホストする

# **概要**
##何ができるのか
通常、独自ドメインを取得すると料金がかかりますが、Dot TK( http://www.dot.tk )においてhoge.tkのようなドメインを制限付きではあるが、無料で取得することができます。
また、取得したドメインはRoute 53など外部のDNSでホストすることができます。

##前提条件
* AWSアカウントをもっていること
* DNSに関する基礎的な知識があること
* tkドメイン登録の際にメールアドレスが必要<BR>
※ SPAM等は確認されていないが、心配であれば捨てアドレスを用意すること

##料金
* Dot TK<BR>
無料<BR>
ただし、90日間に25アクセス以上ないと削除される
* AWS Route 53<BR>
1 Hosted Zoneにつき0.5USD/month + 0.4USD/1 million query<BR>
Zone作成後12時間以内に削除すればZone分の料金はかからない(Query分は課金される)

# **Dot TKでドメインを取得し、Route 53でホストする**
* http://www.dot.tk にアクセスし、取得するドメイン名を入力して[GO]をクリックする<BR>
![20151222205059.png](https://qiita-image-store.s3.amazonaws.com/0/80392/97148592-c1bc-59e0-d114-32564f2a1fb1.png)
<BR><BR>
* 登録画面に遷移したことを確認する(すでに取得済みの場合はその旨表示される)<BR>
![20151222205707.png](https://qiita-image-store.s3.amazonaws.com/0/80392/ce4df601-e5c9-d891-5a60-251c9c78d343.png)
<BR><BR>
* 続きは後で入力するので、そのまま置いておく
* AWSにサインインし、Route 53コンソールに移動する
* DNS Managementの[Get Started Now]をクリックして[Hosted Zones]の画面に移動する<BR>
([Get Started Now]が表示されるのは初めてZoneを登録するときのみ)
* 画面左上の[Create Hosted Zone]をクリックする
* 先ほど取得申請したドメイン名(●●●.tk)を[Domain name:]に入力する<BR>
![20151222205555.png](https://qiita-image-store.s3.amazonaws.com/0/80392/09f9ed7c-6c7b-727b-7dc2-774515a78501.png)
<BR><BR>
* [Create]をクリックする
* Dot TKの画面に戻り、[Use DNS] -> [お客様のDNS]の順にクリックする
* Route 53の画面に表示されているNSレコードのうち2つを下図のようにコピペする<BR>
(NSレコードのFQDNは最後が「.」で終わっているが、コピペ時に取る)<BR>
![20151222210833.png](https://qiita-image-store.s3.amazonaws.com/0/80392/a0f6c35c-d04e-07ce-6de7-5be3ecb2c223.png)
<BR><BR>
* Dot TKの画面で好みの期限を選択し、画像認証の文字列を入力する<BR>
(期限を過ぎると取得したドメインは無効になる)
* [Sign Up]をクリックする
* [Don‘t have one of these accounts? Use your email address to signup!]を選択し、メールアドレスを入力する<BR>
![20151222211739.png](https://qiita-image-store.s3.amazonaws.com/0/80392/9340e953-a67d-9d40-71f3-d457e9a9af7f.png)
<BR><BR>
* [次へ]をクリックする
* お名前／パスワードを入力する
* [Create Account]をクリックする
* 「ご登録ありがとうございます。・・・」の画面が表示される<BR>
※ この画面は閉じないでしばらくそのままにしておく
![20151222212158.png](https://qiita-image-store.s3.amazonaws.com/0/80392/7733abb6-e5be-d872-62c5-38767722b47f.png)
<BR><BR>
* Dot TKからメールが届くので、リンクをクリックし、メール本文に記載されている確認コードを入力して[確認]をクリックする。**メールが届くまで30分程度かかることもある**ようなので、しばらく待ってみてそれでも届かないようであれば、前項の画面で[再送]をクリックする。また、迷惑メールフォルダに入っていないかチェックする<BR>
※ メール本文が化ける場合があるが、URLとTKから始まるコードは読み取れるはず
![20151222212424.png](https://qiita-image-store.s3.amazonaws.com/0/80392/499912c4-7477-43b2-0c3a-bae176439472.png)

##Dot TKでのドメイン取得がうまくいかない場合は
**[freenom](http://www.freenom.com)**の方がうまくいきやすいという情報があります。Dot TKとは画面が若干異なりますが、手順はだいたい同じのようです。
下記はRoute 53のネームサーバを入力する画面。
![freenom.PNG](https://qiita-image-store.s3.amazonaws.com/0/80392/99a40e67-8ed8-4de0-653b-4076a513b3a8.png)

# **名前解決できるか確認する**
* http://dnscheck.jp にアクセスする
* 先ほど取得申請したドメイン名(●●●.tk)を入力し、[検証]をクリックする<BR>
![20151222212742.png](https://qiita-image-store.s3.amazonaws.com/0/80392/c80e1dc7-8ef4-2c10-5c65-62efb8c942d7.png)
<BR><BR>
* 「2.各ホスト名に対するチェック結果」で「awsdns」を含むホスト名が表示されていれば正常<BR>
(設定完了から名前解決ができるようになるまで数分程度かかることがある)<BR>
![20151222220021.png](https://qiita-image-store.s3.amazonaws.com/0/80392/147ec9c8-d4c0-ab29-6f8c-9f31da840f14.png)

# **DNS(Route 53)にレコードを登録する**
## Aレコードの登録
### 手順
* Route 53コンソール -> [Hosted Zones] -> レコードを登録するドメインをクリックする
* [Create Record Set]をクリックする
* [Name:]にサブドメインを入力する<BR>
(何も入力しなければ、Zone Apex(=サブドメインなし)として登録できる)
* [Value:]にIPアドレスを入力する<BR>
![20151222213423.png](https://qiita-image-store.s3.amazonaws.com/0/80392/9c2ab116-ac88-4a88-900b-492c216cf772.png)
<BR><BR>
* [Create]をクリックする

## CNAMEレコードの登録
AWSの各種サービスのアクセス先は、EC2を除いてエンドポイントで指定される。これらを独自ドメインを用いて名前解決させるには、CNAMEレコードを登録すればよい。
### 手順
* Route 53コンソール -> [Hosted Zones] -> レコードを登録するドメインをクリックする
* [Create Record Set]をクリックする
* [Name:]にサブドメインを入力する<BR>
(Zone ApexにCNAMEレコードは登録できないことに注意)
* [Type:]でCNAMEを選択する
* [Value:]にエンドポイント等のFQDNを入力する<BR>
![20151222222348.png](https://qiita-image-store.s3.amazonaws.com/0/80392/5a824bed-8598-f24f-1e7f-884efd62b000.png)
<BR><BR>
* [Create]をクリックする<BR>

## AレコードAliasの登録
S3、ELB、CloudFrontに対するエンドポイントについては、CNAMEに代わってAレコードAliasを登録することができる。Aレコード相当であるため、下記のような利点がある。
1. CNAMEでは登録ができないZone Apexでの登録が可能
2. 名前解決完了までのDNSクエリ数が削減されるため、名前解決レスポンスの向上が期待できる
### 手順(同一AWSアカウント内のリソースの場合)
* Route 53コンソール -> [Hosted Zones] -> レコードを登録するドメインをクリックする
* [Create Record Set]をクリックする
* [Name:]にサブドメインを入力する<BR>
(何も入力しなければ、Zone Apexとして登録できる)
* [Alias:]でYesを選択する
* [Alias Target:]のテキストボックスをクリックするとドロップダウンリストが表示されるので、登録するエンドポイントを選択する(下図はS3エンドポイントを選択する場合)<BR>
![20151222215509.png](https://qiita-image-store.s3.amazonaws.com/0/80392/58016430-107e-57ff-af64-3e4453a71611.png)
<BR><BR>
* [Create]をクリックする<BR>

###アカウントをまたぐ場合
[Alias Target:]のテキストボックスにエンドポイントを手入力すればOKです。

###AレコードAliasの利点
![20151222221442.png](https://qiita-image-store.s3.amazonaws.com/0/80392/4cd9c924-05d3-46e4-6928-7e7dee5b4009.png)