Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第10章:Cloud DNS:インターネットの「電話帳」サービス

  • mhmh
  • GCP
  • 6月 16, 2025
  • 0 コメント

インターネットでWebサイトを見るとき、あなたは「google.com」や「yahoo.co.jp」のようなドメイン名を入力しますよね。でも、コンピューターはこのような人間が読めるドメイン名ではなく、「172.217.161.142」のようなIPアドレスで通信しています。

では、どうやってドメイン名とIPアドレスを結びつけているのでしょうか? その役割を果たすのがDNS(Domain Name System)というシステムです。そして、GCPが提供するDNSサービスが「Cloud DNS」です。

例えるなら、Cloud DNSはインターネット上の「電話帳」サービスのようなものです。あなたが「〇〇さんの電話番号は何番?」と電話帳に問い合わせるように、インターネット上のコンピューターはCloud DNSに「example.comのIPアドレスは何番?」と問い合わせて、正しいIPアドレスを知ることで通信ができるようになります。

Cloud DNSとは?

Cloud DNSは、Google Cloudが提供する高性能でグローバルなDNSサービスです。ドメイン名とIPアドレスのマッピング(対応付け)を管理する「ゾーン」と呼ばれる情報をホストし、世界中の問い合わせに応答します。

  • 何ができるの?
    • あなたが取得したドメイン名(例: my-awesome-app.com)と、GCP上で動かしているWebサーバーの外部IPアドレスを紐付けます。
    • サブドメイン(例: api.my-awesome-app.comdev.my-awesome-app.com)も管理できます。
    • 内部的なドメイン名(インターネットからは引けない)をVPCネットワーク内で解決するためにも使えます。(後述の「プライベートゾーン」)
  • 特徴:
    • 高可用性・低レイテンシ: Googleのグローバルなインフラ上で動作するため、非常に高速で信頼性が高く、世界中からのDNSクエリ(問い合わせ)に素早く応答します。
    • マネージドサービス: DNSサーバーの構築や運用、スケーリングといった面倒な作業は全てGoogleが担当してくれます。あなたはレコードの管理に集中できます。
    • スケーラブル: 大量のクエリにも自動的に対応し、トラフィックが増えても安定して動作します。
    • グローバルリソース: Cloud DNSは、リージョンやゾーンに紐付かないグローバルリソースです。一度設定すれば、世界中のどこからでも同じ設定が利用できます。

DNSの基本的な用語とCloud DNSでの管理

Cloud DNSを使う上で、いくつか知っておくべき基本的なDNSの用語があります。

  1. ドメイン名 (Domain Name):
    • 人間が覚えやすいインターネット上の名前(例: example.com, google.com)。
  2. ゾーン (Zone):
    • 特定のドメイン名に関するDNSレコードの集合体を管理する単位です。Cloud DNSでは、この「ゾーン」を作成して、あなたのドメイン名を管理します。
    • 例えば、example.comというドメイン名を管理したい場合、example.comという名前の「マネージドゾーン」をCloud DNSで作成します。
  3. レコードセット (Record Set / Resource Record):
    • ドメイン名とIPアドレスなどの具体的な情報を紐付けるエントリのことです。「リソースレコード」とも呼ばれます。
    • 電話帳でいうところの「名前と電話番号のペア」です。
    • 様々な種類がありますが、GCPでよく使うものをいくつか紹介します。
      • Aレコード (Address Record):
        • ドメイン名にIPv4アドレスを紐付けるためのレコード。最も一般的です。
        • 例: example.com192.0.2.1
        • WebサーバーのIPアドレスをドメイン名に紐付ける際に使います。
      • AAAAレコード (Quad-A Record):
        • ドメイン名にIPv6アドレスを紐付けるためのレコード。
      • CNAMEレコード (Canonical Name Record):
        • ドメイン名に別のドメイン名を紐付けるためのレコード。エイリアス(別名)を設定する際に使います。
        • 例: www.example.comexample.com (つまり、www.example.comexample.comと同じIPアドレスを参照する)
      • NSレコード (Name Server Record):
        • そのドメイン名を管理しているネームサーバーを指定するレコード。Cloud DNSでゾーンを作成すると、GCPが管理するネームサーバーのアドレスが自動的に払い出されます。あなたはドメイン取得サービス(お名前.com, ムームードメインなど)で、このNSレコードを登録する必要があります。
      • MXレコード (Mail Exchange Record):
        • そのドメイン宛のメールが送られるべきメールサーバーを指定するレコード。
      • TXTレコード (Text Record):
        • 任意のテキスト情報を紐付けるレコード。ドメイン認証やSPF(メール送信元認証)などに使われます。
      • PTRレコード (Pointer Record):
        • IPアドレスからドメイン名を引くための逆引きレコード。(通常はあまり意識しないかもしれません)

Cloud DNSの利用シナリオ

  1. パブリックDNS (Public DNS):
    • インターネット上にあなたのWebサイトやアプリケーションを公開する場合に利用します。
    • Cloud DNSでゾーンを作成し、AレコードなどでGCP上のWebサーバーの外部IPアドレスを登録します。
    • そして、ドメイン取得サービスで、あなたのドメインのネームサーバーをCloud DNSが払い出したNSレコードに設定します。
    • これで、世界中のユーザーがあなたのドメイン名であなたのGCP上のサービスにアクセスできるようになります。
  2. プライベートDNS (Private DNS):
    • GCPのVPCネットワーク内だけで利用できるDNSサービスです。インターネットからは参照できません。
    • 例えば、VPCネットワーク内のアプリケーションサーバーから、データベースサーバーをIPアドレスではなく、my-database.internalのようなドメイン名でアクセスしたい場合に利用します。
    • これにより、内部リソースのIPアドレスが変更されても、ドメイン名を変更するだけで対応できるため、管理が楽になります。
    • セキュリティも向上します。

まとめ:インターネットの案内役

Cloud DNSは、GCP上でアプリケーションを公開したり、内部リソース間の連携をスムーズにしたりするために不可欠なサービスです。

  • インターネットの「電話帳」として、ドメイン名とIPアドレスを結びつける重要な役割を担います。
  • 高可用性、低レイテンシ、マネージドであるため、安心して利用できます。
  • 特にパブリックDNSプライベートDNSの2種類の使い方があることを覚えておきましょう。
  • Webサイトを公開する際は、ドメイン取得サービスでのNSレコードの設定と、Cloud DNSでのAレコードの設定の両方が必要になります。

まずは、あなたのGCPプロジェクトでCloud DNSの「マネージドゾーン」を作成してみて、どのような設定ができるのか触れてみることをお勧めします。

mh

Related Posts

  • mhmh
  • GCP
  • 6月 18, 2025
  • 8 views
Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第11章:Cloud Load Balancing:あなたのGCPリソースを「賢く振り分ける交通整理の達人」

  • mhmh
  • GCP
  • 6月 14, 2025
  • 28 views
Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第9章:IPアドレス(外部IP、内部IP、静的IP):GCPリソースの「住所」と「電話番号」

You Missed

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第11章:Cloud Load Balancing:あなたのGCPリソースを「賢く振り分ける交通整理の達人」

  • 投稿者 mh
  • 6月 18, 2025
  • 8 views

Kubernetes Learning 第37章:JenkinsやGitHub ActionsからのKubernetesデプロイ例 ~CI/CDツールとKubernetesをつなげてみよう~

  • 投稿者 mh
  • 6月 17, 2025
  • 11 views

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第10章:Cloud DNS:インターネットの「電話帳」サービス

  • 投稿者 mh
  • 6月 16, 2025
  • 15 views

Kubernetes Learning 第36章:Argo CDとFluxの概要~Kubernetesの自動運用を支えるGitOpsツール~

  • 投稿者 mh
  • 6月 15, 2025
  • 30 views

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第9章:IPアドレス(外部IP、内部IP、静的IP):GCPリソースの「住所」と「電話番号」

  • 投稿者 mh
  • 6月 14, 2025
  • 28 views

Kubernetes Learning 第35章:GitOpsとは?~Kubernetes運用をもっとスマートにする考え方~

  • 投稿者 mh
  • 6月 13, 2025
  • 51 views