CNAME レコードの追加
最終更新日 2020-10-23
このガイドでは正しいホスト名を選択 し、DNS プロバイダーに正しい CNAME レコードを設定する手順について説明します。適切な CNAME レコードを選択することは、Fastly をリバースプロキシとして利用し、エンドユーザーのトラフィックを Fastly 経由で配信するのに必要な最後の作業となります。
設定をはじめる前に
DNS CNAME レコードを追加する前に以下の点をご確認ください:
- CNAME レコードを設定するためには、ドメインの DNS レコードを変更する権限が必要となります。
- apex ドメイン (例えば
www.example.com
ではなくexample.com
) で Fastly を利用する予定である場合、CNAME レコードは使用できません。手順や詳細については、apex ドメインで Fastly を利用するをご確認ください。
CNAME レコードに対応する正しい Fastly ホスト名を選択する
DNS CNAME レコードを正常に更新するためには、正しい Fastly のホスト名を選択する必要があります。利用するホスト名は以下の条件によって異なります:
- 標準 HTTPS (TLS) のサポート要件と HTTP/2 利用の有無
- ドメインに購入したカスタム TLS オプション
- 北米や EU にトラフィックを制限、または Fastly のすべてのグローバルネットワークを利用するかどうか。
Fastly ではこれらの要件に基づき、以下のホスト名の利用を推奨します。
TLS を利用しないホスト名とトラフィック制限
TLS をサポートする必要がなく、HTTP (ポート 80) のみを受け付ける場合は次のいずれかのホスト名をご利用ください:
- Fastly のすべてのグローバルネットワークを利用する場合は
nonssl.global.fastly.net.
を使用します。 - Fastly の北米と EU の配信拠点のみを利用する場合は
nonssl.us-eu.fastly.net.
を使用します。
上記の TLS 未対応のホスト名は HTTPS の接続 (ポート 443) に対して接続を拒否し、TLS 証明書不一致エラーを回避します。
TLS が有効化されたホスト名
Fastly TLS を購入した場合は、以下の HTTP/1.1 と HTTP/2 対応ホスト名の 1 つを使用してください。
- Fastly のすべてのグローバルネットワークを利用する場合は
[letter].sni.global.fastly.net
を使用します。 - TLS 1.3 および TLS 1.2 には
j.sni.global.fastly.net
、TLS 1.3 + 0RTT および TLS 1.2 サポートにはk.sni.global.fastly.net
を使用します。
Fastly の Web インターフェイスに表示された指定の Fastly TLS ホスト名を使用する必要があります。誤ったホスト名を使用した場合、HTTPS (ポート 443) トラフィックに TLS 証明書不一致エラーが発生します。
無料 TLS ワイルドカード証明書
HTTP (ポート 80) および HTTPS (ポート 443) 接続の両方を受け入れる予定で、Fastly の無料共有 TLS ワイルドカード証明書をご利用の場合:
[name].global.ssl.fastly.net.
無料 TLS のホスト名ではお客様ドメイン名 (www.example.com
) をサポートしていません。無料 TLS ホスト名は通常、アセットへの直接のリンク (例: https://example.global.ssl.fastly.net/example.jpg
) やテスト目的で利用されます。独自ドメイン (www.example.com
) で TLS 通信を利用したい場合、上述の TLS が有効化されたホスト名のセクションを参照してください。
DNS プロバイダーでの CNAME レコードの更新
ドメインのための Fastly ホスト名が確認できたら、次にドメインの DNS に CNAME レコードを作成します。CNAME レコードを設定する手順は、利用している DNS プロバイダーにより異なります。CNAME レコードの作成または更新の手順については、お使いの DNS プロバイダーのドキュメントを参照してください。
ご利用のプロバイダーの CNAME 設定手順が見つからない場合は、Google のサイトにほとんどの主要プロバイダーの手順が掲載されています。これらの手順は、Fastly ではなく Google が管理しており、Google のエンタープライズサービスに特化されていることにご注意ください。
独自の DNS サーバーを運用しているか、BIND ゾーンファイルの形式に精通している場合、CNAME レコードは次のようになります:
1
www.example.com. 3600 IN CNAME nonssl.global.fastly.net.
上記の例では、Fastly は www.example.com.
ドメインに適用されており、time-to-live (TTL) は 3600
秒 (1時間) が設定されています。レコードのタイプは CNAME
で、Fastly ホスト名は nonssl.global.fastly.net.
です。TLS はサポートされておらずトラフィックは世界中の Fastly ネットワークを通じて配信されます。
DNS CNAME レコード更新時のベストプラクティス
- サービスを適用したいすべてのドメインを適切な Fastly サービスに登録してください。ドメインが登録されていない場合、
unknown domain
エラーが発生します。 - サービスが正しく設定されていることを確認してください。curl を利用するか、ドメイン変更前のテストセットアップガイドに記載されている方法により、ローカルの端末で Fastly サービスをテストすることができます。
- 同じドメインに複数のホスト名がある場合 (例:
api.example.com
、www.example.com
、app.example.com
) 、DNS プロバイダーに DNS ワイルドカードレコード (*.example.com
) を使用できるため、単一 CNAME レコードのみが作成および維持されます。この場合、マッチング*.example.com
ドメインもしくは個別のドメインも Fastly サービスに追加する必要があります。 - Fastly ホスト名に CNAME を向ける前に、60秒など短めの TTL を該当の DNS レコードに設定し、古い TTL が切れた状態にしておくことを推奨します。このように古い TTL が切れてから CNAME レコードを作成することで、万が一問題が発生した場合にも短時間で切り戻すことが可能となります。Fastly 経由での配信に問題がないことが確認できた後に、通常の長い TTL を設定することが可能です。
CNAME レコードの確認
CNAME レコードを確認するには、ターミナルウィンドウで次のコマンドを実行します:
dig www.example.com +short
次のような内容が出力されるはずです:
1
2
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 プロバイダーの指示に従ってください。そうすることで、ドメインの不正使用リスクを最小限に抑えることができます。