このページでは、リソース レコードセットの追加、更新、削除について説明します。
サポートされているリソース レコード タイプのリストについては、サポートされているリソース レコード タイプをご覧ください。
始める前に
マネージド ゾーンを作成します。マネージド ゾーンの作成の前提条件を満たし、マネージド ゾーンを作成します。
サポートされているリソース レコードのタイプを選択します。リソース レコードセットのリソース レコード タイプを選択します。
リソース レコードセットを追加
リソース レコードセットを追加する手順は次のとおりです。
コンソール
Google Cloud コンソールで、Cloud DNS の [ゾーン] ページに移動します。
レコードを追加するマネージド ゾーンの名前をクリックします。
[ゾーンの詳細] ページで、[標準を追加] をクリックします。
[レコードセットの作成] ページの [DNS 名] フィールドに、DNS ゾーンのサブドメインを入力します(例:
mail
)。末尾にドットが自動的に追加されます。ワイルドカード DNS レコードを作成するには、アスタリスクを入力します(例:
*.example.com
)。アットマーク(@)を使用しても、自動的に apex レコードは作成されません。ドメインの apex にリソース レコードを作成するには、[DNS 名] フィールドを空白のままにします。
リソース レコードのタイプ(例:
MX
)を選択します。[TTL] フィールドに、リソース レコードの有効期間を数値で入力します。これはキャッシュに保存できる時間です。この値は正の整数である必要があります
[TTL ユニット] メニューから、時間の単位(例:
minutes
)を選択します。選択したリソース レコードのタイプに応じて、残りのフィールドに値を入力します。
追加情報を入力するには、[項目を追加] をクリックします。
[作成] をクリックします。
gcloud
リソース レコードセットを作成するには、gcloud dns record-sets create
コマンドを使用します。
gcloud dns record-sets create RRSET_NAME \ --rrdatas=RR_DATA \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE
以下を置き換えます。
RRSET_NAME
: サフィックスとしてこのゾーンの DNS 名を使用した受信クエリと一致する DNS 名(例:test.example.com
)RR_DATA
: リソース レコードセットに関連付けられた任意の値(例:198.51.100.5
)。rrdata1
rrdata2
rrdata3
のように、複数の値を入力することもできます(例:198.51.100.5
10.2.3.4
...)。TTL
: リゾルバがこのリソース レコードセットをキャッシュに保存する秒単位の TTL(例:30
)RRSET_TYPE
: このリソース レコードセットのリソース レコードタイプ(例:A
)MANAGED_ZONE
: このリソース レコードセットが関連しているマネージド ゾーン(例:my-zone-name
)。このリソース レコードセットの名前には、サフィックスとしてマネージド ゾーンの DNS 名が必要です。
API
リソース レコードセットを追加するには、resourceRecordSets.create
メソッドを使用します。
POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": RRSET_NAME, "type": RRSET_TYPE, "ttl": TTL, "rrdatas": [[RR_DATA_1, RR_DATA_2]] }
以下を置き換えます。
PROJECT_ID
: プロジェクトの IDMANAGED_ZONE
: このリソース レコードセットが関連しているマネージド ゾーン(例:my-zone-name
)。このリソース レコードセットの名前には、サフィックスとしてマネージド ゾーンの DNS 名が必要です。RRSET_NAME
: サフィックスとしてこのゾーンの DNS 名を使用した受信クエリと一致する DNS 名(例:test.example.com
)RRSET_TYPE
: このリソース レコードセットのリソース レコードタイプ(例:A
)TTL
: リゾルバがこのリソース レコードセットをキャッシュに保存する秒単位の TTL(例:30
)RR_DATA
: リソース レコードセットに関連付けられた任意の値(例:198.51.100.5
)。rrdata1
rrdata2
rrdata3
のように、複数の値を入力することもできます(例:198.51.100.5
10.2.3.4
...)。
Terraform
トランザクションでリソース レコードセットのコレクションを追加する
変更を指定するトランザクションを作成することで、複数のリソース レコードセットを追加できます。トランザクションは、1 つ以上の DNS レコード変更のグループであり、単位として適用する必要があります。トランザクション全体が成功または失敗のいずれかになるため、データが不整合状態のままになることはありません。トランザクションを作成できるのは、gcloud CLI または Cloud DNS API を使用する場合のみです。
トランザクションを作成する手順は次のとおりです。
gcloud
トランザクションを開始するには、
gcloud dns record-sets transaction start
コマンドを使用します。gcloud dns record-sets transaction start \ --zone=MANAGED_ZONE
MANAGED_ZONE
は、リソースレコードセットを管理するマネージド ゾーンの名前に置き換えます(例:my-zone-name
)。レコードセットをトランザクションの一部として追加するには、
gcloud dns record-sets transaction add
コマンドを使用します。gcloud dns record-sets transaction add RR_DATA \ --name=DNS_NAME \ --ttl=TTL \ --type=RECORD_TYPE \ --zone=MANAGED_ZONE
以下を置き換えます。
RR_DATA
: リソース レコードセットに関連付けられた任意の値(例:198.51.100.5
)。rrdata1
rrdata2
rrdata3
のように、複数の値を入力することもできます(例:198.51.100.5
10.2.3.4
...)。DNS_NAME
: 追加するレコードセットの DNS またはドメイン名(例:test.example.com
)TTL
: レコードセットの有効期間(TTL)の秒数(例:300
)RECORD_TYPE
: レコードタイプ(例:A
)MANAGED_ZONE
: リソース レコードセットを管理するマネージド ゾーンの名前(例:my-zone-name
)
トランザクションを実行するには、
gcloud dns record-sets transaction execute
コマンドを使用します。gcloud dns record-sets transaction execute \ --zone=MANAGED_ZONE
ワイルドカード トランザクションを追加するには、
gcloud dns record-sets transaction add
コマンドを使用します。gcloud dns record-sets transaction add \ --zone=MANAGED_ZONE \ --name=WILDCARD_DNS_NAME \ --type=RECORD_TYPE \ --ttl=TTL
以下を置き換えます。
MANAGED_ZONE
: リソース レコードセットを管理するマネージド ゾーンの名前(例:my-zone-name
)WILDCARD_DNS_NAME
: 追加するリソース レコードセットの DNS またはドメイン名(例:*.example.com.
。末尾のドットに注意)RECORD_TYPE
: レコードタイプ(例:CNAME
)TTL
: レコードセットの TTL の秒数(例:300
)
API
新しいリソース レコード セットを含むトランザクションを作成するには、changes.create
メソッドを使用します。
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/changes
{ "deletions": [] "additions": [ { "name": DNS_NAME, "type": RECORD_TYPE, "ttl": TTL, "rrdatas": [ RR_DATA ] } ] }
以下を置き換えます。
PROJECT_ID
: プロジェクト IDMANAGED_ZONE
: マネージド ゾーン名または IDDNS_NAME
: レコードセットの DNS またはドメイン名(例:test.example.com.
。末尾のドットに注意)RECORD_TYPE
: レコードタイプTTL
: レコードセットの有効期間(TTL)の秒数(例:30
)RR_DATA
: リソース レコードセットに関連付けられた任意の値(例:198.51.100.5
)。rrdata1
rrdata2
rrdata3
のように、複数の値を入力することもできます(例:198.51.100.5
10.2.3.4
...)。
ドメインにメールを配信するには、MX
レコードをゾーンに追加する必要があります。Simple Mail Transfer Protocol(SMTP)プロバイダとして Google Workspace を使用している場合は、Google Workspace の MX
レコードを設定するのサポートページをご覧ください。それ以外の場合は、プロバイダの MX
レコードの詳細を使用して、Google Workspace で説明されている設定プロセスに沿って操作します。
ゾーンのリソース レコードセットを表示する
ゾーンのリソース レコードセットを表示する手順は次のとおりです。
コンソール
Google Cloud Console で、[Cloud DNS] ページに移動します。
[ゾーン] タブで、リソース レコードセットを表示するゾーンをクリックします。
[ゾーンの詳細] ページに、そのゾーンのすべてのリソース レコードセットの詳細が表示されます。
gcloud
ゾーンの DNS レコードを表示するには、gcloud dns record-sets list
コマンドを使用します。
gcloud dns record-sets list \ --zone="ZONE_NAME"
ZONE_NAME
は、プロジェクトの DNS ゾーンの名前に置き換えます。
このコマンドは、最初の 100 件のレコードについてリソース レコードセットの JSON レスポンスを出力します。次の追加のパラメータを指定できます。
--limit
: 表示されるレコードセットの最大数。--name
: このドメイン名と完全に一致するリソース レコードセットのみをリスト表示します。--type
: このタイプのレコードのみを一覧表示します。指定する場合は、--name
パラメータも指定する必要があります。
API
ゾーンの DNS レコードを表示するには、resourceRecordSets.list
メソッドを使用します。
GET https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONErrsets
以下を置き換えます。
PROJECT_ID
: プロジェクトの IDMANAGED_ZONE
: このリソース レコードセットが関連しているマネージド ゾーン(例:my-zone-name
)。このリソース レコードセットの名前には、サフィックスとしてマネージド ゾーンの DNS 名が必要です。
リソース レコードセットの詳細を表示する
この手順では、マネージド Cloud DNS ゾーン内にリソース レコードセットがすでに作成されていることを前提としています。
既存のリソース レコードセットの詳細を表示する手順は次のとおりです。
コンソール
Google Cloud コンソールで、Cloud DNS の [ゾーン] ページに移動します。
リソース レコードセットを含むゾーンをクリックします。
詳細を表示するリソース レコードセットをクリックします。
[リソース レコードセットの詳細] ページに、リソース レコードセットの詳細が表示されます。
gcloud
既存のリソース レコードセットの詳細を表示するには、gcloud dns record-sets describe
コマンドを使用します。
gcloud dns record-sets describe RRSET_NAME \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE
以下を置き換えます。
RRSET_NAME
: サフィックスとしてこのゾーンの DNS 名を使用した受信クエリと一致する DNS 名(例:test.example.com
)RRSET_TYPE
: このリソース レコードセットのリソース レコードタイプ(例:A
)MANAGED_ZONE
: このリソース レコードセットが関連しているマネージド ゾーン(例:my-zone-name
)。このリソース レコードセットの名前には、サフィックスとしてマネージド ゾーンの DNS 名が必要です。
API
既存のリソース レコードセットの詳細を取得するには、resourceRecordSets.get
メソッドを使用します。
GET https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE
以下を置き換えます。
PROJECT_ID
: プロジェクトの IDMANAGED_ZONE
: このリソース レコードセットが関連しているマネージド ゾーン(例:my-zone-name
)。このリソース レコードセットの名前には、サフィックスとしてマネージド ゾーンの DNS 名が必要です。RRSET_NAME
: サフィックスとしてこのゾーンの DNS 名を使用した受信クエリと一致する DNS 名(例:test.example.com
)RRSET_TYPE
: このリソース レコードセットのレコードタイプ(例:A
)
リソース レコードセットを更新する
レコードセットを変更する手順は次のとおりです。
コンソール
既存のリソース レコードセットに部分更新を適用する手順は次のとおりです。
Google Cloud コンソールで、Cloud DNS の [ゾーン] ページに移動します。
リソース レコードセットを更新するゾーンをクリックします。
[ゾーンの詳細] ページで、更新するリソース レコードセットの横にある [edit 編集] をクリックします。
必要な更新を行った後、[保存] をクリックします。
gcloud
既存のリソース レコードセットに部分更新を適用するには、gcloud dns record-sets update
コマンドを使用します。
gcloud dns record-sets update RRSET_NAME \ --rrdatas=RR_DATA \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE
以下を置き換えます。
RRSET_NAME
: サフィックスとしてこのゾーンの DNS 名を使用した受信クエリと一致する DNS 名(例:test.example.com
)RR_DATA
: リソース レコードセットに関連付けられた任意の値(例:198.51.100.5
)。rrdata1
rrdata2
rrdata3
のように、複数の値を入力することもできます(例:198.51.100.5
10.2.3.4
...)。TTL
: リゾルバがこのリソース レコードセットをキャッシュに保存する秒単位の TTL(例:30
)RRSET_TYPE
: このリソース レコードセットのリソース レコードタイプ(例:A
)MANAGED_ZONE
: このリソース レコードセットが関連しているマネージド ゾーン(例:my-zone-name
)。このリソース レコードセットの名前には、サフィックスとしてマネージド ゾーンの DNS 名が必要です。
API
既存のリソース レコードセットに部分更新を適用するには、resourceRecordSets.patch
メソッドを使用します。
PATCH https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE { "ttl": TTL, "rrdatas": RR_DATA, "update_mask": { "paths": ["rrset.ttl", "rrset.rrdatas"] } }
以下を置き換えます。
PROJECT_ID
: プロジェクトの IDMANAGED_ZONE
: このリソース レコードセットが関連しているマネージド ゾーン(例:my-zone-name
)。このリソース レコードセットの名前には、サフィックスとしてマネージド ゾーンの DNS 名が必要です。RRSET_NAME
: サフィックスとしてこのゾーンの DNS 名を使用した受信クエリと一致する DNS 名(例:test.example.com
)RRSET_TYPE
: このリソース レコードセットのリソース レコードタイプ(例:A
)TTL
: リゾルバがこのリソース レコードセットをキャッシュに保存する秒単位の TTL(例:30
)RR_DATA
: リソース レコードセットに関連付けられた任意の値(例:198.51.100.5
)。rrdata1
rrdata2
rrdata3
のように、複数の値を入力することもできます(例:198.51.100.5
10.2.3.4
...)。
リソース レコードセットを削除する
リソース レコードセットを削除すると、その DNS レコードは完全に削除され、復元できなくなります。DNS レコードが失われるのを防ぐには、削除する前にリソース レコードセットをエクスポートします。リソース レコードセットのエクスポート方法については、リソース レコードセットのインポートとエクスポートをご覧ください。
Cloud DNS の一般公開ゾーンは権威ゾーンであり、ネームサーバー(NS
)と Start of Authority(SOA
)レコードタイプは、そのドメインのルートであるゾーン apex にあります。
Cloud DNS は、ゾーン apex に NS
レコードと SOA
レコードを自動的に作成します。これらのレコードは Cloud DNS API を使用して削除することはできません。ゾーンが削除されると自動的に削除されます。詳細については、RFC 1034 をご覧ください。
リソース レコードセットを削除する手順は次のとおりです。
コンソール
Google Cloud コンソールで、[Cloud DNS] ページに移動します。
[ゾーンの詳細] ページにゾーンのレコードが一覧表示されます。
ゾーン内のリソース レコードセットを削除するには、ゾーンの名前をクリックします。
削除するリソース レコードセットの横にあるチェックボックスをオンにします。
[レコードセットを削除] をクリックします。
gcloud
既存のリソース レコードセットを削除するには、gcloud dns record-sets delete
コマンドを使用します。
gcloud dns record-sets delete RRSET_NAME \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE
以下を置き換えます。
RRSET_NAME
: サフィックスとしてこのゾーンの DNS 名を使用した受信クエリと一致する DNS 名(例:test.example.com
)RRSET_TYPE
: このリソース レコードセットのリソース レコードタイプ(例:A
)MANAGED_ZONE
: このリソース レコードセットが関連しているマネージド ゾーン(例:my-zone-name
)。このリソース レコードセットの名前には、サフィックスとしてマネージド ゾーンの DNS 名が必要です。
API
既存のリソース レコードセットを削除するには、resourceRecordSets.delete
メソッドを使用します。
DELETE https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE
以下を置き換えます。
PROJECT_ID
: プロジェクトの IDMANAGED_ZONE
: このリソース レコードセットが関連しているマネージド ゾーン(例:my-zone-name
)。このリソース レコードセットの名前には、サフィックスとしてマネージド ゾーンの DNS 名が必要です。RRSET_NAME
: サフィックスとしてこのゾーンの DNS 名を使用した受信クエリと一致する DNS 名(例:test.example.com
)RRSET_TYPE
: このリソース レコードセットのリソース レコードタイプ(例:A
)
リソース レコードセットのインポートとエクスポート
リソース レコードセットをマネージド ゾーンの内外にコピーするには、import
コマンドと export
コマンドを使用します。インポートおよびエクスポートできる形式は、BIND ゾーンファイル形式または YAML ファイル形式のいずれかです。
gcloud
リソース レコードセットを作成するには、
dns record-sets import
コマンドを使用します。gcloud dns record-sets import -z=ZONE_NAME
ゾーンファイルのファイル形式を指定する場合は、
--zone-file-format
フラグを指定して前のコマンドを使用します。このフラグを省略する場合は、YAML 形式のゾーンファイルを指定する必要があります。ZONE_NAME
は、ゾーンの新しい名前に置き換えます。gcloud dns record-sets import
コマンドと--replace-origin-ns
フラグを使用すると、ゾーンの NS レコードがゾーンファイルで指定された NS レコードに置き換わります。これらのレコードは、Cloud DNS がゾーンをホストするために割り当てたネームサーバーと一致する必要があります。また、親(委任)ゾーンで指定されたNS
レコードと一致する必要もあります。デフォルトでは、Cloud DNS はNS
レコードを上書きしません。このフラグを使用する場合は、NS
レコードが正しいことを確認する必要があります。レコードセットを BIND ゾーン形式のファイルとしてインポートする場合は、ゾーンの apex を表すアットマーク(@)を削除します。BIND ゾーン形式のファイルでは、
example.com
などの DNS 名の場合、アットマーク(@)はexample.com.
を参照します。ただし、Cloud DNS では、レコード名の定義時にアットマーク(@)が文字通り扱われます。Cloud DNS でゾーンの apex のリソース レコードセットを作成するには、完全なドメイン名(例:example.com.
)を使用します。in.smtp IN MX 5 gmail-smtp-in.l.google.com in.smtp.example.com. IN MX 5 gmail-smtp-in.l.google.com.example.com.
ゾーンファイルをインポートするには、完全修飾が必要なドメイン名の末尾にドット(
.
)を追加します。
リソース レコードセットを作成するには、
dns record-sets export
コマンドを使用します。リソース レコードセットを BIND ゾーン形式のファイルにエクスポートするには、--zone-file-format
フラグを使用します。次に例を示します。example.com. 21600 IN NS ns-gcp-private.googledomains.com. example.com. 21600 IN SOA ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300 host1.example.com. 300 IN A 192.0.2.91
--zone-file-format
フラグを省略すると、export
はリソース レコードセットを YAML 形式のレコード ファイルにエクスポートします。gcloud dns record-sets export example.zone -z=examplezonename
次に例を示します。
--- kind: dns#resourceRecordSet name: example.com. rrdatas: - ns-gcp-private.googledomains.com. ttl: 21600 type: NS --- kind: dns#resourceRecordSet name: example.com. rrdatas: - ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300 ttl: 21600 type: SOA --- kind: dns#resourceRecordSet name: host1.example.com. rrdatas: - 192.0.2.91 ttl: 300 type: A
Cloud DNS は
ALIAS
レコードタイプをサポートしています。これは標準の DNS レコードタイプではなく、BIND
ではサポートされていません。リソース レコードセットをBIND
にエクスポートする場合、ALIAS
レコードはスキップされます。ゾーンにルーティング ポリシーがある場合、空のリソース レコードデータ(rrdata)を含むレコードとしてエクスポートされます。
サポートされているリソース レコードのタイプ
レコードタイプ | 入力 |
---|---|
A |
ホストの数値アドレス(IPv4 のドット付き 10 進数形式)。 |
AAAA |
ホストの数値 IP アドレス(IPv6 の 16 進数形式) |
ALIAS ([プレビュー](/products#product-launch-stages)) |
受信アドレスクエリを解決する正規名(例: |
CAA |
このドメインの証明書を発行する権限のある認証局(例:
権限のない CA がドメインに証明書を発行しないように、 |
CNAME |
また、
ネームサーバーが、CNAME 値によって参照される |
DNSKEY |
ZSK 鍵と KSK 鍵でレコードの信頼性を検証するためにリゾルバが使用する DNSSEC 公開鍵(例:
このレコードタイプは、 |
DS |
安全な委任ゾーンの DNSSEC キー フィンガープリント( このレコードタイプは、一般公開ゾーンでのみ追加できます。このレコード セットタイプは、委任されたゾーンに対して DNSSEC を有効にしません。有効にするには、このゾーンに対して DNSSEC を手動で有効にする必要があります。デフォルトでは、DNSSEC はゾーンで有効になっていません。 |
HTTPS 、SVCB |
サービスの優先度( |
IPSECVPNKEY |
IPsec 公開 VPN キー。 このレコードタイプは、一般公開ゾーンでのみ追加できます。 |
MX |
ドメインに代わってメールを受信するメール交換サーバーの優先値と DNS 名。SMTP サーバーでは、優先値の低いサーバーが優先されます。 例: 優先番号と DNS 名の間には、1 個のスペースを入れてください。入力する MX レコードの末尾は、ピリオドまたはドット( 優先度の異なる複数のレコードを作成してバックアップ メールサーバーを構成できます。また、同じ優先度を使用して複数のメールサーバーに負荷を分散することもできます。 たとえば、メールを Google Workspace アカウントに転送するには、次のように入力します。
|
NAPTR |
Dynamic Delegation Discovery System(DDDS)アプリケーションによって Uniform Resource Name(URN)をマッピングするために使用される Naming Authority Pointer ルール(例:
|
NS |
ドメインまたはサブドメインに DNS サービスを提供する権威ネームサーバーの DNS 名。 |
PTR |
完全修飾ドメイン名(FQDN)か、IP アドレスにマッピングされるドメインの正規名(例:
通常、 |
SPF |
|
SRV |
特定のサービスのサーバーの場所(ホスト名とポート番号)を指定するデータ(例: 詳細については、RFC 2782 をご覧ください。 |
SSHFP |
SSH サーバーのアルゴリズム番号、フィンガープリントの種類を表す番号、キー フィンガープリント(例: このゾーンの DNSSEC を有効にしている場合にのみ、このレコードタイプを使用してください。 |
TLSA |
名前付きエンティティの DNS ベースの認証(DANE)TLSA 証明書アソシエーションの情報。
TLSA レコードには、事前に構成されている一連の認証局(CA)に依存せずに X.509 証明書(HTTPS で使用される証明書など)の検証に使用される情報が含まれます(例: このゾーンの DNSSEC を有効にしている場合にのみ、このレコードタイプを使用してください。 |
TXT |
テキストデータ。任意のテキストを含めることができ、セキュリティ情報や不正防止情報などのマシンが読み取れるデータを定義するためにも使用できます。 TXT レコードには 1 つ以上のテキスト文字列を含めることができ、各文字列の最大長は 255 文字です。レコードデータが 255 バイトを超える場合は、レコードを 255 バイトの文字列に分割し、各文字列を引用符で囲みます(例: 複数の文字列がある場合は、メール エージェントや他のソフトウェア エージェントによって連結されます。 各文字列は引用符で囲みます(例: 各 TXT レコードの文字数の上限は 1,000 です。この上限を増やす必要がある場合は、Google Cloud サポートにお問い合わせください。 |
次のステップ
- リソース レコードセットの
gcloud
コマンドに関する情報については、gcloud dns record-sets
をご覧ください。 gcloud
または API オペレーションのステータスを確認するには、DNS 伝播のモニタリングをご覧ください。- Cloud DNS の使用時に発生する可能性のある一般的な問題の解決策については、トラブルシューティングをご覧ください。
- Cloud DNS の概要については、Cloud DNS の概要をご覧ください。