CNAME レコードと DNS プロバイダーでの操作
- English
- 日本語
ドメイン名を使用して Fastly サービスにトラフィックをルーティングする準備が整ったら、ドメインと Fastly サービスとを関連付け、ドメインの CNAME レコードを設定して Fastly を指すように DNS レコードを更新する必要があります。 ドメインの CNAME レコードを設定する際の手順は DNS プロバイダーによって異なりますが、一般的には、Fastly のネットワークをルーティングする際の場所とその方法を DNS プロバイダーに伝達する特定の値を Fastly から入力する必要があります。
このガイドでは、使用されている DNS プロバイダーで CNAME レコードを設定するにあたり Fastly から収集する必要のある情報と、レコードに正しいホスト名値を選択する方法について説明します。
設定前の注意点
以下の CNAME 設定上の制限に留意してください。特に次の点が挙げられます。
- 共有 TLS ドメインに対する非互換性。 共有 TLS ドメインの CNAME レコードを追加することはできません。
- Apex ドメインに対する非互換性。 APEX ドメイン (例:
example.com
ではなくwww.example.com
) で Fastly を使用する予定の場合、CNAME レコードを使用することはできません。詳細については、apex ドメインで Fastly を利用するを確認してください。
CNAME レコードの正しい Fastly ホスト名値を選択する
CNAME レコードを設定する際には、ホスト名値を入力する必要があります。 この値は、Fastly のネットワークを経由する際の場所とその方法を DNS プロバイダーに伝達するために使用されます。
選択する値は、以下に基づいて異なります。
- ドメインの標準 HTTPS (TLS) のサポート要件 (HTTP/2 が有効になっているかどうかを含む)。
- ドメイン用に購入したカスタム TLS オプション。
- 北米や欧州にトラフィックを制限するか、Fastly のグローバルネットワークを利用することを選択しているかどうか。
次のセクションでは、最も一般的な条件に基づく推奨事項を紹介しています。
TLS 非対応ホスト名とトラフィック制限
TLS をサポートする必要がなく HTTP (80) のみを承認する場合は、CNAME レコードに次のいずれかの値を使用します。
トラフィックをルーティングする場所 | CNAME レコード値 |
---|---|
Fastly のグローバルネットワーク全体 | dualstack.nonssl.global.fastly.net |
北米と EU の POP のみ | dualstack.nonssl.us-eu.fastly.net |
TLS 対応ホスト名
Fastly TLS を使用する場合、Fastly コントロールパネルで提供される割り当てられた CNAME レコード値を使用する必要があります。誤った値を使用した場合、HTTPS (ポート443) にアクセスすると TLS 証明書の不一致エラーが発生する可能性があります。
CNAME レコード値の形式は <letter>.sni.global.fastly.net
です。IPv6 サポートを有効にするには、値に dualstack
のプリフィックスをつけます。
TLS タイプ | CNAME レコード値 |
---|---|
Fastly TLS | <letter>.sni.global.fastly.net |
IPv6 対応の Fastly TLS | dualstack.<letter>.sni.global.fastly.net |
CNAME レコード値を見つけるには、以下の手順に従ってください。
Fastly コントロールパネルにログインします。
- Security > TLS Management > Domains の順に移動します。
- Fastly にルーティングするドメインを見つけます。
- 該当する証明書の横にある View/edit をクリックすると、DNS の詳細が表示されます。
- DNS details セクションにある CNAME レコード値を確認します。
DNS プロバイダーで CNAME レコードを設定する
ドメインに適切な Fastly ホスト名を決定したら、次にドメインに CNAME レコードを作成します。CNAME レコードを作成または更新する具体的な手順については、ご利用の DNS プロバイダーのドキュメントを参照してください。独自の DNS サーバーを運用しているか、BIND ゾーンファイルの形式に精通している場合、CNAME レコードは次のようになります。
www.example.com. 3600 IN CNAME nonssl.global.fastly.net.
上記の例では、Fastly は www.example.com.
ドメインに適用されており、有効期限 (TTL) は 3600
秒 (1時間) に設定されています。レコードのタイプは CNAME
で、Fastly ホスト名の値は nonssl.global.fastly.net.
です。TLS をサポートする必要がないため、トラフィックは Fastly グローバルネットワーク全体を通してルーティングされます。
DNS CNAME レコード更新時のベストプラクティス
- Fastly で提供するすべてのドメインが適切な Fastly サービスに追加されていることを確認してください。すべてが追加されていない場合、ドメインを Fastly にポイントすると
unknown domain
エラーが発生します。 - サービスが正しく設定されていることを確認して下さい。ローカル端末上の Fastly サービスをテストするには、curl コマンドを使用したり、ドメインを変更する前に設定をテストすることができます。
- 同じドメインに複数のホスト名がある場合 (例: 、
api.example.com
、www.example.com
)app.example.com
、DNS プロバイダーに DNS ワイルドカードレコード ()*.example.com
を設定することで、1つの CNAME レコードのみを作成および維持できるようにすることができます。この場合、マッチングする*.example.com
ドメインもしくは個別のドメインも Fastly サービスに追加する必要があります。 - CNAME レコードが Fastly をポイントするように設定する前に、サービス設定を変更して、60秒など短めの数値を CNAME の TTL に設定し、古い TTL が有効期限になるまで待ちます。古い TTL の有効期限が切れてからドメイン用の DNS CNAME レコードを作成することで、万が一問題が発生した場合にも短時間でロールバックすることが可能となります。Fastly 経由での配信に問題がないことが確認できた後に、通常の値にまで TTL 値を増やすことできます。
CNAME レコードの確認
CNAME レコードを確認するには、端末ウィンドウで次のコマンドを実行します。
$ dig www.example.com +short
出力は次のようになります。
nonssl.global.fastly.net.151.101.117.57
通常、最初に現在の Fastly ホスト名が表示されます (上記の例では nonssl.global.fastly.net.
)。Fastly ホスト名が表示されない、もしくは正しくない Fastly ホスト名が表示される場合、DNS プロバイダーで CNAME レコードが正しく設定されていないか、古い CNAME レコードがローカル DNS リゾルバーにキャッシュされている可能性があります。
OpenDNS Cache Check や whatsmydns.net などの各種オンライン DNS クエリツールを利用することで、世界中の異なる DNS リゾルバーからの DNS レスポンスをテストすることができます。
CNAME レコードの削除
サービスの無効化、サービスの削除またはアカウントのキャンセルを行う場合、Fastly ホスト名をポイントする すべての CNAME レコードを修正または削除することを強く推奨します。手順については DNS プロバイダーの Webサイトに記載されている説明に従ってください。そうすることで、ドメインが不正に使用されるリスクを最小限に抑えることができます。