はじめに
Fastly では TLS 配信を行うための様々なオプションがあるのですが、2019年の11月に新しく Fastly TLSというオプションがリリース されました。
Fastly TLS は基本的には今までの Fastly の共有ドメインを利用する共有証明書(Shared Cert)やお客様証明書ホスティングサービス(Customer Hosted Cert)の置き換えとなるものです。
また、Fastly TLS は有償アカウントであれば5ドメインまでは無料で利用することが出来ます。
- 証明書の数ではなくドメインの数ですのでご注意下さい。
この記事では 共有証明書 から、Fastly TLS に安全に切り替えるための手順を説明したいと思います。
Fastly で利用可能な TLS オプションや、Fastly TLS の利用方法の詳細は以下のページをご参照下さい。
TLS オプション
お客様所有の証明書を利用した HTTPS での配信
Fastly マネージド証明書を利用して HTTPS で配信
この記事では Fastly TLS がデフォルトでサポートしている TLS1.2以上、SNI の証明書の移行手順を説明しています。TLS1.0/1.1 や Non-SNI など特別な要件がある場合の手順は support@fastly.com までお問い合わせ下さい
利用している共有証明書の確認
最初に登録されている共有証明書について確認します。Fastly のコントロールパネルにログインし、
右上の メールアドレス -> Account -> Sharede and Procured TLS をクリックすると登録されている共有証明書が表示されます。
現在サポートしている TLS のバージョンが不明な場合は、DNS Details をクリックすると表示される CNAME Domain に対して sslscan を実行するとサポートしている TLS のバージョンが確認できます。
例: sslscan xx.shared.global.fastly.net
sslscan を実行する環境がない場合は "TLS version check online" などと検索すると、入力したドメインがサポートしている TLS のバージョンをサイト上で表示してくれるサービスが多数あるのでそれを利用しても大丈夫です。
対象のドメインが TLS1.0/1.1 に対応しておらず、TLS1.2 のみをサポートしていることが確認できたら次のステップに移ります。
Fastly TLS にドメインを登録する
共有証明書から Fastly TLS に切り替えるためには Fastly マネージド証明書(Let's Encrypt)を利用します。
Fastly マネージド証明書を利用して HTTPS で配信の手順にそって共有証明書に登録されていたドメインを Fastly TLS に登録して下さい。
なお、ドメイン認証については ACME DNS チャレンジを利用して下さい。
展開が完了したら、以下のコマンドで新しい証明書が有効になっていることを確認することが出来ます。
sslscan --sni-name=<対象のdomain> <CNAME domain>
CNAME の切り替え
ここまでのステップが完了すると、対象のドメインに対して共有証明書と Fastly TLS の証明書の両方が有効になっています。
現時点では対象のドメインは共有証明書の CNAME ドメインに向いているので、実際のトラフィックに利用されているのは共有証明書になります。
これを Fastly TLS の証明書に切り替えるためには、対象のドメインの CNAME を Fastly TLS で指定された CNAME Domain に書き換えます。対象ドメインが APEX ドメイン (example.comなど)の場合は、利用する IP アドレスを DNS Detailに表示される A RECORDS(Anycast IPアドレス)に変更して下さい。
以下の dig コマンドで CNAME が切り替わっているかを確認することが出来ます。
dig <your.domain.com> +short
この作業は DNS の切り替えになりますので DNS の TTL にも注意が必要です。インターネット上には DNS の TTL を無視して一定の時間キャッシュする DNS サーバーもいますので、CNAME の切り替えがインターネットに伝搬するまで最大72時間程度待つことをおすすめします。
新しい CNAME Domain がインターネット上に完全に伝搬するまでの間は、共有証明書と Fastly TLS 両方の証明書経由で Fastly へのアクセスが発生することになります。
念の為 STATS などからトラフィックの減少など異常がないことを確認し、問題がある場合はすぐに CNAME の切り戻しを出来るようにすると良いと思います。
なお、この作業は接続時に利用する証明書の切替です。対象のドメインのキャッシュされたオブジェクトはそのまま利用されますので、本作業によってオリジンへのトラフィックの増加やキャッシュヒット率が低下することはありません。
共有証明書の削除
最後に無駄な課金が発生しないように共有証明書を削除します。共有証明書経由のアクセスが残っていないように、CNAME ドメインの切り替え後十分な時間的余裕を持ってから削除して下さい。
共有証明書の削除は Shared and procured TLS 画面に表示されるドメインの一覧から、対象のドメインの横の Delete をクリックすると削除をすることが出来ます。
以上で共有証明書から Fastly TLS への切り替え作業は完了です。
手順について不明な点や不安がある場合は support@fastly.com までお問い合わせ下さい。