Advanced Certificate Manager(ACM)の証明書パックは、その場では更新できません。既存のパックを置き換える場合(認証局の変更、ホスト名の追加、検証方法の変更など)は、新しいパックを作成し、Active ステータスになるまで待ってから、古いパックを削除します。
ポイントは、古いパックを削除する前に、新しい証明書パックが Active になるのを待つことです。カバー範囲に隙間ができず、利用者へのダウンタイムもありません。
-
Cloudflare ダッシュボードで Edge Certificates ページを開きます。
Edge Certificates を開く ↗ -
Order Advanced Certificate を選択します。
-
新しい証明書パックに、必要なホスト名、認証局、検証方法を設定します。
-
Save を選択します。
Order Certificate Pack エンドポイントで新しいパックを作成します。
Terraform 設定に新しい cloudflare_certificate_pack リソースを追加し、適用します。進める前に、下の Terraform 固有の注意 を参照してください。
注文後、新しい証明書パックはトラフィックを配信できる状態になるまで、いくつかの中間ステータスをたどります。
- Initializing(初期化)
- Pending Validation(検証待ち)
- Pending Issuance(発行待ち)
- Pending Deployment(デプロイ待ち)
- Active(有効)
新しいパックが Active になるまで、古い証明書パックは削除しないでください。各段階の説明は 証明書のステータス を参照してください。
進捗はダッシュボードの Edge Certificates ↗ ページ、または Get Certificate Pack API エンドポイントで確認できます。
Cloudflare を権威 DNS(フルセットアップ)として使っているゾーンでは、ほとんどの検証は数分で完了します。部分(CNAME)セットアップ では、DCV トークンを手動で配置する必要があります。詳細は DCV の方法 を参照してください。DCV トークンは、有効期間内に満たされないと期限切れになります(Let's Encrypt は 7 日、Google Trust Services と SSL.com は 14 日)。
新しいパックが Active になったら、古いパックを削除しても問題ありません。
-
Cloudflare ダッシュボードで Edge Certificates ページを開きます。
Edge Certificates を開く ↗ -
古い証明書パックを選択します。
-
Delete Certificate を選択します。
Delete Certificate Pack エンドポイントを使います。
Terraform 設定から古い cloudflare_certificate_pack リソースを削除し、適用します。下の Terraform 固有の注意 を参照してください。
古いパックを削除したあと、残った証明書が一時的に Pending Deployment を示し、その後 Active に戻ることがあります。これはグローバルネットワークが変更を反映する通常のエッジ再評価サイクルで、通常は数分で解消し、トラフィックへの影響はありません。
証明書が想定より長く Pending Deployment のままの場合は、証明書のステータス を確認し、Cloudflare サポート に問い合わせてください。
証明書パックはその場では更新できません。cloudflare_certificate_pack リソースの属性は、変更するとすべて新しいリソースを強制します。この制約を前提にローテーションを計画してください。
新しいリソースに wait_for_active_status = true を設定すると、証明書パックが Active になるまで Terraform が apply をブロックします。手順 1 と 3 のあいだに、ダッシュボードや API を手動でポーリングする必要がなくなります。
wait_for_active_status = true付きで新しいcloudflare_certificate_packリソースを追加し、terraform applyを実行します。パックが Active になるまで apply は完了しません。- 設定から古いリソースを削除し、
terraform applyを実行して削除します。
1 つのリソースをダウンタイムなしでローテーションする場合(古いリソースと新しいリソースを同時に state に置けない場合)は、Terraform の create_before_destroy ↗ ライフサイクルメタ引数を使います。
リソーススキーマの全体は cloudflare_certificate_pack プロバイダーのドキュメント ↗ を参照してください。
Let's Encrypt は、同一のホスト名セットに対する新しい証明書を、7 日間で 5 件までに制限しています。繰り返しのローテーション(テストや自動化ループなど)でこの上限に達すると、最大 1 週間、以降の発行がブロックされます。
この上限に達した場合は、認証局を Google Trust Services または SSL.com に切り替えるか、レート制限の期間が終わるまで待ってください。詳細は Let's Encrypt のレート制限 ↗ を参照してください。
新しいパックが 15 分以上 Pending Validation のままの場合は、DCV 方法が正しく設定されているかを確認してください。Domain Control Validation と ドメインコントロール検証のトラブルシューティング を参照してください。
このページは ACM 証明書パック(Advanced Certificate Manager で注文する、Cloudflare 管理の Domain Validated 証明書)を対象にしています。
カスタム証明書(自分で用意した証明書)を使っている場合、Cloudflare は Replace SSL certificate and key というその場での差し替えフローを提供します。2 つのパックを管理する必要はありません。カスタム証明書を管理する を参照してください。