Fastly が管理する証明書で TLSを設定する

このガイドでは、Fastly マネージド証明書を使用しているドメインの HTTPS を有効にするための Fastly TLS の使い方について説明します。HTTPS を使用して Fastly から安全にトラフィックを配信するため、Web サイトまたはアプリケーションは、信頼できる認証局によって署名された有効な TLS 証明書をクライアントに提供する必要があります。TLS (トランスポートレベルセキュリティ) とその前身の SSL (セキュアソケットレイヤー) を利用することで、クライアントは安全なサーバー接続を通じて HTTPS によってトラフィックを配信することができます。

Fastly マネージド証明書では、ACME プロトコルを使用して、TLS 証明書の調達と更新を行います。利用できる認証局にはいくつか選択肢があります。

  • Certainly (Fastly の公的に信頼されている認証局)
  • Let’s Encrypt (サードパーティの非営利認証局)
  • GlobalSign (サードパーティの商用認証局、有料アカウントでのみ利用可能)

トライアルアカウントには、Certainly または Let's Encrypt 認証局を使用した2つのドメイン用の Fastly マネージド証明書が含まれています。有料アカウントにアップグレードすることで、GlobalSign を使用したり、さらに多くのドメインを保護できます。

ヒント

Fastly の TLS サブスクリプション API を使用して、Fastly TLS サブスクリプションをプログラムで管理することができます。

設定前の注意点

ドメインに TLS を設定する前に、Fastly TLS の前提条件と制限事項をご確認ください。

ドメイン向け TLS の設定

ドメイン向け TLS の設定は、認証局にドメインを登録して「安全性を確保する」必要があります。プログラムを介さず、Fastly コントロールパネルでこのプロセスを行うには、以下の手順に従ってください。

  1. 初めて TLS を設定する
  2. 追加のドメインを設定する

初めて TLS を設定する場合は、以下の手順に従ってください。

  1. Fastly コントロールパネルにログインし、Secure リンクをクリックします。Secure ページでは、Fastly のセキュリティ製品の概要が表示されます。
  2. Manage certificates をクリックします。
  3. Get started をクリックします。
  4. Domain Name フィールドに、保護したい Apex ドメイン (例: example.com)、サブドメイン (例: www.example.com または api.example.com)、ワイルドカードドメイン (例: *.example.com) を入力します。
  5. Certification Authority メニューから、証明書を保護する認証局を選択します。認証局によって大きな価格差が生じることがあります。これらの詳細な違いについては、価格設定ページでご確認ください。
  6. Select a TLS Configuration メニューから、適用する TLS 設定を選択します。この設定では、証明書がデプロイされる IP と、適用される関連 TLS 設定の両方を定義します。デフォルトオプションは HTTP/3 & TLS v1.3 +0RTT (t.sni) です。
  7. Continue をクリックします。ドメインと、ドメインの所有権を確認するための詳細な手順を含む Domains ページが表示されます。

ドメインの所有権を確認する

HTTPS トラフィックの配信を開始するにあたり、Fastly はお客様が コントロールパネルに追加したドメインがお客様の管理下にあることを検証する必要があります。Fastly では、ACME DNS チャレンジ、ACME HTTP チャレンジ、またはメールによる検証によって、apex ドメインとサブドメインを検証することができます。これらの方法では、特定の DNS 変更が必要です。ワイルドカードドメインでは、DNS チャレンジまたはメールによる検証が必要です。

重要

Fastly は、ドメイン検証目的の ACME チャレンジを完了するため、お客様のサービスと DNS の動作を変更する場合があります。

  1. ACME DNS チャレンジ
  2. ACME HTTP チャレンジ
  3. 電子メールチャレンジ

デフォルトでは、Fastly マネージド TLS 証明書に追加されるドメインがお客様の管理下にあることを検証するために、ACME DNS チャレンジが使用されます。この方法はあらゆる種類のドメイン (apex、サブドメイン、ワイルドカード) に適しています。この方法では、_acme-challenge サブドメインが Fastly に向けられるのみです。これにより、本番トラフィックを Fastly に向ける前に TLS を設定することができます。

この検証方法を使用するには、お客様のドメインに対して独自のターゲットを持つ CNAME レコードを作成する必要があります。以下の手順に従って、CNAME レコードとターゲットのフォーマットを表示します。

  1. Fastly コントロールパネルにログインします。
  2. Security > TLS management > Subscriptions に移動します。

  3. 変更したいサブスクリプションの View subscription details をクリックします。

  4. 確認するドメインの Verification 列で Verification options をクリックします。Verify domain ownership ページには、レコードとターゲットのフォーマットが表示されます。

    ドメインの所有権を確認する際、ACME DNS チャレンジに使用する CNAME

CNAME レコードを作成する手順は、DNS プロバイダーのコントロールパネルによって異なります。手順の詳細については、DNS プロバイダーのドキュメントをご参照ください。CNAME レコードは、_acme-challenge.DOMAIN_NAME のフォーマット (例: _acme-challenge.www.example.com) を使用し、対象のドメインに対して固有のターゲット (例: domain_token.fastly-validations.com) に向けられていなければなりません。DNS レコードを Fastly に向けたら、サービスの中断を防ぐために、_acme-challenge サブドメイン CNAME レコードをそのままにしておくことをお勧めします。

ドメイン検証後

1時間以内に TLS が有効化されます。その際に以下にある TLS ステータスを確認することができます。

TLS ステータス説明
Checking domain DNS records…
Step 1 of 3
ドメイン検証が進行中です。証明書に追加されるドメインがお客様の管理下にあることを検証するため、Fastly が DNS レコードを確認しています。次のステータスに進むためには、ドメインの DNS レコードを更新し、ACME チャレンジタイプのいずれかを完了してドメインが管理下にあることを検証する必要があります。
証明書がリクエストされました。Waiting for response from CA…
Step 2 of 3
ドメイン検証が確認されました。Fastly は、お客様がドメインを管理していることを確認し、認証局にそのドメインの TLS 証明書を要求しました。
TLS enabled (certificate being deployed globally)認証局から TLS 証明書が発行されました。新たに発行された証明書を Fastly グローバルネットワークに伝搬するまでには、20分から1時間かかります。
注意

GlobalSign 証明書を使用している場合、ドメインの所有権を検証した後、DNS 解決プロセスをモニタリングし、TLS 証明書が検証されて発行される前に、ドメインがグローバルで解決されていることを確認する必要があります。DNS ベンダーによっては、DNS が解決されるまで最大72時間かかる場合があります。

トラブルシューティング

1時間以上経過し、TLS 有効化がドメイン追加のあるステージで止まっている場合は、問題が発生している可能性があります。

ドメイン DNS レコード確認中のステージで止まっている場合

Checking domain DNS records のステータスで止まっている場合は、ドメインの所有者を検証するための DNS レコードが正しく設定されていない可能性があります。コマンドラインアプリケーションで以下のような dig コマンドを使用して DNS レコードを確認することができます。

ACME チャレンジ入力するコマンド
HTTPdig www.example.com +short
DNSdig _acme-challenge.www.example.com +short

example.com は、DNS レコードを設定した際に使用したホスト名に変更してください。

DNS レコードが正しく設定されている場合、このコマンドによる結果には、ドメインの所有権を確認する手順で定義された検証に必要な CNAME または A レコードのうち1つが含まれます。

DNS レコードを間近に追加または変更した場合、DNS 変更がインターネット全体に伝播されるのに最大 72時間かかる場合があります。この間に、該当するアドレスが表示されない場合、DNS レコードの設定が正しく行われていない可能性があります。

問題が解決しない場合、お客様のドメインにおいて Certification Authority Authorization (CAA) レコードが、証明局による証明書発行をブロックしている可能性があります。この CAA レコードは、ドメインに対して証明書の発行を許可する認証局 (CA) を指定するのに使用されます。CAA レコードが存在する場合、マネージド Fastly TLS 証明書を利用するにあたり、このレコードを削除する必要が生じる場合があります。

Fastly TLS でサポートされている各認証局に必要となる CAA レコード値を以下に示します。

認証局CAA レコード値
Certainlycertainly.com
Let's Encryptletsencrypt.org
GlobalSignglobalsign.com

ドメインが証明書要求のステータスで止まっている場合

ドメインが Waiting for a response from CA のステータスで止まっている場合、認証局で一時的な問題が発生している可能性があります。1時間経過しても状況が変わらない場合は、サポートチームまでお問い合わせください。新しい証明書のリクエストの場合は、ドメインを削除してはじめからやり直すことで解決する場合があります。

TLS が有効化されたが、証明書がどこにもデプロイされていない場合

ドメインのステータスが Activated と表示されているにもかかわらず、証明書が展開されていることが確認できない場合は、Fastly ネットワークでまだ展開中の可能性があります。証明書が完全にデプロイされるまでには、20分から1時間かかります。1時間経過しても状況が変わらない場合は、サポートチームまでお問い合わせください。

サブスクリプションが失敗として表示される

新しいサブスクリプションが7日間にわたって証明書の発行に失敗した場合、または既存のサブスクリプションが有効期限日を超えて7日間にわたって証明書の更新に失敗した場合に、サブスクリプションは Failed 状態として表示されます。また、サブスクリプションが失敗したことを知らせるメール通知も送信されます。

通常、Fastly にトラフィックをポイントしていない場合、または適切な DNS レコードでない場合に、サブスクリプションは失敗します。GlobalSign サブスクリプションは、特にドメインがグローバルで解決されていない場合に失敗することがあります。これにより、世界中のどこからもアクセスできなくなります。DNS Checker などのツールを使用して、ドメインがグローバルに伝播されていることを確認してください。

これらの問題を解決したら、以下の手順を使用して、サブスクリプションの再発行を試すことができます。

  1. Fastly コントロールパネルにログインします。
  2. Security > TLS management > Subscriptions に移動します。
  3. 失敗したサブスクリプションの View subscription details をクリックします。
  4. Retry now をクリックします。

失敗したサブスクリプションを再試行した後は、24時間にわたって関連する証明書の発行または更新が試行されます。24時間後も依然として証明書を取得できない場合には、サブスクリプションは再び失敗としてマークされます。

HTTPS トラフィックを配信するために DNS をポイントする

証明書の展開後、HTTPS 経由で安全なトラフィックを配信するために、以下の手順に従ってください。

  1. TLS ドメインインターフェースを用いて追加したドメインが正しく Fastly サービスに設定されていることをご確認ください。

  2. 新たに作成された証明書 IP アドレスにトラフィックがポイントするように、DNS レコードを設定します。ドメイン所有権の検証に HTTP チャレンジメソッドを利用した場合は、すでにトラフィックが証明書に向けられています。ドメインに関連する TLS 設定情報を表示するには、See DNS details をクリックします。ここではすべての DNS 情報 (CNAME、A レコード、オプションとして AAAA レコード) を確認することができます。

    apex ドメイン (例: example.com) で TLS を使用する場合、DNS プロバイダーで A レコードを作成する必要があります。サブドメインやワイルドカードドメイン (例: www.example.com または *.example.com) の場合は、関連する CNAME レコードを作成する必要があります。

ドメインと証明書は、1つまたは複数の TLS 設定を利用するように設定することができます。詳しくは、DNS と TLS 設定の管理に関する詳細を参照してください。

警告

初期設定後に Fastly に向けていた DNS レコードを Fastly 以外に向くように変更した場合は、TLS で終端することができなくなります。また、90日後に有効期限が切れる証明書の更新も行われません。

TLS サブスクリプションの管理

Subscriptions ページを使用して TLS サブスクリプションを管理し、次のようなアクションを実行することができます。

TLS サブスクリプションのドメインの管理

ドメインの追加や削除、ドメインのコモンネームの変更など、TLS サブスクリプションのドメインを管理するには、以下の手順に従ってください。

  1. Fastly コントロールパネルにログインします。
  2. Security > TLS management > Subscriptions に移動します。

  3. 変更したいサブスクリプションの View subscription details をクリックします。

    サブスクリプションカードの最後に表示される view subscription details リンク

  4. Manage Subscription をクリックします。

    注意

    お客様は PendingIssued、および Renewing の状態にあるサブスクリプションのみを管理できます。

  5. Manage Subscription details ページから、以下のことができます。

    Manage Subscription details ページ

    • 新しいドメインの追加: Domain フィールドに、1つまたは複数の apex ドメイン (例: example.com)、サブドメイン (例: www.example.comapi.example.com)、ワイルドカードドメイン (例: *.example.com) を入力し、Add をクリックします。コンマで複数のドメインを区切ります。
    • 既存のドメインの削除: 削除したいドメインの行にある Actions 列のゴミ箱をクリックします。確認画面の指示に従って、削除を完了してください。
    • サブスクリプションのコモンネームを変更する: Common name メニューから、このサブスクリプションを示しているドメインを選択します。
  6. サブスクリプションに変更を加えた後、Submit をクリックします。変更を確認するメッセージが表示されます。

  7. Confirm changes をクリックして、変更を送信します。前の画面に戻るには、No, review changes をクリックして変更を確認してください。

注意

新しいドメインを追加した場合、変更を確認した後にドメイン所有権を検証する必要があります。詳細は TLS 証明書のドメイン検証をご覧ください。

Certainly への移行

ドメインの保護に Let’s Encrypt または GlobalSign 認証局を使用している場合、Web インターフェイスを使用して Fastly の公的に信頼されている認証局に移行することができます。

注意

GlobalSign から Certainly に移行するには、まず Fastly サポートにお問い合わせください

Certainly に移行するには、以下の手順に従ってください。

  1. Fastly コントロールパネルにログインします。
  2. Security > TLS management > Subscriptions に移動します。

  3. 変更したいサブスクリプションの View subscription details をクリックします。

  4. Migrate to Certainly をクリックします。

    サブスクリプションカードの上部に表示される migrate to certainly のリンク

  5. 証明書を移行したいことを確認し、Migrate to Certainly をクリックします。

Migrate をクリックすると、Fastly は自動的に証明書を Certainly 証明書に置き換え、ダウンタイムなしでドメイン所有権を確認します。 Certainly に置き換えられるまで、Fastly は既存の証明書を引き続き使用してサービスを提供します。DNS レコードに Certainly がドメインを検証できなくなるような変更があり、Fastly が自動的に所有権を確認できない場合、DNS の詳細を変更するよう必要な指示を含む通知が表示されるようになります。

TLS の無効化と TLS ドメインの削除

いったんドメインが TLS を有効化されたら、TLS ドメインページで各ドメインカードに記載されている Deactivate TLS ボタンからTLSを無効にすることができます。ドメインに複数の証明書がある場合、Add/Edit Activations をクリックし、有効な設定の横にある Deactivate ボタンをクリックすることで、特定の証明書を無効化することができます。すべての証明書が無効化されている場合は、Fastly は選択されたドメインでTLSトラフィックを提供せず、ドメインは無効になります。Fastly は無効化したドメインに対しても証明書の更新を実行します。この更新プロセスを防ぐために、ドメインを無効化した後に該当するサブスクリプションを削除してください。Fastly は削除されたサブスクリプションの証明書を更新することはありません。

証明書の管理と更新

各認証局には、ユーザーの認証を管理する際に Fastly が従う個別の検証と更新期間が設定されています。

  • Certainly の更新。 Certainly は30日間有効な証明書を発行します。Fastly は、20日後にドメインの再検証と証明書の更新を実施します。ただし、DNS レコードが Fastly をポイントしていない場合、または CAA レコードが Certainly をブロックしている場合には、30日間の期間が終了した時点で証明書は失効します。

  • Let's Encrypt の更新。 Let’s Encrypt は90日間有効な証明書を発行します。Fastly は、60日後にドメインの再検証と証明書更新を実施します。ただし、DNS レコードが Fastly に向けられていない場合や、CAA レコードが Let's Encrypt をブロックしている場合は、90日間の期間が終了した時点で証明書は失効します。

  • GlobalSign の更新。 GlobalSign は360日間有効な証明書を発行します。Fastly は、275日後にドメインの再検証と証明書の更新を実施します。ただし、DNS レコードが Fastly に向けられていない場合や、CAA レコードが GlobalSign をブロックしている場合は、365日間の期間が終了した時点で証明書は失効します。GlobalSign が提供する証明書は、https://jp.globalsign.com/repository/ に記載された GlobalSign の利用規約に従うものとします。

Fastly は、以下の時間枠内に、証明書を更新するための DNS チェックを自動的に実行します。

  • Certainly: 証明書の有効期限が切れる10日前
  • Let's Encrypt: 証明書の有効期限が切れる30日前
  • GlobalSign: 証明書の有効期限が切れる90 - 120日前

DNS チェックで更新が失敗していると判断された場合、Fastly は TLS の管理権限を持つすべてのアカウントユーザーに自動的にメールを送信し、有効期限が近づいていることを通知します。更新の失敗が継続する場合、Fastly は有効期限日まで定期的にユーザーにメールを送信します。

また、管理プロセスの一環として、ドメインの所有権を検証する必要があります。ドメイン検証のための正しい DNS レコードが設定され、CAA レコードによるブロックが無いにもかかわらず、更新失敗のメールを受信し続ける場合は、サポートチームまでご連絡ください


翻訳についての注意事項
このガイドは役に立ちましたか?

このフォームを使用して機密性の高い情報を送信しないでください。サポートが必要な場合は、サポートチームまでご連絡ください。このフォームは reCAPTCHA によって保護されており、Google のプライバシーポリシー利用規約が適用されます。