【GCP入門編・第26回】 Cloud DNS でドメインの DNS レコードを作成しよう!
- Cloud DNS
- DNS サーバー
- GCP入門編
独自のドメインを使って、開発したサービスを公開したりメールサーバーを運用したりする際に必要となるのが 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 を一度検討してみてはいかがでしょうか。
弊社トップゲートでは、Google Cloud (GCP) 利用料3%OFFや支払代行手数料無料、請求書払い可能などGoogle Cloud (GCP)をお得に便利に利用できます。さらに専門的な知見を活かし、
- Google Cloud (GCP)支払い代行
- システム構築からアプリケーション開発
- Google Cloud (GCP)運用サポート
- Google Cloud (GCP)に関する技術サポート、コンサルティング
など幅広くあなたのビジネスを加速させるためにサポートをワンストップで対応することが可能です。
Google Workspace(旧G Suite)に関しても、実績に裏付けられた技術力やさまざまな導入支援実績があります。あなたの状況に最適な利用方法の提案から運用のサポートまでのあなたに寄り添ったサポートを実現します!
Google Cloud (GCP)、またはGoogle Workspace(旧G Suite)の導入をご検討をされている方はお気軽にお問い合わせください。
お問合せはこちら
メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!