Google Cloud DNSでIPアドレスとドメイン名を紐付ける

### Google Cloud DNSとは
![無題.png](https://qiita-image-store.s3.amazonaws.com/0/23101/bf0a222d-118a-11a5-aaea-d4ebd63cec9b.png)

スケーラブルかつ信頼性の高い[ドメインネームシステム（DNS）](https://zenlogic.jp/user-support/knowledge/domain/dns.html)の機能を提供するGCPのサービスで、Googleと同じインフラストラクチャで動作します。 低レイテンシで可用性が高く、アプリケーションやサービスをユーザーに効率よく提供できます。また、Googleのシンプルなユーザーインターフェース、コマンドラインインターフェース、APIを使用して、数百万ものDNSゾーンやレコードを公開し、管理することができます。

### 事前準備
事前に[お名前.com](https://www.onamae.com/)等でドメインを取得しておきます。

### DNSゾーンの作成
Google Cloud Consoleの「ネットワークサービス」-「Cloud DNS」を選択します。
![1キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/23101/6fe27faf-6bcb-59fe-f532-6343844d9d31.png)

任意のゾーン名と、所有するドメイン名、説明（省略可）等のゾーン情報を入力し、「作成」ボタンをクリックします。
※ゾーンとは、ネームサーバがドメインを管理する範囲です。
![2キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/23101/df93726b-f9a0-7528-068f-38e62db0fa5d.png)

ゾーンの作成が完了すると、以下のように自動的にドメインのNSレコードとSOAレコードが設定されます。
※[主なDNSレコードの種類](http://www.atmarkit.co.jp/fnetwork/rensai/dns01/dns-record.html)
![3キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/23101/65ae3bfd-082f-fe98-6fec-b54e87a14f2e.png)

### Aレコードの追加
Aレコードとは、DNSサーバーでIPアドレスとドメイン名を紐付けるレコードです。
上記の画面から「レコードセットを追加」ボタンをクリックします。DNS名を入力（www.取得しているドメインとなるようホスト名を指定）、「リソースレコードのタイプ」がAになっていることを確認、IPv4アドレスに紐付けたいIPアドレスを入力し、「作成」ボタンをクリックします。
![5キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/23101/98239c56-00ed-dfcb-989e-f3bc34359f73.png)

以下のよう形でAレコードが作成されます。
![6キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/23101/21c80d64-da10-e420-7d72-303cb3f95131.png)

### レジストラへの登録
Cloud DNSで登録したドメインのDNSサーバーを、レジストラのネームサーバーに指定する必要があります。
※レジストラとは、登録者からドメイン名の登録申請を受け付け、その登録データをレジストリのデータベースに登録する機関です。

ホストゾーンに設定された以下のNSレコードにある4つのDNSサーバーを登録します。
![6キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/23101/c1fef1cf-c49f-f84f-02a7-8a7db67c8b78.png)

これにより、他のDNSサーバーに対して、指定したドメイン情報は上記のDNSサーバーで管理されているという情報が、レジストラのDNSサーバーから伝達されるようになります。ただし、全てのDNSサーバーに情報が伝達されるには、しばらく時間がかかります。自分は、[お名前.com](https://www.onamae.com/)でドメインを取得したので、[お名前.comでのネームサーバーの変更](
https://www.onamae.com/guide/details.php?g=17&_ga=2.88023192.1828728128.1514116632-358759401.1511636744&_gac=1.128175870.1511679707.CjwKCAiAxuTQBRBmEiwAAkFF1puaTVhADPLCFErpEFUs155htQi3xQ6at7Iqsef5F-Q1qLNDb0AdoRoCKBQQAvD_BwE)を参照しながら進めました。

### 確認してみる
しばらくすると、以下のように自分が指定したドメイン名でアクセスすることができるようになります。（今回は[Google Cloud Launcherを使ってGCP上に2～3分でJenkinsを構築する](https://qiita.com/NagaokaKenichi/items/41ee9d8ba40555eaf2b7)で構築したJenkinsに対して行いました）。
![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/23101/0d307a12-3e56-5e4e-bd63-0023aabbc61d.png)


以上です。

### 参考
* [Cloud DNS](https://cloud.google.com/dns/?hl=ja)
* [Cloud DNS概要](hhttps://cloud.google.com/dns/overview?hl=ja)
* [プログラマのためのGoogle Cloud Platform入門 サービスの全体像からクラウドネイティブアプリケーション構築まで](https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEGoogle-Cloud-Platform%E5%85%A5%E9%96%80-%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E5%85%A8%E4%BD%93%E5%83%8F%E3%81%8B%E3%82%89%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%8D%E3%82%A4%E3%83%86%E3%82%A3%E3%83%96%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E6%A7%8B%E7%AF%89%E3%81%BE%E3%81%A7-%E9%98%BF%E4%BD%90/dp/4798137146)