【GCP入門編・第26回】 Cloud DNS でドメインの DNS レコードを作成しよう!

【GCP入門編・第26回】 Cloud DNS でドメインの DNS レコードを作成しよう!

GCP

投稿日:2018/12/10 | 最終更新日:2018/12/26

独自のドメインを使って、開発したサービスを公開したりメールサーバーを運用したりする際に必要となるのが DNS サーバーの設定です。ドメインをドメインレジストラで購入し、ドメインレジストラが提供する DNS サーバーで設定を行ったことがある方は多いのではないでしょうか。

GCP では Cloud DNS という名前で DNS のサービスが提供されています。信頼性が非常に高く、レイテンシーの低い Google の DNS サーバーを使用して、自分のドメインの名前解決を行うことが可能です。 Google の SLA は、Google の権威ネームサーバーについて 100% の可用性を保証しており、本番環境で使用する DNS サーバーとして安心して利用できるサービスとなっています。

さらに、 Cloud DNS は他のGCPのサービスと同様、コマンドラインや API 経由で DNS レコードの作成や編集を行うことが可能です。プログラマブルに DNS のレコードを編集可能なため、アプリケーションが自動的に DNS の設定を行うようなケースにも対応できます。

この記事では、 Cloud DNS を使用して、取得したドメインの DNS レコードを作成してみます。ウェブブラウザのコンソールと、 gcloud コマンドを使用した例を紹介します。

この記事の目的

  • Cloud DNS を使用して、取得したドメインの DNS レコードを作成しよう。

ゾーンを作成する

ゾーン (Cloud DNS での正式名称はマネージド ゾーン)とは、同じドメイン名(例: example.com)を共有する DNS レコードをすべて格納するコンテナのことを指します。

ゾーンを作成すると、そのゾーンに対する DNS クエリへのレスポンスを処理するためにネームサーバーのセットが自動的に割り当てられます。

まずはウェブブラウザで GCP のコンソールを開き、左側のメニューから [Network services] をクリックし、次に [Cloud DNS] をクリックします。

下の画面のように、 Cloud DNS のゾーン一覧ページが開きます。一つもゾーンを作成していない状態では、 [Create Zone] ボタンが表示されているのみとなっているでしょう。

[Create Zone] をクリックすることで、新規ゾーンの作成画面に移動します。下の画面に表示されているように、 Zone name に “my-example-zone” と入力し、 DNS name に取得したドメイン名を入力します。 DNS SEC は off のままに、 Description は空白のままにします。

入力が完了したら、 [Create] をクリックします。これでゾーンの作成は完了です。Zone details のページにリダイレクトされ、作成されたゾーンの情報が閲覧できます。

ここまでの操作を行ったら、次にドメインレジストラに移動してネームサーバーを設定します。ネームサーバーの設定はドメインレジストラごとに異なりますが、指定するネームサーバーの一覧は Zone details のページの [Registrar Setup] をクリックすると表示されます。ネームサーバーの一覧は下の画面のように表示されます。

ドメインレジストラでのネームサーバー設定が完了したら、レコードの追加を行いましょう。

レコードの追加を行う

レコードの追加は Zone details ページの [Add Record set] ボタンをクリックすると行うことができます。ボタンをクリックすると、下の画面のようにレコードの情報を入力する画面が表示されます。

この例では、 gcp.design というゾーンに、 www.gcp.design というドメイン名のAレコードを追加しています。 [Resource Record Type] をクリックするとレコードのタイプを選択することが可能です。

情報の入力が完了したら、 [Create] をクリックします。10分ほど時間が経ったら、ターミナルを開き、以下のコマンドで名前解決が行えるかどうか試してみましょう。

nsloookup www.gcp.design

上のコマンドを実行すると、以下の画面のように設定した IP アドレスが表示されるでしょう。

gcloud コマンドを利用して、レコードの追加を行う

Cloud DNS では gcloud コマンドを利用してゾーンの管理を行うことが可能です。ここでは、 gcloud コマンドを利用してレコードの追加を行ってみましょう。

まず、ゾーンの一覧を gcloud コマンドで表示してみます。以下のコマンドを実行すると、先ほど作成したゾーンが表示されます。

gcloud dns managed-zones list

次に、このゾーンに登録されているレコードの一覧を表示します。以下のコマンドを実行します。

gcloud dns record-sets list --zone=my-example-zone

それでは、このゾーンに新規にレコードを追加します。ゾーンの追加は、トランザクションを開き、レコードの操作を行い、トランザクションを閉じるという手順で行われます。

トランザクションは、一緒に伝播すべき 1 つ以上のレコード変更のグループです。したがって、トランザクション全体が成功または失敗のいずれかになるため、データが中間状態のままになることはありません。

まず、以下のコマンドでトランザクションを開始します。実行後は以下の画面のように、メッセージのみが表示されます。

gcloud dns record-sets transaction start -z=my-example-zone

次に例として、app.gcp.designを追加します。以下のコマンドでトランザクションにレコードを作成する操作が追加されます。

gcloud dns record-sets transaction add -z=my-example-zone \
--name="app.gcp.design." --type A --ttl=300 "IPアドレス"

この時点ではまだ、操作は実行されていません。次のコマンドを実行することで、トランザクションが実行されます。

gcloud dns record-sets transaction execute -z=my-example-zone

上の画面のように、トランザクションID, 開始時間、状態が表示されます。record-set list コマンドで追加が正常に行われたかどうか確認してみましょう。

gcloud dns record-sets list --zone=my-example-zone

おわりに

いかがでしたか。 Cloud DNS では コンソールからでも、 gcloud コマンドでも DNS ゾーンの管理を簡単に行うことが可能です。
GCP 上で独自ドメインを用いた各種サービス開発を行なっている場合には、 DNS 管理を一元化でき、 Google の高い可用性と低いレイテンシの恩恵を受けることが可能な Cloud DNS を一度検討してみてはいかがでしょうか。

同じシリーズの記事

GCP のメリットを最大限に活用しよう!

GCP・G Suite のご相談・
お見積り依頼はお気軽に
TEL.03-5840-8815
お問合せフォーム TEL.03-5840-8815