

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ACME 証明書の自動化のトラブルシューティング
<a name="troubleshooting-acme"></a>

このセクションでは、ACME 証明書の自動化に関する一般的な問題とその解決方法について説明します。

**Topics**
+ [コンソールのモニタリングタブに ACME 障害が表示されない](#troubleshooting-acme-monitoring)
+ [ドメイン検証が有効にならない](#troubleshooting-acme-dv)
+ [証明書の発行または取り消しがアクセス拒否で失敗する](#troubleshooting-acme-access-denied)
+ [証明書リクエストが拒否されました](#troubleshooting-acme-rejected)
+ [ドメイン検証が以前に有効だった後、DNS CNAME エラーで証明書の発行が失敗する](#troubleshooting-acme-cname-deleted)
+ [アカウント登録が失敗する](#troubleshooting-acme-account)
+ [ACME クライアントが証明書の待機をタイムアウトする](#troubleshooting-acme-timeout)

## コンソールのモニタリングタブに ACME 障害が表示されない
<a name="troubleshooting-acme-monitoring"></a>

ACM コンソールの ACME エンドポイントの詳細ページの**モニタリング**タブには、ACM が証明書を作成するときの証明書発行の最終ステップのイベントが表示されます (「」を参照[ACME エンドポイントのモニタリング](acm-acme-endpoints.md#acm-acme-endpoint-monitoring))。そのステップの前にリクエストが失敗した場合は、そこには表示されません。

プロセスの早い段階でエラーが発生する場合があります。たとえば、無効な認証情報、検証されていないドメイン、エンドポイントが許可しないドメインなどです。ACME クライアントは、これらの障害を直接受け取ります。

これらの障害を診断するには、次のいずれかのオプションを使用します。
+ **ACME クライアントログを確認する** — ACME クライアントは、サーバーが返す正確なエラーを記録します。ログファイルの場所については、クライアントのドキュメントを参照してください。
+ **CloudTrail データイベントを有効にする** — デバッグまたは監査のために AWS アカウント内のすべての ACME アクティビティを一元的に表示するには、ACM ACME エンドポイントの CloudTrail データイベントログ記録を有効にします。これらのイベントの詳細については、「」を参照してください[データイベント](acm-supported-actions-in-cloudtrail.md#ct-data-events)。

## ドメイン検証が有効にならない
<a name="troubleshooting-acme-dv"></a>

ACME エンドポイントは、ドメインの検証が `VALID`ステータスに達した後にのみ、ドメインの証明書を発行できます。ドメイン検証が にとどまる`VALIDATING`か、 になった場合は`INVALID`、以下を確認してください。
+ レコード名と値の両方を含め、ドメイン検証の詳細に示されているとおりに CNAME レコードをプロビジョニングしたことを確認します。必要なレコードを表示するには、 `DescribeAcmeDomainValidation`または ACM コンソールを使用します。
+ 自動レコード管理用に Route 53 ホストゾーンを指定した場合は、ホストゾーン ID が正しく、ACM がそれにアクセスできることを確認します。

`DescribeAcmeDomainValidation` は、原因を示す失敗の理由を報告します。
+ **`ACCESS_DENIED`:** ACM はホストゾーンにアクセスしてレコードを確認または作成できませんでした。
+ **`DOMAIN_MISMATCH`:** CNAME レコードが想定値と一致しません。
+ **`HOSTED_ZONE_NOT_FOUND`:** 指定されたホストゾーンが見つかりませんでした。
+ **`TIMED_OUT`:** 許可された時間内にレコードが検出されませんでした。レコードが DNS で伝播されていることを確認します。
+ **`INTERNAL_FAILURE`:** 内部エラーが発生しました。もう一度試し、問題が解決しない場合は、 AWS サポートにお問い合わせください。

詳細については、「[ACME ドメインの検証](acm-acme-domain-validation.md)」を参照してください。

## 証明書の発行または取り消しがアクセス拒否で失敗する
<a name="troubleshooting-acme-access-denied"></a>

ACM は、クライアントの外部アカウントバインディング (EAB) に関連付けられた IAM ロールを使用して、発行と取り消しを承認します。これらのオペレーションがアクセス拒否エラーで失敗する場合は、以下を確認してください。
+ ロールの信頼ポリシーにより、ACME サービスプリンシパル (`acm-acme.amazonaws.com`) は `sts:AssumeRole`、`sts:TagSession`、および を実行できます`sts:SetSourceIdentity`。`sts:SourceIdentity` または `sts:RoleSessionName`条件を追加した場合は、ACM が使用する値が許可されていることを確認します。
+ ロールは、`acm:RequestCertificate`発行または取り消し`acm:RevokeCertificate`のために を付与します。
+  AWS Organizations サービスコントロールポリシー (SCP) はオペレーションを拒否しません。SCPsは発行時に適用されます。

詳細については、「[ACME 証明書自動化用の IAM](security-iam-acme.md)」を参照してください。

## 証明書リクエストが拒否されました
<a name="troubleshooting-acme-rejected"></a>

ACME クライアントの証明書リクエストが拒否された場合は、以下を確認してください。
+ リクエストされたドメインは、エンドポイント`VALID`のステータスのドメイン検証の対象となり、検証の範囲 (正確なドメイン、サブドメイン、またはワイルドカード) ではリクエストされた名前が許可されます。詳細については、「[ドメイン検証スコープ](acm-acme-domain-validation.md#acm-acme-dv-scope)」を参照してください。
+ 証明書のキーアルゴリズムは、エンドポイントで許可されているキーアルゴリズムの 1 つです。詳細については、「[エンドポイント設定](acm-acme-endpoints.md#acm-acme-endpoint-configuration)」を参照してください。

## ドメイン検証が以前に有効だった後、DNS CNAME エラーで証明書の発行が失敗する
<a name="troubleshooting-acme-cname-deleted"></a>

ACME ドメインの検証では、検証が使用中である限り、CNAME レコードを DNS に保持する必要があります。ドメイン検証が`VALID`ステータスに達した後に CNAME が削除されると、ドメイン検証リソース自体が以前に確認されていても、そのドメインの証明書の注文は発行時に失敗する可能性があります。

この場合、ACME クライアントは注文が`invalid`ステータスに移行し、注文の `error` フィールドには解決できなかった CNAME レコードという名前`detail`の `type``urn:ietf:params:acme:error:dns`が として含まれます。例えば、次のようになります。

```
{
    "status": "invalid",
    "error": {
        "type": "urn:ietf:params:acme:error:dns",
        "detail": "DNS CNAME records not found: [{{_a1b2c3d4e5f67890abcdef1234567890.example.com.}}]"
    },
    "identifiers": [{ "type": "dns", "value": "{{example.com}}" }],
    "authorizations": ["https://acm-acme-enroll.{{region}}.api.aws/{{00000000-0000-0000-0000-000000000000}}/authz/{{a1b2c3d4-5678-90ab-cdef-EXAMPLE11111}}"],
    "finalize": "https://acm-acme-enroll.{{region}}.api.aws/{{00000000-0000-0000-0000-000000000000}}/order/{{a1b2c3d4-5678-90ab-cdef-EXAMPLE22222}}/finalize",
    "expires": "2026-06-18T13:49:02Z"
}
```

ACME クライアントは、独自の出力に注文のエラーを表示します。たとえば、Certbot は次のエラーで終了します。

```
An unexpected error occurred:
DNS CNAME records not found: [{{_a1b2c3d4e5f67890abcdef1234567890.example.com.}}]
```

ACM データイベントを記録するように CloudTrail 証跡またはイベントデータストアを設定している場合、障害は `serviceEventDetails`の `IssueCertificate` CloudTrail イベントにも同じ `errorType`と で表示されます`errorMessage`。詳細については、「[CloudTrail ロギングでサポートされている ACM API アクション](acm-supported-actions-in-cloudtrail.md)」を参照してください。

この問題を解決するには、エラーにリストされている CNAME レコードを復元します。ドメイン検証に予想される CNAME を見つけるには、 を使用する`DescribeAcmeDomainValidation`か、ACM コンソールでドメイン検証を表示します。

## アカウント登録が失敗する
<a name="troubleshooting-acme-account"></a>

ACME クライアントがアカウントをエンドポイントに登録するときは、以下を確認してください。
+ クライアントは、登録時に外部アカウントバインディング (EAB) 認証情報 (キー識別子と HMAC キー) を提供します。エンドポイントには、これらの認証情報が必要です。
+ エンドポイントに連絡先情報が必要な場合、クライアントは登録時に連絡先 E メールアドレスを提供します。詳細については、「[外部アカウントのバインディング](acm-acme-eab.md)」を参照してください。

## ACME クライアントが証明書の待機をタイムアウトする
<a name="troubleshooting-acme-timeout"></a>

ACM ACME エンドポイントを介した証明書の発行には、最大 2 分かかる場合があります。ACME クライアントが証明書を受け取る前にタイムアウトした場合は、クライアントの発行タイムアウトを少なくとも 120 秒 (2 分) に増やします。

Certbot の場合は、 `--issuance-timeout`フラグを使用します。

```
certbot certonly --issuance-timeout 120 ...
```

他の ACME クライアントについては、同等のタイムアウト設定についてクライアントのドキュメントを参照してください。