【AWS Route53】EC2へ独自ドメインアクセス

##目標
Route53を利用してEC2へ独自ドメインでのアクセスを行う。

※Route53とは
AWSが提供するDNSサービスです。
グローバルサービスとして提供されており、世界各地に存在するエッジロケーションというネットワーク上にサービスの実体であるDNSサーバが存在しています。
また、マネージドサービスとして提供されているため、DNSサーバソフトのインストール、冗長化対策、
セキュリティ対策等の作業はAWS側で管理してくれます。

##前提。
・ドメイン未取得の方はドメイン取得のための課金が発生します。
・EC2上にWEBサーバを構築済みであること（※）。

※本記事では構築手順省略させて頂きます。また必須の前提ではございません。
以下参考記事掲載致します。

AWS EC2でWebサーバーを構築してみる
https://qiita.com/arashida/items/629aaed33401b8f2265c
　
##作業の流れ
| 項番 | タイトル |
|:----:|:-------------|
| 1 | [EC2にElasticIPを割り当てる](#1-ec2にelasticipを割り当てる) |
| 2 | [ドメイン取得（ドメイン未取得の場合のみ）](#2-ドメイン取得ドメイン未取得の場合のみ)|
| 3 | [Route53にDNSレコード登録する](#3-route53にdnsレコード登録する)|
| 4 | [アクセス確認](#4-アクセス確認)|

##参考AWSドキュメント
**ドメイン名の登録(Amazon Route 53 使用)**
https://aws.amazon.com/jp/getting-started/hands-on/get-a-domain/


##手順
###1. EC2にElasticIPを割り当てる
通常のパブリックIPですと停止→起動によってEC2のIPアドレスが変わってしまい、
名前解決がうまくいかなくなってしまうので固定グローバルIPアドレスであるElasticIPを割り当てます。

①**EC2サービスへ移動後、`ElasticIP`を選択し、`Elastic IPアドレスの割り当て`をクリック**
![tempsnip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/a0cd683b-7c3e-bf04-ef7d-48a47f3e10a9.png)

②**ElasticIPを作成する**
`Amazon の IPv4 アドレスプール`を選択し、`割り当て`をクリック
![tempsnip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/f5fe7765-d89c-e610-958f-602f97e38131.png)

③**割り当て後、`このElastic IPアドレスを関連付ける`をクリック**
![tempsnip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/5fb0fb28-f7ec-37da-8809-0740fea2c675.png)

④**作成したElastic IPを独自ドメインアクセスの対象としたいEC2インスタンスに紐づける**
以下のように値を入力し（テキストボックスにカーソルを合わせると、候補値が出るので選択します）、
`関連付ける`をクリック

リソースタイプ：　**インスタンス**
インスタンス　：　**独対象のEC2インスタンスID**
プライベートIPアドレス：　**対象のEC2インスタンスのプライベートアドレス**

![tempsnip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/d61f1ec9-d76f-64a7-9e33-4f67ba6bd040.png)

⑤**割り当てたElastic IPでWEBサーバへアクセス出来るか検証**
インスタンス詳細画面のElastic IP欄に作成したElastic IPが記載されているか確認します。
![tempsnip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/6edecce7-4eb4-5a20-3ceb-199a7c0d0be2.png)
WEBアクセスできたらOKです。
<img width="405" alt="キャプチャ.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/a3175785-baee-59bc-7602-087d322a2a4d.png">


###2. ドメイン取得（ドメイン未取得の場合のみ）
ドメイン未取得の場合、新たにドメイン取得を行います。
ドメインの種類にもよりますが、年間費用で大体1000円ぐらいかかることに注意してください。
本記事ではAWSのドメイン取得機能を利用していますが、他サイトから取得を行うことも可能です。

①**Route53コンソールへ移動する**
https://console.aws.amazon.com/route53/home

②**`ドメインの登録`をクリック**
![tempsnip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/75f9be99-bbed-9c2d-b41e-3f0b62b0ee2b.png)

③**利用したいドメイン名を入力**
今回は.comを購入してみました。年間12ドルとのことです（相場詳しくないのであれなのですが少し高めな気がします。。）。
![tempsnip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/24ddb8db-a5ad-bd2c-ac82-7bcc28cc98d7.png)

③**連絡先の詳細とメール認証を行った後、ドメインの購入を行う**
連絡先の詳細に記載したメールアドレスにメールがくるのでメール内リンクをクリックして認証を行ってください。


④**購入したドメインが登録されるまで待機**
ドメインの保留中のリクエスト欄から購入したドメインの登録状況が確認できます。
![tempsnip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/122ae786-b114-4cab-1511-debe0dd39158.png)

約10分ぐらいでドメインが登録済みドメインになりました。
![tempsnip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/a8c30d4f-3be0-b9f2-7c78-24b299e89d64.png)


###3. Route53にDNSレコード登録する
①**Route53コンソールへ移動する**
https://console.aws.amazon.com/route53/home

②**左のタブから`ホストゾーン`をクリックし、購入したドメイン名をクリックする**
（AWSでドメインを購入した場合、デフォルトでドメインが既にRoute53に登録されるようです。
　他から購入したドメインの場合、別途ホストゾーンの作成を行う必要があります。）
![tempsnip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/6f8fb55f-6f22-cc50-212b-aee00558e943.png)

③**`レコードセットの作成`をクリック**
既にNSレコード（ドメインのDNSサーバ群）とSOAレコード（ドメインの基本情報）はデフォルトで登録済みです。
![tempsnip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/bcfd92b8-9de0-1191-0a59-d02e0243b7d8.png)

④**DNSレコードの詳細情報を入力**
名前　：　**サブドメイン名**（自由な名前でOKです、アクセス先への特徴を捉えた名前がよいかと思います。）
タイプ：　**A-IPv4アドレス**
値　　：　**アクセス先EC2へのElastic IPアドレス**
他はデフォルトでOKです。

![tempsnip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/ea8500e4-4076-6e12-b241-dcdca679e3ae.png)

⑤**DNSレコード登録確認**
作成したAレコードがレコード一覧に存在することを確認します。
![tempsnip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/e1edf4c6-fb3e-b073-b0a8-38f7fdeeaa3d.png)

###4. アクセス確認
①**作成したドメイン名でWEBページ閲覧（※）を検証**
正常にWEBページが表示されればOKです！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/dd71f328-7758-f9b7-1554-e8652ffd0c61.png)

※WEBサーバ未構築の場合、ドメイン名でSSH接続が出来るかどうかで検証可能です
teratarm等のターミナルでドメイン名による接続を試みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/ca6fa806-0cc3-587b-eaa5-89cb22342d40.png)

接続出来ればOKです！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647616/5050e5e8-30fc-109a-0c94-540b82a2b6e6.png)