お名前.com で取得したDomainを Oracle Cloud DNS へ切り替え

# はじめに

お名前.com で取得したDomain名をOracle Cloud(OCI DNS)に切り替えて利用する手順を確認します。
難しい作業ではないですが、頻繁にやることはないため、備忘録のために残しておきます。

なお、GoogleのPublicDNS(8.8.8.8, 8.8.4.4)を参照しているClientは即座に切り替えることができます。それ以外の環境では各種環境に存在するDNSサーバのキャッシュの有効期限(TTL)依存するため、注意が必要です



# お名前.comでDomainを取得

お名前.comで適当にDomain名を購入します。今回は、 `sugi.tokyo` を取得して手順を進めていきます

<https://www.onamae.com/> 



# OCI DNSで Zoneを作成

OCIのDNSサービスで、`sugi.tokyo` の名前を指定してZoneを作成します

```
oci dns zone create --name "sugi.tokyo" --zone-type PRIMARY
```



# NSレコードをお名前.comに登録

作成した Zone に DNSのNSレコードが4個自動生成されています。NSレコードは、Zoneを管理するOracle Cloud側のDNSのHostnameを指示しており、NSレコードの値をお名前.comに登録する必要があります。

まずは、NSレコードの値を確認します。`rdata` の値がコピーすべき値となります。

```
> oci dns record zone get --zone-name-or-id "sugi.tokyo"                                                                            865ms{
  "data": {
    "items": [
      {
        "domain": "sugi.tokyo",
        "is-protected": true,
        "rdata": "ns1.p68.dns.oraclecloud.net. hostmaster.sugi.tokyo. 1 3600 600 604800 1800",
        "record-hash": "0db9bd8eceab1b9b991612d7a826c2e9",
        "rrset-version": "1",
        "rtype": "SOA",
        "ttl": 300
      },
      {
        "domain": "sugi.tokyo",
        "is-protected": true,
        "rdata": "ns1.p68.dns.oraclecloud.net.",  <=========================== copy
        "record-hash": "2877b2981e939f995ec409b195897828",
        "rrset-version": "1",
        "rtype": "NS",
        "ttl": 86400
      },
      {
        "domain": "sugi.tokyo",
        "is-protected": true,
        "rdata": "ns2.p68.dns.oraclecloud.net.",  <=========================== copy
        "record-hash": "72e437814dd9c1d2b889d1d115d4881e",
        "rrset-version": "1",
        "rtype": "NS",
        "ttl": 86400
      },
      {
        "domain": "sugi.tokyo",
        "is-protected": true,
        "rdata": "ns4.p68.dns.oraclecloud.net.",  <=========================== copy
        "record-hash": "80fbeff211fc58639b7f19b59e0ccd09",
        "rrset-version": "1",
        "rtype": "NS",
        "ttl": 86400
      },
      {
        "domain": "sugi.tokyo",
        "is-protected": true,
        "rdata": "ns3.p68.dns.oraclecloud.net.",  <=========================== copy
        "record-hash": "a22f74cec398c11b977356514469ad9c",
        "rrset-version": "1",
        "rtype": "NS",
        "ttl": 86400
      }
    ]
  },
  "etag": "\"1ocid1.dns-zone.oc1..9326908001ed4a78ab40eca25b44f225#application/json--gzip\"",
  "opc-total-items": "5"
}
```



お名前.comでLogin後、ドメインに関する設定から`sugi.tokyo`へ移動し、「ネームサーバの変更」を押します。
NSレコードの4個の値を ネームサーバ1 ~ ネームサーバ4 へ登録をします。



# GoogleDNSのキャッシュ削除サービス

以下にアクセスすると、GoogleDNS(8.8.8.8 or 8.8.4.4) のキャッシュをすぐに削除できるため、反映をすぐに確認できます。

https://developers.google.com/speed/public-dns/cache



# 名前解決動作確認

## NSレコードの確認

dig コマンドを使用して、GoogleDNSから名前解決の動作確認を行います



```
dig +dnssec @8.8.4.4 sugi.tokyo. NS
```



実行例
`ANSWER SECTION:` の下に、登録したNSレコードの4個が表示されています。

```
> dig +dnssec @8.8.8.8 sugi.tokyo. NS                                                                                               191ms
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> +dnssec @8.8.8.8 sugi.tokyo. NS
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48303
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;sugi.tokyo.                    IN      NS

;; ANSWER SECTION:
sugi.tokyo.             21599   IN      NS      ns2.p68.dns.oraclecloud.net.
sugi.tokyo.             21599   IN      NS      ns3.p68.dns.oraclecloud.net.
sugi.tokyo.             21599   IN      NS      ns4.p68.dns.oraclecloud.net.
sugi.tokyo.             21599   IN      NS      ns1.p68.dns.oraclecloud.net.

;; Query time: 198 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Feb 10 02:47:40 DST 2019
;; MSG SIZE  rcvd: 134
```



## Aレコードの確認

適当にAレコードを作成します。OCIのサービスコンソール画面から、`test.sugi.tokyo`を`192.168.254.254` へ名前解決するAレコードを作成します

```
dig +dnssec @8.8.8.8 test.sugi.tokyo. A
```



実行例

`ANSWER SECTION:` の下に、登録したAレコード(192.168.254.254)が表示されています。

```
> dig +dnssec @8.8.8.8 test.sugi.tokyo. A                                                                                           247ms
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> +dnssec @8.8.8.8 test.sugi.tokyo. A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1074
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;test.sugi.tokyo.               IN      A

;; ANSWER SECTION:
test.sugi.tokyo.        24      IN      A       192.168.254.254

;; Query time: 40 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Feb 10 02:57:52 DST 2019
;; MSG SIZE  rcvd: 60
```



# 参考URL

https://qiita.com/sugimount/items/ffb06c37b46d87c220f8