Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

DNS レコードタイプ

最終更新 Markdown で表示Agent セットアップ

このページでは、Cloudflare で管理できる主な DNS レコードタイプを説明します。DNS レコードの追加、編集、削除の手順は、DNS レコードの管理 を参照してください。


IP アドレス解決

Cloudflare 上の各ドメインには、少なくとも 1 件の IP アドレス解決 レコードが必要です。Cloudflare 経由で プロキシ できるのは、これらのレコードだけです。

A と AAAA

A レコードと AAAA レコード は、ドメイン名を 1 つまたは複数の IPv4 または IPv6 アドレスに対応付けます。

これらのレコードには、次のフィールドがあります。

  • 名前: サブドメイン、またはゾーン apex(@)。
    • 名前は、各ラベルが 63 文字以下(label1.label2.label3)で構成され、完全修飾ドメイン名(label1.label2.label3.example.com)が 253 文字を超えないようにします。
    • DNS ラベルには任意のオクテット(バイト値)を含められます。ただし、ホスト名および TLS 証明書との互換性のため、文字、数字、ハイフンのみを使うこと(LDH 規則)をおすすめします。これは DNS プロトコル上の要件ではないため、この規則に従わなくても DNS は動作します。
    • 先頭を文字にする必要はなく、末尾を文字または数字にする必要もありません。
    • アンダースコアは DNS で有効であり、サービスレコードでよく使われます。
  • IPv4/IPv6 アドレス: オリジンサーバーのアドレス(Cloudflare IP は指定できません)
  • TTL: Time to Live。DNS リゾルバーが再検証するまで応答をキャッシュする時間です。
    • プロキシステータスプロキシ済み の場合、この値は Auto(300 秒)になります。
    • プロキシステータスDNS のみ の場合、値をカスタマイズできます。
  • プロキシステータス: 詳細は プロキシされた DNS レコード を参照してください。
  • プライベートネットワークルーティング: 一部の Enterprise のお客様は プライベートネットワークルーティング も利用できます。A および AAAA レコードでは、公開ホスト名からプライベートネットワーク内のオリジンへ、HTTP/HTTPS トラフィックをプロキシできます。

API 呼び出しの例

API を使って A または AAAA レコードを作成するとき:

  • レコードの content は IP アドレスです(A は IPv4、AAAA は IPv6)。
  • proxied フィールドは、レコードの プロキシステータス に影響します。

フィールド定義は、API ドキュメント を参照してください(リクエスト本文の仕様でレコードタイプを選ぶと表示されます)。

Required API token permissions

At least one of the following token permissions is required:
  • DNS Write
Create DNS Recordbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"type": "A",
		"name": "www.example.com",
		"content": "192.0.2.1",
		"ttl": 3600,
		"proxied": false
	}'
レスポンスjson
{
	"result": {
		"id": "<ID>",
		"zone_id": "<ZONE_ID>",
		"zone_name": "example.com",
		"name": "www.example.com",
		"type": "A",
		"content": "192.0.2.1",
		"proxiable": true,
		"proxied": false,
		"ttl": 1,
		"locked": false,
		"meta": {
			"source": "primary"
		},
		"comment": null,
		"tags": [],
		"created_on": "2023-01-17T20:37:05.368097Z",
		"modified_on": "2023-01-17T20:37:05.368097Z"
	},
	"success": true,
	"errors": [],
	"messages": []
}

CNAME

CNAME レコード は、ドメイン名を別の(正規の)ドメイン名に対応付けます。ターゲットのドメイン名にあるほかのレコードタイプを解決するときにも使えます。

これらのレコードには、次のフィールドがあります。

  • 名前: サブドメイン、またはゾーン apex(@)。
    • 名前は、各ラベルが 63 文字以下(label1.label2.label3)で構成され、完全修飾ドメイン名(label1.label2.label3.example.com)が 253 文字を超えないようにします。
    • DNS ラベルには任意のオクテット(バイト値)を含められます。ただし、ホスト名および TLS 証明書との互換性のため、文字、数字、ハイフンのみを使うこと(LDH 規則)をおすすめします。これは DNS プロトコル上の要件ではないため、この規則に従わなくても DNS は動作します。
    • 先頭を文字にする必要はなく、末尾を文字または数字にする必要もありません。
    • アンダースコアは DNS で有効であり、サービスレコードでよく使われます。
  • ターゲット: トラフィックの転送先ホスト名(example.com)。
  • TTL: Time to Live。DNS リゾルバーが再検証するまで応答をキャッシュする時間です。
    • プロキシステータスプロキシ済み の場合、この値は Auto(300 秒)になります。
    • プロキシステータスDNS のみ の場合、値をカスタマイズできます。
  • プロキシステータス: 詳細は プロキシされた DNS レコード を参照してください。

プロキシ済み CNAME レコード

CNAME レコードを プロキシ済み から DNS のみへ、またはその逆へ変更する前に、特に次の点を確認してください。

  • ホスト名でトラフィックをプロキシする場合、CNAME レコードで別の CNAME レコードを指すことができます(www.example2.com --> www.example1.com --> www.example.com)。ただし、最終レコードは有効な IP アドレスを持つホスト名(したがって有効な A または AAAA レコード)を指す必要があります。また、同じ名前に対するほかのレコードタイプのクエリはサポートされません。

example.com の DNS 管理:

タイプ 名前 コンテンツ プロキシステータス
CNAME abc target.external.test プロキシ済み

external.test の DNS 管理:

タイプ 名前 コンテンツ
A target 192.0.2.1
TXT target "some TXT content"

この例では、abc.example.com への TXT クエリは、ターゲットゾーンの TXT コンテンツを返しません

  • Cloudflare は、より良いパフォーマンスを出すために CNAME flattening という処理を使います。この処理はいくつかの機能を支え、CNAME レコードに依存するさまざまな構成 と相互作用する場合があります。詳細は CNAME flattening のセクション を参照してください。

  • プロキシできない CNAME レコード(多くの場合、別の CDN プロバイダーに関連します)に遭遇した場合、そのレコードをプロキシすると接続エラーになります。Cloudflare は設定ミスから保護するため、意図的にそのレコードのプロキシを防いでいます。詳細は プロキシの制限 を参照してください。

API 呼び出しの例

API を使って CNAME レコードを作成するとき:

フィールド定義は、API ドキュメント を参照してください(リクエスト本文の仕様でレコードタイプを選ぶと表示されます)。

Required API token permissions

At least one of the following token permissions is required:
  • DNS Write
Create DNS Recordbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"type": "CNAME",
		"name": "www.example.com",
		"content": "www.another-example.com",
		"ttl": 3600,
		"proxied": false
	}'
レスポンスjson
{
	"result": {
		"id": "<ID>",
		"zone_id": "<ZONE_ID>",
		"zone_name": "example.com",
		"name": "www.example.com",
		"type": "CNAME",
		"content": "www.another-example.com",
		"proxiable": true,
		"proxied": false,
		"ttl": 1,
		"locked": false,
		"meta": {
			"source": "primary"
		},
		"comment": null,
		"tags": [],
		"created_on": "2023-01-17T20:37:05.368097Z",
		"modified_on": "2023-01-17T20:37:05.368097Z"
	},
	"success": true,
	"errors": [],
	"messages": []
}

メール認証

これらのレコードは、ドメインからメールを送るかどうかにかかわらず推奨されます。安全なメールレコード を作成すると、ドメインをメールのなりすましから守りやすくなります。

ドメインをメール送信に使っていない場合は、推奨される 制限的なレコード の作成について確認してください。

MX

メール交換(MX)レコードは、メールサーバーへメールを配送するために必要です。

フィールド定義は、API ドキュメント を参照してください(リクエスト本文の仕様でレコードタイプを選ぶと表示されます)。

DKIM

DomainKeys Identified Mail(DKIM)レコードは、メールに暗号署名を付けて真正性を保証します。

SPF

Sender Policy Framework(SPF)レコードは、ドメインの代理でメールを送れる認可済み IP アドレスとドメインを列挙します。

DMARC

Domain-based Message Authentication Reporting and Conformance(DMARC)レコードは、メールトラフィックに関する集計レポートを生成し、非準拠メールの扱いについて受信側へ明確な指示を出します。


特殊なレコード

TXT

テキスト(TXT)レコード は、DNS システムへテキストを登録できます。

TXT レコードのコンテンツは、二重引用符(")で区切られた 1 つ以上のテキスト文字列です。引用符の使い方が揃っていないと("this"these" ones" など)、検証エラーになる場合があります。新しいレコードでは、引用符なしで TXT コンテンツを保存すると、Cloudflare が自動で二重引用符を付けます。詳細は What is a DNS TXT record を参照してください。

Cloudflare では、TXT レコードは主に、自分のドメイン または Cloudflare for SaaS ドメイン の SSL/TLS 証明書を発行する前に、ドメイン所有権を示すために使います。

TXT でメール認証レコードを作成することもできますが、代わりに Email security Wizard を使うことを推奨します。

フィールド定義は、API ドキュメント を参照してください(リクエスト本文の仕様でレコードタイプを選ぶと表示されます)。

CAA

Certificate Authority Authorization(CAA)レコード は、ドメインの証明書を発行できる認証局(CA)を指定します。

フィールド定義は、API ドキュメント を参照してください(リクエスト本文の仕様でレコードタイプを選ぶと表示されます)。

SRV

サービスレコード(SRV) は、Voice over IP(VOIP)やインスタントメッセージなど、特定サービスのホストとポートを指定します。

API 呼び出しの例

フィールド定義は、API ドキュメント を参照してください(リクエスト本文の仕様でレコードタイプを選ぶと表示されます)。

Required API token permissions

At least one of the following token permissions is required:
  • DNS Write
Create DNS Recordbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"type": "SRV",
		"name": "_xmpp._tcp.example.com",
		"data": {
				"priority": 10,
				"weight": 5,
				"port": 5223,
				"target": "server.example.com"
		}
	}'
レスポンスjson
{
	"result": {
		"id": "<ID>",
		"zone_id": "<ZONE_ID>",
		"zone_name": "example.com",
		"name": "_xmpp._tcp.example.com",
		"type": "SRV",
		"content": "5 5223 server.example.com",
		"priority": 10,
		"proxiable": false,
		"proxied": false,
		"ttl": 1,
		"locked": false,
		"data": {
			"port": 5223,
			"priority": 10,
			"target": "server.example.com",
			"weight": 5
		},
		"meta": {
			"auto_added": false,
			"managed_by_apps": false,
			"managed_by_argo_tunnel": false,
			"source": "primary"
		},
		"comment": null,
		"tags": [],
		"created_on": "2022-11-08T15:57:39.585977Z",
		"modified_on": "2022-11-08T15:57:39.585977Z"
	},
	"success": true,
	"errors": [],
	"messages": []
}

SVCB と HTTPS

Service Binding(SVCB)レコードと HTTPS Service(HTTPS)レコードは、最初の平文 HTTP 接続なしに、サーバーへの接続方法をクライアントへ事前に伝えられます。

ドメインで HTTP/2 または HTTP/3 が有効 で、プロキシされた DNS レコード があり、Universal SSL も使っている場合、Cloudflare はクライアントへ接続方法を知らせるため、HTTPS レコードをその場で自動生成します。

プロキシ済みと DNS のみの名前

プロキシ済み(オレンジクラウド) の名前では、Universal SSL が有効なとき、Cloudflare が HTTPS レコードを自動合成します。プロキシ済みの名前に手動で追加した HTTPS レコードは返されません。Cloudflare は自動生成したレコードを使います。

Universal SSL を無効にしている場合(たとえば Advanced Certificates だけを使っている場合)、Cloudflare はプロキシ済みの名前向けに HTTPS レコードを生成しません。

DNS のみ(グレークラウド) の名前では、HTTPS レコードを手動で追加でき、Cloudflare はそれを返します。ただし、手動の HTTPS レコードが返されるには、同じ名前のレコードがすべて DNS のみ である必要があります。

例: 手動の HTTPS レコードとプロキシステータス

Cloudflare が手動追加の HTTPS レコードを返すには、同じ名前のすべてのレコードが DNS のみ(グレークラウド)である必要があります。

動作する — 同じ名前のレコードがすべて DNS のみ:

タイプ 名前 コンテンツ プロキシステータス
A example.com 192.0.2.1 DNS のみ
HTTPS example.com 1 . alpn="h3" -

A レコードが DNS のみのため、HTTPS レコードは返されます。

動作しない — 同じ名前でプロキシステータスが混在:

タイプ 名前 コンテンツ プロキシステータス
AAAA example.com 2001:db8::1 プロキシ済み
HTTPS example.com 1 . alpn="h3" -

同じ名前の AAAA レコードがプロキシ済みのため、HTTPS レコードは返されません

詳細と背景は、発表ブログ記事RFC 9460 を参照してください。

フィールド定義は、API ドキュメント を参照してください(リクエスト本文の仕様でレコードタイプを選ぶと表示されます)。

PTR

ポインター(PTR)レコード は、特定の IP アドレスに対して許可されるホストを指定します。

Cloudflare では、PTR レコードは逆引き DNS ルックアップに使い、逆引きゾーン へ追加することを推奨します。

フィールド定義は、API ドキュメント を参照してください(リクエスト本文の仕様でレコードタイプを選ぶと表示されます)。

SOA

Start of Authority(SOA)レコードは、管理者のメールアドレスやドメインの最終更新日時など、ドメインに関する情報を保存します。例は What is a DNS SOA record を参照してください。

権威 DNS に Cloudflare を使っている場合、SOA レコードを自分で作成する必要はありません。Cloudflare の権威ネームサーバーの利用を開始すると、このレコードは自動作成されます。

Enterprise アカウントでは、Cloudflare が使う SOA レコードの値を変更することもできます。

  • DNS ゾーンのデフォルトとして: アカウントに追加するすべての新規ゾーンで Cloudflare が使う SOA レコード値を定義します。手順は DNS ゾーンのデフォルトを設定する を参照してください。
  • 既存ゾーン向け: DNS Records ページの DNS record options で、デフォルトまたは Cloudflare 生成の値を上書きします。

各 SOA レコードフィールドの説明は、次の一覧を参照してください。

SOA レコードのフィールド

  • MNAME: ゾーンのプライマリネームサーバーです。セカンダリネームサーバーは、このフィールドで指定されたネームサーバーからゾーン更新を受け取ります。

  • RNAME: ゾーンの管理者メールアドレスです。

    @ 記号は最初のドットに置き換えます。メールアドレスの @ より前にドットがある場合は、\. として表します。

    メール RNAME
    [email protected] john.example.com
    [email protected] john\.doe.example.com
  • Serial: ゾーンのシリアル番号です。この番号が増えると、セカンダリネームサーバーはゾーン転送を開始します。

  • Refresh: セカンダリネームサーバーがゾーン変更を検知するため、プライマリへ SOA レコードを問い合わせるまでの時間(秒)です。DNS NOTIFY(RFC 1996)が設定されていない場合にのみ関係します。

    デフォルト 最小 最大
    10000 600 86400
  • Retry: 失敗したあと、セカンダリネームサーバーがプライマリからシリアル番号の取得を再試行するまでの時間(秒)です。指定値は Refresh より大きくできません。

    デフォルト 最小 最大
    2400 600 3600
  • Expire: プライマリが応答しない場合に、セカンダリネームサーバーがゾーンのクエリ応答をやめるまでの時間(秒)です。指定値は Refresh より小さくできません。

    デフォルト 最小 最大
    604800 86400 2419200
  • Record TTL: SOA レコードの Time to Live です。

    デフォルト 最小 最大
    3600 1800 3600
  • Minimum TTL: 否定応答をキャッシュする TTL です。詳細は RFC 2308 を参照してください。

    デフォルト 最小 最大
    1800 60 86400

NS

ネームサーバー(NS)レコード は、権威 DNS にどのサーバーを使うかを示します。

Cloudflare の DNS レコード表へ NS レコードを追加する必要があるのは、サブドメインセットアップ を使っている場合、または Cloudflare の外へサブドメインを委任 している場合だけです。

フィールド定義は、API ドキュメント を参照してください(リクエスト本文の仕様でレコードタイプを選ぶと表示されます)。

制限

NS レコードを作成するとき、1 つの委任名に関連付けられるネームサーバーの数には上限があります。

RFC 1912 で定義された DNS 標準では、同じ委任名の委任に含めるネームサーバー名は 7 個までとされています。

この標準に合わせ、プラットフォームの安定性を保つため、次の制限があります。

  • Cloudflare は委任名あたり最大 10 件の NS レコードをサポートします。ただし、7 件以下に抑えるのがベストプラクティスです。
  • 同じ名前に対して 10 件を超える NS レコードの作成はサポートしていません。この上限を超えるリクエストは拒否されるか、検証に失敗する場合があります。

example.com の DNS 管理:

タイプ 名前 コンテンツ
NS blog ns1.externalhost.com
NS blog ns2.externalhost.com
NS blog ns3.externalhost.com
NS blog ns4.externalhost.com
NS blog ns5.externalhost.com
NS blog ns6.externalhost.com
NS blog ns7.externalhost.com
NS blog ns8.externalhost.com
NS blog ns9.externalhost.com
NS blog ns10.externalhost.com

この例では、委任名 blog に対して、さらに NS レコードを追加することはできません。

DS と DNSKEY

DS と DNSKEY レコードは、DNS レコードに暗号署名を付けてドメインのなりすましを防ぐ DNSSEC の実装に使います。

ほとんどの Cloudflare ドメインでは、これらのレコードを追加する必要はなく、代わりに DNSSEC セットアップガイド に従ってください。

フィールド定義は、API ドキュメント を参照してください(リクエスト本文の仕様でレコードタイプを選ぶと表示されます)。

そのほか

Cloudflare は、URI、NAPTR、証明書関連のレコードタイプ(SSHFP、TLSA、SMIMEA、CERT)など、あまり一般的でないレコードタイプにも対応しています。詳細は ブログ記事 を参照してください。

役に立ちましたか?