Fastly マネージド証明書を利用して HTTPS で配信する

このガイドでは、Fastly が管理する証明書を使用してドメインの HTTPS を有効にするために Fastly TLS を使う方法について説明します。Fastly マネージド証明書は ACME プロトコルを使用し、非営利認証局の Let's Encrypt および商用認証局の GlobalSign から TLS 証明書を購入・更新します。

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

設定前の注意点

Fastly マネージド証明書で Fastly TLS を利用するには、事前に以下の前提条件が必要です。

  • スーパーユーザーの役割、または TLS 管理権限が追加されたユーザーの役割が割り当てられた有料 Fastly ユーザーアカウント (開発者のトライアル以外)
  • TLS 証明書に SAN エントリーとして登録される関連ドメインに関する DNS レコードの変更権限
  • 適切に構成された Fastly サービスに追加された関連ドメイン

Fastly TLS の互換のコントロールパネルは、お客様 TLS 証明書のホスティングサービスでアップロードされた証明書においてもご利用いただけますが以下の制約事項にご注意下さい。

  • 以前アップロードされた証明書を置換する場合、お客様提供の TLS 証明書ホスティングサービスを請求の変更なく引き続き使用することができます。
  • 以前にアップロードした証明書をお客様提供の TLS 証明書ホスティングサービスから削除し、Fastly TLS を使用して新しい証明書をアップロードすると、新しい証明書は Fastly TLS の請求として課金されます。削除された証明書については、お客様 TLS 証明書ホスティングサービスのご契約内容に応じてご契約期間が完了するまで課金が発生します。

お客様 TLS 証明書ホスティングサービスから Fastly TLS への移行については、support@fastly.com までお問い合わせください。

これらの前提条件に加えて以下の制約事項についてもご了承下さい。

  • Fastly マネージド証明書では、デフォルトでクライアントが TLS v1.2 と Server Name Indication (SNI) をサポートしている必要があります。これら以外の設定をご希望の場合は、sales@fastly.com までお問い合わせください。カスタム設定を使用する場合は、専用の Fastly IP アドレスプールを別途ご購入頂く必要があります。
  • Fastly TLS は、Triple DES (3des) 暗号スイートをサポートしていません。

ドメイン向け TLS の設定

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

  1. Fastly コントロールパネルにログインし、Secure リンクをクリックします。Secure ページでは、Fastly のセキュリティ製品の概要が表示されます。
  2. Manage certificates ボタンをクリックします。TLS domains ページが表示され、TLS が有効化された、または有効化可能なドメインが表示されます。
  3. Secure another domain ボタンをクリックします。
  4. 表示された選択メニューから、Use certificates Fastly obtains for you を選択します。Enter subscription details ページが表示されます。

    別のドメインを確保しようとしたときにデフォルトで表示される Enter subscription details

  5. Domain フィールドに、1つまたは複数の apex ドメイン (例:example.com)、サブドメイン (例:www.example.comapi.example.com)、ワイルドカードドメイン (例:*.example.com) を入力し、Add ボタンをクリックしてください。追加したドメインは、そのページの Common name のセクションに表示されます。

    ドメインが1つしかない場合、共通名はドメイン名と同じになります。複数のドメインを追加した場合、メニューにドメイン名が表示されます。デフォルトでは、最初に追加されたドメインが選択されます。希望のドメインが選択されていない場合は、Common name メニューから別のドメインを選択します。

    複数の新たなドメインを保護する際に表示される Enter subscription details ページ

  6. Select a certification authority オプションから、証明書を保護するための認証局を1つ選択します。認証機関によって大きな価格差が生じることがあります。これらの違いの詳細については、価格設定ページでご確認ください。

  7. オプションとして、複数の Fastly IP アドレスをご利用の場合や、別のネットワークや TLS 設定を利用するために複数の Fastly CNAME レコードをお持ちの場合は、Select a TLS configuration のセクションの Enable on メニューから、適切なものをお選びください。このオプションにより、証明書が配置される IP アドレスと、それに関連する TLS 設定を定義できます。
  8. Submit をクリックします。Subscription details ページには、お客様のドメインと、お客様がそのドメインを所有していることを確認するための詳細な手順が表示されます。

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

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

ACME DNS チャレンジによるドメイン所有者の検証

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

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

  1. Fastly コントロールパネルにログインし、Secure リンクをクリックします。Secure ページでは、Fastly のセキュリティ製品の概要が表示されます。
  2. Manage certificates ボタンをクリックします。TLS domains ページが表示され、TLS が有効化された、または有効化可能なドメインが表示されます。
  3. TLS subscriptions タブをクリックします。
  4. 変更したいサブスクリプションの View subscription details リンクをクリックします。Subscription details ページが表示されます。
  5. 確認するドメインの Verification Details 欄で View リンクをクリックします。Verify domain ownership ページには、レコードとターゲットのフォーマットが表示されます。

    the cname to use for the acme dns challenge when verifying domain ownership

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

ACME HTTP チャレンジによるドメイン所有権の検証

お客様がドメインを管理していることを検証する別の方法として、ACME HTTP チャレンジがあります。この方法は apex ドメインとサブドメインに対してのみ利用できます (ワイルドカードドメインは、DNS または メールによるチャレンジでのみ検証することができます)。これにより本番トラフィックが直ちに Fastly に向けられます。

この検証方法を使用するには、以下の手順に従って、CNAME レコードとターゲットのフォーマットを表示します。

  1. Fastly コントロールパネルにログインし、Secure リンクをクリックします。Secure ページでは、Fastly のセキュリティ製品の概要が表示されます。
  2. Manage certificates ボタンをクリックします。TLS domains ページが表示され、TLS が有効化された、または有効化可能なドメインが表示されます。
  3. TLS subscriptions タブをクリックします。
  4. 変更したいサブスクリプションの View subscription details リンクをクリックします。Subscription details ページが表示されます。
  5. 確認するドメインの Verification Details 欄で View リンクをクリックします。Verify domain ownership ページには、レコードとターゲットのフォーマットが表示されます。
  6. ACME HTTP チャレンジに合わせて、最適な検証方法を選択します。

いずれの方法でも、設定後すぐに本番トラフィックが Fastly を経由して流れ始めます。

電子メールチャレンジによるドメイン所有権の検証

GlobalSign を認証局として選択した場合、ドメインの所有権をメールで検証することができます。(Let's Encrypt はドメイン認証のための電子メールチャレンジをサポートしていません。) この認証メソッドを使用するには、以下の手順に従ってください。

  1. メールによるドメイン制御の検証の設定を有効にするには support@fastly.comまでお問い合わせください。
  2. Fastly コントロールパネルにログインし、Secure リンクをクリックします。Secure ページでは、Fastly のセキュリティ製品の概要が表示されます。
  3. Manage certificates ボタンをクリックします。TLS domains ページが表示され、TLS が有効化された、または有効化可能なドメインが表示されます。
  4. TLS subscriptions タブをクリックします。
  5. 変更したいサブスクリプションの View subscription details リンクをクリックします。Subscription details ページが表示されます。
  6. 確認するドメインの Verification Details 欄で View リンクをクリックします。ドメイン所有権の検証ページが表示されます。
  7. メール検証セクションで、メニューを使用してメールによる検証を送信するメールアドレスを選択します。認証局として選択された場合、GlobalSign は Fastly に検証メールの送信先として使用可能なメールアドレスのリストを提供します。一般的に、このリストには以下のようなメールアドレスが含まれます:

    • admin@example.com
    • administrator@example.com
    • hostmaster@example.com
    • postmaster@example.com
    • webmaster@example.com
  8. Get verification email ボタンをクリックします。

Fastly は 指定されたアドレスに認証メールを送信するよう GlobalSign に指示します。認証メールに含まれているリンクをクリックすることで、ドメイン所有者の検証プロセスが完了します。

ドメイン検証後

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

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

トラブルシューティング

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

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

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

ACME チャレンジ コマンド
HTTP dig www.example.com +short
DNS dig _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 証明書を利用するためにそのレコードを削除する必要がある場合があります。

証明書要求のステータスで止まっている場合

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

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

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

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

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

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

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

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

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

TLS サブスクリプションページを使用して、サブスクリプションにドメインを追加または削除したり、共通名を変更したりすることができます。TLS サブスクリプションを管理するには、以下の手順に従ってください。

  1. Fastly コントロールパネルにログインし、Secure リンクをクリックします。Secure ページでは、Fastly のセキュリティ製品の概要が表示されます。
  2. Manage certificates ボタンをクリックします。TLS domains ページが表示され、TLS が有効化された、または有効化可能なドメインが表示されます。
  3. TLS subscription タブをクリックします。TLS subscriptions ページが表示され、サブスクリプションとその状態が表示されます。
  4. 変更したいサブスクリプションの View subscription details リンクをクリックします。Subscription details ページが表示されます。

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

  5. Manage Subscription ボタンをクリックします。Manage Subscription details ページが表示されます。

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

    the manage subscription details ページ

    • 新しいドメインの追加:Domain フィールドに、1つまたは複数の apex ドメイン (例:example.com)、サブドメイン (例: www.example.comapi.example.com)、ワイルドカードドメイン (例:*.example.com) を入力し、Add ボタンをクリックしてください。コンマで複数のドメインを区切ります。
    • 既存ドメインの削除: 削除したいドメインと同じ行が表示される Actions 列のゴミ箱アイコンをクリックします。確認画面の指示に従って、削除を完了してください。
    • サブスクリプションの共通名 を変更する:共通名メニューから、このサブスクリプションを表すドメインを選択します。
  7. サブスクリプションに変更を加えた後、Submit をクリックします。変更を確認するメッセージが表示されます。
  8. 変更を確認するをクリックして、変更を送信します。前の画面に戻るには、No, review changes をクリックして変更を確認してください。

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

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

証明書の管理と更新

現在、Fastly は2つの認証局と提携しており、それぞれが異なる検証と更新のスケジュールを適用しています。Fastly はそれらのスケジュールに従ってお客様の証明書を管理します。

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

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

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

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

Back to Top