Oracle Cloud Infrastructure(OCI)上のWEBサーバにドメインを割り当てて接続する

本稿ではOracleクラウドのインスタンス上に立ち上げたWEBサーバに取得したドメインを割り当て接続する方法を解説します。
インスタンス、WEBサーバは立ち上げ済とします。

# ドメインとは
__ドメイン(domain)__とはインターネット上の住所のことです。
IPアドレスが実際の住所ですが、それを人間が認識しやすい形式に置き換えています。

|  IPアドレス  |  ドメイン  |
| ---- | ---- |
|  129.111.222.1  |  sample.com  |

# ドメインの取得
インターネット上でドメインを使用するためにはまずユニークなドメインを取得する必要があります。
今回は無料ドメインサービスを提供している__「Freenom」__でドメインを取得します。
https://my.freenom.com/clientarea.php
まずはFreenomにアクセスしてユーザ登録。GmailやFacebookアカウントでもログイン可能です。
![oci_dns_20201123_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236988/2a2903a6-892f-a595-0f76-51ecd41f0d3d.png)
ログインしたらメニューから__[Services]__→__[Register a New Domain]__を選択。
![oci_dns_20201123_13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236988/aa8053ed-79cf-4f52-83c8-03e8e00ab20b.png)
任意のドメイン名を入力して使用可能か__[Check Availability]__ボタンを押して確認。
使用OKなら取得可能なドメイン一覧が下に表示されます。
XXX.comのような有料ドメインも表示されますが、FREEのタグが付いているものは無料利用可能です。
好きなドメインを選んで[Get it now!]を押下してドメイン取得。
![oci_dns_20201123_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236988/eeb96383-21f3-c0cb-a6c6-abf4a9c3b550.png)

# DNSとは
__DNS(Domain Name System)__とはインターネットでドメインを管理するためのシステム(サーバ群)で、ドメインとIPアドレスの括り付けを行うデータベースの役割を担います。

# DNSゾーンの作成
__DNSゾーン__とはDNSサーバがドメイン名を管理する範囲のことです。
ドメイン割り当てにあたり、OCI管理コンソールでWEBサーバが起動するインスタンスを管理するDNSゾーンを作成する必要があります。詳細は以下のドキュメントにも記載されています。
https://docs.cloud.oracle.com/ja-jp/iaas/Content/DNS/Concepts/gettingstarted.htm

OCIコンソールにログインし、メニューから__[ネットワーキング]__→__[DNS管理]__を選択。
![oci_dns_20201123_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236988/daa4119f-60b0-4087-6cf6-ae9d65f77981.png)
__[ゾーン]__を選択。
![oci_dns_20201123_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236988/de3ad9fa-24c7-e390-b18a-cd3c1f1b1c5d.png)
__[ゾーンの作成]__を選択。
![oci_dns_20201123_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236988/98040fe5-d02c-bfb9-a984-88e587d09455.png)
__手動__にチェックし、__[ゾーン名]__に先ほどFreenomで取得したドメイン名を入力して作成ボタンを押下。
(XXXX.comを取得ドメインに置き換え)
![oci_dns_20201123_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236988/ec75dd93-9892-8994-91aa-6a1ae13cc7af.png)
これでDNSゾーンが作成されます。__[ネームサーバ]__にドメインを管理するOCIのDNSサーバ一覧が表示されます。

- ns1.p68.dns.oraclecloud.net
- ns2.p68.dns.oraclecloud.net
- ns3.p68.dns.oraclecloud.net
- ns4.p68.dns.oraclecloud.net

（後ほどFreenomのドメイン設定で使います）
またデフォルトで管理用のレコードも追加されています。
![oci_dns_20201123_05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236988/3ee5b951-d53b-8e88-ccbd-33a905d71a70.png)
次にドメイン名とIPアドレスの括り付けをレコード追加する必要があります。
__[レコードの追加]__で__[A-IPv4アドレス]__を選択してレコードを追加します。
![oci_dns_20201123_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236988/ad9142fe-7b70-8c83-bbf6-61d787d9a14b.png)

- __名前__
 - WEBサーバなので__「www」__とします。取得したドメインが「qiitatest.tk」の場合
`www.qiitatest.tk`というFQDNでWEBサーバにアクセスすることになります。
- __ADDRESS__
 - インスタンスの__パブリックIPアドレス__を入力して送信ボタンを押します。
IPアドレスはインスタンスのコンソールから確認してください。
TTL(Time To Live)の入力を求められるので任意の値を入力。
TTLとはレコードをキャッシュに登録しておく時間のことです。3600と仮置きしておきます。
![oci_dns_20201123_07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236988/e6c4dbd5-860a-0f12-6534-f5c931428190.png)
レコードが追加されます。ただし、これだけでは反映されていないので__[変更の公開]__を押下します。
![oci_dns_20201123_08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236988/b2aba102-fdfb-b892-91a0-6d8ff218046d.png)

これでOCI側の準備は完了です。
# レジストラにDNSゾーンを登録
__レジストラ__とはドメインを登録する権限を持った事業者のことです。今回利用したFreenomもレジストラの一つです。
レジストラは上位ドメインを管理する__レジストリ__と契約を交わしてドメイン登録を行っています。
インターネット上でドメイン接続を行えるよう、OCI上で作成したDNSゾーンをレジストラに登録する必要があります。

Freenomのメニューからで__[My Domains]__→__[Management Tools]__→__[Nameservers]__を選択。
![oci_dns_20201123_09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236988/ca74fdfc-d77d-d73e-3542-54f70b944c73.png)
![oci_dns_20201123_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236988/aa017ac3-219a-1e04-1f0e-0fe209a42a5a.png)

__[Use custom namaservers]__にチェックした、OCIで作成したDNSゾーンを管理するDNSサーバを入力。
__[Change Nameservers]__ボタンを押下。
![oci_dns_20201123_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236988/54bdadda-bc5f-c711-1916-146a2bc28d88.png)


これでWEBサーバに接続するための設定は完了です！
しばらく時間が経ってから、「www.取得したドメイン名」でWEBサーバにアクセスして表示されればOKです。