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

このガイドでは、Fastly TLS を使用して Fastly で管理する証明書を利用し、ドメインに対して HTTPS を有効にする方法を説明します。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 で利用可能な証明書の数は50までに制限されています。上限を超えた証明書のご利用をご希望の場合は、sales@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 コントロールパネルにログインし、Configure をクリックします。
  2. HTTPS and network タブをクリックします。TLS ドメインページが表示され、TLS が有効になっているドメイン、あるいは TLS を有効化できるドメインが表示されます。まだどのドメインにも TLS を設定していない場合、このページには何も表示されません。
  3. Secure another domain ボタンをクリックします。
  4. 表示された選択メニューから、Use certificates Fastly obtains for you を選択します。Enter subscription details ページが表示されます。

    the Enter subscription details that appears by default when you attempt to secure another domain

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

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

    the Enter subscription details that appears by default when you attempt to secure multiple other domains

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

  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 を設定することができます。

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

この検証方法を使用するには、お客様のドメインに対して独自のターゲットを持つ CNAME レコードを作成する必要があります。レコードとターゲットの形式が、TLS ドメインのリストのドメイン名の上にある What's next に表示されます。

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 に向けられます。

この検証方法を使用するには、TLS ドメインのリストのドメイン名の上にある What's nextAlternative domain verification method(s) リンクをクリックします。検証オプション画面が表示されるので、ACME HTTP チャレンジのニーズに合った検証方法を選択します。

  • サブドメインの場合、Fastly ホスト名に直接向ける CNAME レコードを作成します。
  • apex ドメインの場合、通知された IP アドレスを用いて対象のドメインに対して A レコードを作成します

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

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

GlobalSign を認証局として選択した場合、ドメインの所有権をメールで検証することができます。(Let's Encrypt はドメイン認証のための電子メールチャレンジをサポートしていません。) この認証方法を使用するには、Fastly コントロールパネルで GlobalSign を認証局として選択した後、fastlytlsupdates@fastly.com に連絡する必要があります。

認証局として選択された場合、GlobalSign は Fastly に検証メールの送信先として使用可能なメールアドレスのリストを提供します。一般的に、このリストには以下のようなメールアドレスが含まれます。

  • admin@example.com
  • administrator@example.com
  • hostmaster@example.com
  • postmaster@example.com
  • webmaster@example.com

GlobalSign から取得した使用可能なドメイン認証アドレスのリストが Fastly から提供されるので、その中から使用するアドレスを選択します。Fastly は 指定されたアドレスに認証メールを送信するよう GlobalSign に指示します。認証メールに含まれているリンクをクリックすることで、ドメイン所有者の検証プロセスが完了します。

ドメイン検証後

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

TLS ステータス 説明
Checking domain DNS records…
Step 1 of 3
ドメイン検証が進行中です。証明書に追加されるドメインがお客様の管理下にあることを検証するため、Fastly が DNS レコードを確認しています。次のステータスに進むためには、ドメインの DNS レコードを更新し、ACME チャレンジタイプのいずれかを完了してドメインが管理下にあることを検証する必要があります。
Certificate requested. Waiting for response from CA…
Step 2 of 3
ドメイン検証が確認されました。Fastly は、お客様がドメインを管理していることを確認し、認証局にそのドメインの TLS 証明書を要求しました。
TLS enabled (certificate being deployed globally) 認証局から 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 レコードのいずれかが含まれます。

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

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

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

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

TLS 有効化後に証明書が展開されない

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

HTTPS トラフィックを配信するための DNS 設定

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

the domain details shown by clicking more details when tls traffic hasn't started flowing yet

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

もし、カスタムマップや複数の専用 IP をお持ちの場合は、ドメインと証明書は、1つ以上の TLS 設定を利用するように設定することができます。より詳細な情報は、DNS と TLS 設定の管理 をご参照ください。

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

TLS が有効化されたドメインは、TLS ドメインページに表示される Disable TLS リンクで TLS を無効化できます。無効化した場合、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 は証明書が失効する30日前に更新の確認をします。DNS チェックで更新が失敗していると判断された場合、Fastly は TLS の管理権限を持つすべてのアカウントユーザーに自動的にメールを送信し、有効期限が近づいていることを通知します。更新の失敗が継続する場合、Fastly は有効期限日まで定期的にユーザーにメールを送信します。

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

Back to Top