AWS Certificate Manager (ACM) のプライベート証明書をリクエストしましたが、[Failed] (失敗) エラーが発生、または証明書のステータスが [Failed] (失敗) になりました。これを解決するにはどうすればよいですか?
簡単な説明
ACM コンソールでリクエストされたプライベート証明書は 13 か月間有効です。有効期間が CA の有効期間を超えていると、ACM プライベート CA はプライベート証明書を発行できません。CA の有効期間が 13 か月未満の場合、ACM コンソールでプライベート証明書をリクエストすると [Failed] (失敗) エラーが表示されます。
このエラーを解決するには、IssueCertificate API を使用して、有効期間が短いプライベート証明書をリクエストします。その後、統合サービスで使用する証明書を ACM にインポートします。
解決方法
IssueCertificate API を使用して、CA の有効期間よりも短い有効期間で新しいプライベート証明書を発行する
注: AWS Command Line Interface (AWS CLI) コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
issue-certificate コマンドを使用して、CA の有効期間よりも短い有効期間を持つプライベート証明書を発行します。
aws acm-pca issue-certificate --certificate-authority-arn arn:aws:acm-pca:us-west-2:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012 --csr file://cert_1.csr --signing-algorithm "SHA256WITHRSA" --validity Value=300,Type="DAYS" --idempotency-token 1234
注: プライベート証明書用に、独自の CSR とプライベートキーを生成する必要があります。
ACM PCA からプライベート証明書の本文とチェーンを取得し、ACM にインポートする
1. get-certificate コマンドを使用して、プライベート証明書の本文とチェーンを取得します。
aws acm-pca get-certificate \
--certificate-authority-arn arn:aws:acm-pca:region:account:\
certificate-authority/12345678-1234-1234-1234-123456789012 \
--certificate-arn arn:aws:acm-pca:region:account:\
certificate-authority/12345678-1234-1234-1234-123456789012/\
certificate/6707447683a9b7f4055627ffd55cebcc \
--output text
get-certificate コマンドは、base64 でエンコードされた PEM 形式の証明書と証明書チェーンを出力します。
-----BEGIN CERTIFICATE-----
...base64-encoded certificate...
-----END CERTIFICATE----
-----BEGIN CERTIFICATE-----
...base64-encoded certificate...
-----END CERTIFICATE----
-----BEGIN CERTIFICATE-----
...base64-encoded certificate...
-----END CERTIFICATE----
2. 次のコマンドを使用して、証明書本文と証明書チェーンを .pem ファイルとして保存します。
証明書チェーン:
aws acm-pca get-certificate --certificate-authority-arn arn:aws:acm-pca:Region:Account:certificate-authority/12345678-1234-1234-1234-123456789012 --certificate-arn arn:aws:acm-pca:Region:Account:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/66506378eb4e296c59b41bbb7b8dd068 --output text --query CertificateChain > certchain.pem
証明書本文:
aws acm-pca get-certificate --certificate-authority-arn arn:aws:acm-pca:Region:Account:certificate-authority/12345678-1234-1234-1234-123456789012 --certificate-arn arn:aws:acm-pca:Region:Account:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/66506378eb4e296c59b41bbb7b8dd068 --output text --query Certificate > certfile.pem
3. プライベート証明書を統合サービスで使用するには、import-certificate コマンドを使用して証明書をインポートする手順に従います。
注: certfile.pem、privately.key、および certchain.pem は、ご利用のファイル名に置き換えてください。
aws acm import-certificate --certificate fileb://certfile.pem --private-key file://privatekey.key --certificate-chain file://certchain.pem