Apex ドメインで Fastly を使用する

お客様の中には、セカンドレベルまたは apex ドメイン (www.example.com ではなくexample.com のようなドメイン) のみを標準ドメインとして使用する方もいます。DNS 仕様の制限により、apex ドメインへの CNAME レコードの配置や、一部の DNS プロバイダーが提供する ALIAS や ANAME などの CNAME フラット化機能の使用はお勧めできません。

その代わりに、セカンドレベルドメインや apex ドメインでホストする必要があるコンテンツには、Anycast IP アドレスを提供しています。Fastly の Anycast オプションでは、apex ドメインを Fastly に向ける A (IPv4) または AAAA (IPv6) レコードを追加することができ、選択したオプションに応じてパフォーマンスまたはコストのいずれかを優先します。

Anycast のオプション

Fastly は、有料サービスをご利用のお客様に以下の Anycast オプションを提供しています。

グローバル Anycast オプション

Fastly が提供する Anycast IP アドレスによって、Fastly のグローバルネットワーク全体を使用して、POP が位置する課金地域に関わらず、リクエストを最も近いFastly POPにルーティングすることができます。

特定の POP にトラフィックを制限せず、トラフィックのルーティングパフォーマンスを優先する場合は、このオプションを選択してください。オプション選択後に Fastly が提供する Anycast IP アドレスのリストを DNS レコードに入力してください。

課金ゾーンの Anycast オプション

Fastly が提供する Anycast IP アドレスは、「ゾーン」と呼ばれる特定の課金地域のグループのコストに基づき、リクエストがルーティングされる場所に優先順位をつけることができます。

ルーティングのパフォーマンスよりもコスト削減を優先する場合は、以下のいずれかを選択してください。

  • 最大課金ゾーン (MBZ) 100: このオプションには、北米およびヨーロッパの課金地域にある Fastly POP のみが含まれます。
  • 最大課金ゾーン (MBZ) 200: このオプションには、MBZ 100に含まれる Fastly POP すべてと、アジア、オーストラリア、ニュージーランド、南米の課金地域の Fastly POP が含まれます。ブラジル、インド、アフリカの課金地域の 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 アドレスを取得することができます。

  1. Fastly コントロールパネルにログインし、ユーザーメニューから Account をクリックします。アカウント情報が表示されます。
  2. Transport Layer Security のリンクをクリックします。Transport Layer Security のページが表示されます。

    TLS ドメインのトランスポートレイヤーセキュリティページのリスト

  3. グローバル Anycast オプションを経由して Fastly にルーティングしたいドメインの DNS details リンクをクリックします。ドメインの詳細ページが表示されます。

    DNS の詳細リンクをクリックした際に表示される TLS ドメインの詳細ページ

    A Record セクションには、このドメインの DNS レコードに入力するグローバル Anycast IPアドレスが含まれています。

TLS を設定していない場合

グローバル Anycast オプションで使用したいドメインに TLS が設定されていない場合、または新しい課金ゾーンの Anycast オプションを使用したい場合は、support@fastly.com にご連絡の上 Anycast IP アドレスをリクエストしてください。お客様が選択されたオプションに適した Anycast IP アドレスを提供しますので、そのアドレスを DNS レコードに入力してください。最大限の可用性と信頼性を確保するために、必ずすべて入力してください。オプションの利用に追加料金はかかりませんが、Fastly の有料プランを利用している必要があります。契約の有無は問いません。

Apex ドメインの問題とその回避策

RFC1034 (セクション 3.6.2) の DNS 指示では、あるノードに CNAME レコードが存在する場合、他のデータは存在してはならないとされています。これにより、正規の名前とそのエイリアスのデータが異なることはありません。Apex ドメインは、NS レコードのほかに通常 MX などのレコードを必要とするため、apex に CNAME を設定すると「他のデータが存在してはならない」というルールを破ることになります。

一般的に、apex ドメインの問題は、同等の www ドメインへのリダイレクトに失敗した場合に起こります (example.comwww.example.com でははなく、どこへも指さないため)。この問題には以下の2つの回避策があります。

  • API や AJAX コール、画像、その他の静的アセットにのみ Fastly を使用する (例えば example.com は自ら配信し、assets.example.com アセットは CNAME を Fastly に配信する)。
  • Apex ドメインから Fastly でプロキシされたバージョンにリダイレクトする (例えば example.com のリクエストを www.example.com にリダイレクトする)。

ただし、どちらの回避策も理想的ではありません。

Back to Top