このページでは、リソース レコードセットを追加、更新、削除する方法について説明します。
サポートされているリソース レコードのタイプの一覧については、サポートされているリソース レコードのタイプをご覧ください。
始める前に
マネージド ゾーンを作成します。マネージド ゾーンを作成するための前提条件を満たし、マネージド ゾーンを作成します。
サポートされているリソース レコードのタイプを選択します。リソース レコードセットのリソース レコードのタイプを選択します。
リソース レコードセットを追加する
リソース レコードセットを追加する手順は次のとおりです。
コンソール
Trusted 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 ] }
次のように置き換えます。
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"
)。複数の値をカンマ区切りのリストで入力することもできます(例:"198.51.100.5","10.2.3.4"
)。
Terraform
トランザクションでリソース レコードセットのコレクションを追加する
複数のリソース レコードセットを追加するには、それらの変更を指定するトランザクションを作成します。トランザクションとは、1 つの単位として適用する必要がある 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
レコードをゾーンに追加する必要があります。簡易メール転送プロトコル(SMTP)プロバイダとして Google Workspace を使用する場合は、Google Workspace の MX
レコードを設定するのサポートページをご覧ください。それ以外の場合は、Google Workspace を使用する場合と同じ手順に沿って、利用するプロバイダの MX
レコードの詳細を設定します。
ゾーンのリソース レコードセットを表示する
ゾーンのリソース レコードセットを表示する手順は次のとおりです。
コンソール
Trusted Cloud コンソールで、[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 ゾーン内にリソース レコードセットがすでに作成されていることを前提とします。
既存のリソース レコードセットの詳細を表示する手順は次のとおりです。
コンソール
Trusted 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
)
リソース レコードセットを更新する
レコードセットを変更する手順は次のとおりです。
コンソール
既存のリソース レコードセットに部分更新を適用する手順は次のとおりです。
Trusted 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
レコードと SOA
レコードをゾーン apex に自動的に作成します。これらのレコードは、Cloud DNS API を使用して削除することはできません。ゾーンが削除されると自動的に削除されます。詳細については、RFC 1034 をご覧ください。
リソース レコードセットを削除する手順は次のとおりです。
コンソール
Trusted 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
フラグを省略すると、リソース レコードセットは 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)) |
受信アドレスクエリを解決する正規名(例: |
CNAME |
また、
ネームサーバーが、CNAME 値によって参照される |
HTTPS 、SVCB |
サービスの優先度( |
MX |
ドメインに代わってメールを受信するメール交換サーバーの優先値と DNS 名。SMTP サーバーでは、優先値の低いサーバーが優先されます。 例: 優先番号と DNS 名の間には、1 個のスペースを入れてください。入力する MX レコードの末尾は、ピリオドまたはドット( 優先度の異なる複数のレコードを作成してバックアップ メールサーバーを構成できます。また、同じ優先度を使用して複数のメールサーバーに負荷を分散することもできます。 たとえば、メールを Google Workspace アカウントに転送するには、次のように入力します。
|
NS |
ドメインまたはサブドメインに DNS サービスを提供する権威ネームサーバーの DNS 名。 |
SPF |
|
SRV |
特定のサービスのサーバーの場所(ホスト名とポート番号)を指定するデータ(例: 詳細については、RFC 2782 をご覧ください。 |
SSHFP |
SSH サーバーのアルゴリズム番号、フィンガープリントの種類を表す番号、キー フィンガープリント(例: このゾーンの DNSSEC を有効にしている場合にのみ、このレコードタイプを使用してください。 |
TXT |
テキストデータ。任意のテキストを含めることができ、セキュリティ情報や不正防止情報などのマシンが読み取れるデータを定義するためにも使用できます。 TXT レコードには 1 つ以上のテキスト文字列を含めることができ、各文字列の最大長は 255 文字です。レコードデータが 255 バイトを超える場合は、レコードを 255 バイトの文字列に分割し、各文字列を引用符で囲みます(例: 複数の文字列がある場合は、メール エージェントや他のソフトウェア エージェントによって連結されます。 各文字列は引用符で囲みます(例: 各 TXT レコードの文字数の上限は 1,000 です。この上限を引き上げる必要がある場合は、Trusted Cloud by S3NS サポートにお問い合わせください。 |
次のステップ
gcloud
のリソース レコードセットに関するコマンドの詳細については、gcloud dns record-sets
をご覧ください。gcloud
または API オペレーションのステータスを確認するには、DNS 伝播をモニタリングするをご覧ください。- Cloud DNS の使用時に発生する可能性のある一般的な問題の解決策については、トラブルシューティングをご覧ください。
- Cloud DNS の概要については、Cloud DNS の概要をご覧ください。