入門
基礎
ドメインと起源
性能

構成
ヘッダー
反応
性能
パージ
カスタムVCL
画像の最適化
ビデオ

セキュリティ
Access control lists
モニタリングとテスト
セキュアな通信
TLS
Web アプリケーションファイアウォール (WAF)

診断
ログのストリーム配信
デバッグ手法
一般的なエラー

アカウント情報
課金

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

      Last updated October 09, 2019

    このガイドでは、Fastly で管理する証明書を利用しドメインに対して HTTPS を有効にし Fastly TLS を利用する方法を説明します。Fastly マネージド証明書は、Let’s Encrypt から購入、更新をするために ACME プロトコル を利用します.

    HTTPS を利用して Fastly から安全にトラフィックを配信するため、Web サイトやアプリケーションは、信頼済み認証局によって署名された有効な TLS 証明書をクライアントに提供する必要があります。TLS と SSL を利用することで、クライアントは安全なサーバーのコネクションを利用して HTTPS によりトラフィックを配信することができます。

    作業を始める前に

    Fastly マネージド証明書で Fastly TLS を利用するため、以下の前提条件をご確認ください:

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

    ドメインに TLS を設定する

    以下の手順に従って、HTTPS ドメインに TLS を設定をしてください。

    1. Fastly コントロールパネルにログインし、Configure のリンクをクリックします。
    2. HTTPS and network タブをクリックしてください。TLS ドメインページが表示されます。このページでは、TLS が有効になっているドメインもしくは、有効にすることができるドメインが表示されます。まだどのドメインにも TLS 設定を始めていない場合は、このページでは何も表示されません。
    3. Add HTTPS to your domains ボタンをクリックしてください。ドメイン入力画面が表示されます。

      the enter domain window that appears when you click the add https to your domains button on the https and network tab

    4. もし TLS 証明書と秘密鍵をお持ちの場合は、I want to bring my own certificate and private key リンクをクリックしてください。この手順の代わりにお持ちの証明書をアップロードし配置するためのガイドに従って実施してください。
    5. Domain name に apex ドメイン (例 example.com)、サブドメイン (例 www.example.com または api.example.com)、ワイルドカードドメイン (例 *.example.com) のいづれかを入力してください。
    6. オプションとして、複数のFastly IP アドレスをご利用していたり、 別のネットワークや TLS 設定を利用するために複数の Fastly CNAME レコードをお持ちの場合には、TLS configuration において適切なものを選択してください。このオプションにより、証明書を配置する IP アドレスおよび適用される関連する TLS 設定が決められます。
    7. Add domain ボタンをクリックしてください。TLS ドメインページでは、一連のカードが表示されます。そこには、各ドメインをリスト化されており、たった今追加したドメインや既存の TLS と証明書のステータスが含まれています。

    ドメイン検証

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

    ACME DNS チャレンジのドメイン検証

    Fastly マネージド TLS 証明書に追加するドメインを検証するデフォルトの方法は、ACME DNS チャレンジです。この方法は、全ての種類のドメイン (apex, subdomains, and wildcards) で有効です。この方法は、_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) に向けてなければなりません。設定した _acme-challenge サブドメインに対する CNAME レコードは、サービスの中断を防ぐためにそのまま残しておくことを推奨します。

    ACME HTTP チャレンジのドメイン検証

    ドメイン検証の別の方法として、ACME HTTP チャレンジを利用できます。この方法は、apex ドメインとサブドメインにのみ利用できます(ワイルドカードドメインは、DNS チャレンジのみを利用できます)。この方法は、商用トラフィックを直ちに Fastly に向けることになります。

    この検証方法を利用するため、TLS ドメインリストにあるドメイン名の上にある What’s nextAlternative domain verification method(s) リンクをクリックしてください。検証オプション画面が表示されます。:

    the alternative domain verification methods that appear when you click the associated link in the what's next notification above your domain's name in the list of tls domains

    要望に合致している検証方法を選択してください。:

    両方の場合において、一旦設定すると、商用トラフィックが直ちに Fastly 経由で流れ始めます。

    ドメイン検証後

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

    TLS ステータス 説明
    Checking domain DNS records…
    Step 1 of 3
    ドメイン検証が進行中です。Fastly は、証明書を追加するためのドメイン検証をするために DNS レコードを確認中です。次のステータスに遷移するため、ACME チャレンジを完了するための DNS レコード更新が実施されていることをご確認ください。
    Certificate requested. Waiting for response from CA…
    Step 2 of 3
    ドメイン検証が確認済み。Fastly は、Fastlyに DNS レコードが向けられていることを確認し、認証局に証明書をリクエストしました。
    TLS enabled (certificate being deployed globally) 認証局から TLS 証明書が発行されました。新たに発行された証明書を Fastly グローバルネットワークに伝搬するために20分から1時間かかります。

    トラブルシューティング

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

    DNS レコードを確認中ステータスで止まっている場合

    Checking domain DNS records ステータスで止まっている場合は、ドメイン検証するための DNS レコードを正しく設定していない可能性があります。以下のような dig コマンドを用いてご確認ください。:

    ACME チャレンジ コマンド
    HTTP dig www.example.com +short
    DNS dig _acme-challenge.www.example.com +short

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

    もし DNS レコードを正しく設定している場合は、ドメイン検証 手順にある CNAME か A レコードのどちらかがコマンドの実行結果に表示されます。

    もし DNS レコードを直近で追加、変更した場合は、その変更がインターネット上に展開されるのに最大72時間かかる可能性があります。それでも該当情報が見えない場合は、DNS レコードを誤っている可能性があります。

    もしそれでも問題が継続している場合は、該当ドメインにおいて CAA レコードにより証明書発行することから認証局をブロックしている可能性があります。Certification Authority Authorization (CAA) レコードは、ドメインに対し証明書発行を許可する認証局を指定することに用いられます。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 レコードの設定をしてください。全ての DNS 情報は、(CNAME, A レコード, オプションとして AAAA レコード) 該当ドメインに対する TLS 設定情報を表示するための More details をクリックすることで確認できます。ドメイン検証のために HTTP チャレンジを利用した場合は、すでにトラフィックを証明書に向けています。

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

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

    TLS を有効化したドメインは、TLS ドメインページのリスト上にあるドメインに Disable TLS リンクが表示され TLS を無効化することができます。無効化した場合、Fastly は、該当ドメインにおいて TLS トラフィックによる配信ができなくなります。Fastly は、無効化したドメインに対しても証明書更新を実施します。証明書更新を防ぐため、無効化後にドメインの削除を実施する必要があります。削除されたドメインは、Fastly では証明書更新を実施いたしません。

    証明書の管理と更新

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

    有効期限が切れる 30日前、Fastly は、TLS 管理権限がある全ユーザに対して自動通知メールを送り、有効期限切れが間近であることを通知します。更新の失敗が継続している場合、有効期限日までメール送信を継続します。

    ドメイン検証のための正しい DNS レコードが設定されている場合や、CAA レコードによるブロックもない場合で、更新失敗のメールを受信し続けている場合は、support@fastly.com にご連絡ください。

    共有証明書から Fastly マネージド証明書への移行

    Fastly の共有証明書からFastly TLS 製品に移行する場合、ドメインに対しての TLS 設定手順に従って行ってください。ドメイン検証において _acme-challenge サブドメインを用いる ACME DNS チャレンジを利用する場合は、共有証明書に商用トラフィックをそのまま向けてください。

    該当ドメインが TLS 有効状態になったら、少なくとも10分待ち、証明書がグローバルに展開されていることを確認し、共有証明書に向けている DNS レコードを変更してください。展開されていることを確認するには、以下のコマンドをご利用ください。:

    1
    
    openssl s_client -connect TLS.CONFIG.CNAME.RECORD:443 -servername your.domain.com  | openssl x509 -noout -text | grep 'Subject: CN'
    

    結果に TLS ホスト名が表示された場合、Fastly がマネージド証明書の生成、展開を実施したことを示しており、安全に DNS プロバイダー経由で DNS レコードを更新していただけます。

    ワイルドカードドメインやサブドメインに共有証明書をご利用の場合には、CNAME レコードは shared.global.fastly.net で終わる文字列のはずです。apex ドメインの場合は、A レコードを利用しているはずです。弊社ネットワークに証明書が展開されていれば、新しい証明書に DNS を向け共有証明書利用をやめるため、DNS を HTTPS トラフィックを配信するために向ける 手順にある DNS レコードを利用することができます。

    DNS プロバイダーと該当ドメインの DNS レコードを変更後、次のコマンドを利用して、変更がローカル DNS リゾルバーに伝搬していることを確認してください。:

    1
    
    dig your.domain.com +short
    

    DNS 情報が世界中で更新されたらすぐに、ブラウザーでドメインにアクセスし、どの証明書が配信されているかを確認してください。新しい証明書がクライアントに対して配信されていることが確認できたら、共有証明書を削除するために TLS ドメイン削除 手順に従ってください。

    Back to Top

    Additional resources: