Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

ACM 証明書パックをローテーションする

最終更新 Markdown で表示Agent セットアップ

Advanced Certificate Manager(ACM)の証明書パックは、その場では更新できません。既存のパックを置き換える場合(認証局の変更、ホスト名の追加、検証方法の変更など)は、新しいパックを作成し、Active ステータスになるまで待ってから、古いパックを削除します。

ポイントは、古いパックを削除する前に、新しい証明書パックが Active になるのを待つことです。カバー範囲に隙間ができず、利用者へのダウンタイムもありません。


推奨するローテーション手順

1. 新しい証明書パックを作成する

  1. Cloudflare ダッシュボードで Edge Certificates ページを開きます。

    Edge Certificates を開く ↗
  2. Order Advanced Certificate を選択します。

  3. 新しい証明書パックに、必要なホスト名、認証局、検証方法を設定します。

  4. Save を選択します。

Order Certificate Pack エンドポイントで新しいパックを作成します。

Terraform 設定に新しい cloudflare_certificate_pack リソースを追加し、適用します。進める前に、下の Terraform 固有の注意 を参照してください。

2. Active ステータスを待つ

注文後、新しい証明書パックはトラフィックを配信できる状態になるまで、いくつかの中間ステータスをたどります。

  1. Initializing(初期化)
  2. Pending Validation(検証待ち)
  3. Pending Issuance(発行待ち)
  4. Pending Deployment(デプロイ待ち)
  5. Active(有効)

新しいパックが Active になるまで、古い証明書パックは削除しないでください。各段階の説明は 証明書のステータス を参照してください。

進捗はダッシュボードの Edge Certificates ページ、または Get Certificate Pack API エンドポイントで確認できます。

Cloudflare を権威 DNS(フルセットアップ)として使っているゾーンでは、ほとんどの検証は数分で完了します。部分(CNAME)セットアップ では、DCV トークンを手動で配置する必要があります。詳細は DCV の方法 を参照してください。DCV トークンは、有効期間内に満たされないと期限切れになります(Let's Encrypt は 7 日、Google Trust Services と SSL.com は 14 日)。

3. 古い証明書パックを削除する

新しいパックが Active になったら、古いパックを削除しても問題ありません。

  1. Cloudflare ダッシュボードで Edge Certificates ページを開きます。

    Edge Certificates を開く ↗
  2. 古い証明書パックを選択します。

  3. Delete Certificate を選択します。

Delete Certificate Pack エンドポイントを使います。

Terraform 設定から古い cloudflare_certificate_pack リソースを削除し、適用します。下の Terraform 固有の注意 を参照してください。

4. 短い Pending Deployment 状態を想定する

古いパックを削除したあと、残った証明書が一時的に Pending Deployment を示し、その後 Active に戻ることがあります。これはグローバルネットワークが変更を反映する通常のエッジ再評価サイクルで、通常は数分で解消し、トラフィックへの影響はありません。

証明書が想定より長く Pending Deployment のままの場合は、証明書のステータス を確認し、Cloudflare サポート に問い合わせてください。


Terraform

証明書パックはその場では更新できません。cloudflare_certificate_pack リソースの属性は、変更するとすべて新しいリソースを強制します。この制約を前提にローテーションを計画してください。

Active を自動で待つ

新しいリソースに wait_for_active_status = true を設定すると、証明書パックが Active になるまで Terraform が apply をブロックします。手順 1 と 3 のあいだに、ダッシュボードや API を手動でポーリングする必要がなくなります。

推奨パターン

  1. wait_for_active_status = true 付きで新しい cloudflare_certificate_pack リソースを追加し、terraform apply を実行します。パックが Active になるまで apply は完了しません。
  2. 設定から古いリソースを削除し、terraform apply を実行して削除します。

1 つのリソースをダウンタイムなしでローテーションする場合(古いリソースと新しいリソースを同時に state に置けない場合)は、Terraform の create_before_destroy ライフサイクルメタ引数を使います。

リソーススキーマの全体は cloudflare_certificate_pack プロバイダーのドキュメント を参照してください。


よくあるローテーションの問題

Let's Encrypt のレート制限

Let's Encrypt は、同一のホスト名セットに対する新しい証明書を、7 日間で 5 件までに制限しています。繰り返しのローテーション(テストや自動化ループなど)でこの上限に達すると、最大 1 週間、以降の発行がブロックされます。

この上限に達した場合は、認証局を Google Trust Services または SSL.com に切り替えるか、レート制限の期間が終わるまで待ってください。詳細は Let's Encrypt のレート制限 を参照してください。

Pending Validation のまま進まない

新しいパックが 15 分以上 Pending Validation のままの場合は、DCV 方法が正しく設定されているかを確認してください。Domain Control Validationドメインコントロール検証のトラブルシューティング を参照してください。


カスタム証明書の差し替えとの違い

このページは ACM 証明書パック(Advanced Certificate Manager で注文する、Cloudflare 管理の Domain Validated 証明書)を対象にしています。

カスタム証明書(自分で用意した証明書)を使っている場合、Cloudflare は Replace SSL certificate and key というその場での差し替えフローを提供します。2 つのパックを管理する必要はありません。カスタム証明書を管理する を参照してください。

役に立ちましたか?