Apex ドメインで Fastly を使用する
最終更新日 2022-05-11
お客様の中には、セカンドレベルまたは apex ドメイン (example.com
ではなくwww.example.com
のようなドメイン) のみを標準ドメインとして使用する方もいます。DNS 仕様の制限により、apex ドメインへの CNAME レコードの配置や、一部の DNS プロバイダーが提供する ALIAS や ANAME などの CNAME フラット化機能の使用はお勧めできません。
その代わりに、セカンドレベルドメインや apex ドメインでホストする必要があるコンテンツには、Anycast IP アドレスを提供しています。Fastly の Anycast オプションでは、apex ドメインを Fastly に向ける A (IPv4) または AAAA (IPv6) レコードを追加することができ、選択したオプションに応じてパフォーマンスまたはコストのいずれかを優先します。
重要
Anycast アドレス方式はリクエストのルーティングにおいて柔軟性が高くないため、Anycast オプションでは CNAME ベースのシステムほど優れたパフォーマンスを実現できない可能性があります。特に大容量のリソースやストリーミングビデオなどでは、できるだけ多くのコンテンツにて CNAME ベースのシステムを使用することをお勧めします。
Anycast のオプション
Fastly は、有料サービスをご利用のお客様に以下の Anycast オプションを提供しています。
グローバル Anycast オプション
Fastly が提供する Anycast IP アドレスによって、Fastly のグローバルネットワーク全体を使用して、POP が位置する課金地域に関わらず、リクエストを (ネットワークの観点から見て) 最も近い Fastly POP にルーティングすることができます。
特定の POP にトラフィックを制限せず、トラフィックのルーティングパフォーマンスを優先する場合は、このオプションを選択してください。オプション選択後に Fastly が提供する Anycast IP アドレスのリストを DNS レコードに入力してください。
課金ゾーンの Anycast オプション
重要
課金ゾーンの Anycast オプションは、限定提供版オプションです。詳細については、プロダクトと機能のライフサイクルに関する説明をご覧ください。
Fastly が提供する Anycast IP アドレスによって、「ゾーン」と呼ばれる特定の課金地域のグループを介したデータ転送コストに基づいてリクエストがルーティングされる場所を優先することができます。
ルーティングのパフォーマンスよりもコスト削減を優先する場合は、以下のいずれかを選択してください。
- 最大課金ゾーン (MBZ) 100: このオプションには、北米およびヨーロッパの課金地域にある Fastly POP のみが含まれます。
- 最大課金ゾーン (MBZ) 200: このオプションには、MBZ 100に含まれる Fastly POP すべてと、アジア、オーストラリア、ニュージーランド、南米の課金地域の Fastly POP が含まれます。韓国、インド、アフリカの課金地域の POP は含まれません。
可用性とルーティング精度の比較
重要
Fastly は、ルーティングの正確さよりもサービスの可用性を優先します。サービスの整合性やパフォーマンスの維持および定期的なメンテナンスための意図的なトラフィックの迂回、またはトラフィックのルーティング変更が Fastly の管理外である場合、Fastly は対象課金ゾーン外の Fastly POP から配信されたトラフィックに対して請求金額の減額を行うことはありません。
ほとんどの場合、Fastly は公共インターネット上の Anycast ルーティングを直接コントロールすることができないため、Fastly にルーティングされたトラフィックがより高額の課金ゾーンの POP に届かないことを保証することはできません。しかし、公共インターネット上のルーティング変更によりトラフィックがより高額の Fastly POP に送信された場合、Fastly はその原因を調査し、問題を修正するために関係者全員と協力して最善の努力を尽くします。
Fastly が制御できない要因に加えて、Fastly のネットワークのインシデントや定期メンテナンス時に Fastly のすべてのサービスの可用性を確保するために、定期的にトラフィックエンジニアリングを行います。必要に応じて、一時的に選択された課金ゾーン以外の POP へのトラフィックのルーティングを選択する場合があります。
対象の最大課金ゾーン外の Fastly POP からのトラフィックが配信されていることを確認した場合、サポートチケットを開く前に、以下を確認してください。
- Fastly Service Status ページを確認してください。トラフィックの一時的な再ルーティングの要因となるイベントが発生していないことを確認してください。
- 影響を受けたドメイン名の DNS レコードを確認してください。影響を受けたドメイン名の DNS レコードには、Fastly が提供する課金ゾーンの Anycast IP アドレスのみが存在するはずです。
上記を確認した上で Fastly POP ルーティングの要因が不明な場合、問題の課金トラフィックが記載された Fastly の請求書の日付から30日以内に、support@fastly.com にメールを送り、サポートチケットを開いてください。
Anycast IP アドレスを選ぶ
課金ゾーンの Anycast オプションを選択後、Fastly から DNS レコードに入力する Anycast IP アドレスのリストが提供されます。POP がリクエストに対して最適なパフォーマンスを提供する可能性が低い場合でも、 Fastly はこれらのアドレスを使用して上記のゾーンの POP のみを経由するトラフィックを処理します。
TLS が設定されている場合
Fastly サービスに TLS が設定されている場合、以下の手順で Fastly の Web コントロールパネルでグローバル Anycast IP アドレスを取得することができます。
- Fastly コントロールパネルにログインし、Secure リンクをクリックします。Secure ページでは、Fastly のセキュリティ製品の概要が表示されます。
- Manage certificates ボタンをクリックします。TLS domains ページが表示され、TLS が有効化された、または有効化可能なドメインが表示されます。
- グローバル Anycast オプションを経由して Fastly にルーティングしたいドメインについては More details リンクをクリックします。ドメインの詳細ページが表示されます。
A Record セクションには、このドメインの DNS レコードに入力するグローバル Anycast IP アドレスが含まれています。
TLS を設定していない場合
グローバル Anycast オプションで使用したいドメインに TLS が設定されていない場合、または新しい課金ゾーンの Anycast オプションを使用したい場合は、support@fastly.com にご連絡の上 Anycast IP アドレスをリクエストしてください。お客様が選択されたオプションに適した Anycast IP アドレスを提供しますので、そのアドレスを DNS レコードに入力してください。最大限の可用性と信頼性を確保するために、必ずすべて入力してください。このオプションの利用に追加料金はかかりませんが、Fastly の有料プランを利用している必要があります。契約の有無は問いません。
ヒント
Fastly の課金対象地域は、価格ページでご確認いただけます。これらの地域の変更については、ネットワークステータスページでお知らせします。
Apex ドメインの問題とその回避策
RFC1034 (セクション 3.6.2) の DNS 指示では、あるノードに CNAME レコードが存在する場合、他のデータは存在してはならないとされています。これにより、正規の名前とそのエイリアスのデータが異なることはありません。Apex ドメインは、NS レコードのほかに通常 MX などのレコードを必要とするため、apex に CNAME を設定すると「他のデータが存在してはならない」というルールを破ることになります。
一般的に、apex ドメインの問題は、同等の www ドメインへのリダイレクトに失敗した場合に起こります (example.com
は www.example.com
でははなく、どこへも指さないため)。この問題には以下の2つの回避策があります。
- API や AJAX コール、画像、その他の静的アセットにのみ Fastly を使用する (例えば
example.com
は自ら配信し、assets.example.com
アセットは CNAME を Fastly に配信する)。 - Apex ドメインから Fastly でプロキシされたバージョンにリダイレクトする (例えば
example.com
のリクエストをwww.example.com
にリダイレクトする)。
ただし、どちらの回避策も理想的ではありません。
重要
Apex ドメインで TLS を使用するには、Fastly の TLS プロダクトのいずれかを使用して、証明書に追加する必要があります。共有証明書のワイルドカードエントリーについては、独立した SAN エントリーとして apex ドメインを追加します。