Amazon CloudFront ディストリビューションの Amazon CloudFront または AWS Identity and Access Management (IAM) における、カスタム SSL 証明書をトラブルシューティングしたいです。
簡単な説明
CloudFront ディストリビューションで使われるカスタム SSL 証明書に関する最も一般的な問題を次に示します。
- ディストリビューションを設定するときに、カスタム SSL 証明書を選択することはできません。
- ロードバランサーで同じ証明書を使用できる場合であっても、SSL 証明書を選択することはできません。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
CloudFront ディストリビューションのカスタム SSL 証明書に関する問題をトラブルシューティングするには、以下を確認してください。
ACM からリクエストされた証明書または ACM にインポートされた証明書を使用する場合、証明書が要件を満たしていることを確認する
IAM にインポートされた証明書を使用する場合、CloudFront パスを確認する
SSL 証明書を IAM にインポートするときに CloudFront が証明書を使用できるように、正しいパスを指定します。次の AWS CLI コマンドを実行し、指定した CloudFront パスを使用して証明書をアップロードします。
注: このコマンドを実行する前に、必ずすべての値を証明書と CloudFront ディストリビューションの詳細に置き換えてください。
aws iam upload-server-certificate --server-certificate-name CertificateName--certificate-body file://public_key_certificate_file --private-key file://privatekey.pem
--certificate-chain file://certificate_chain_file --path /cloudfront/DistributionName/
証明書をアップロードするときに CloudFront パスを指定しなかった場合は、次のコマンドを実行して証明書を次のパスで更新します。
aws iam update-server-certificate --server-certificate-name CertificateName --new-path /cloudfront/DistributionName/
注: 証明書を CloudFront ディストリビューションに追加した後、ディストリビューションのステータスは Deployed から In Progress に変わります。変更がすべての CloudFront エッジロケーションにデプロイされると、ディストリビューションのステータスは Deployed に戻ります。一般的なデプロイの所要時間は、5 分です。
ACM または IAM からの証明書を CloudFront ディストリビューションに割り当てる際に、必要なアクセス許可があることを確認します。
証明書の割り当てに使用する IAM ユーザーまたはロールには、以下のアクセス許可が必要です。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "acm:ListCertificates",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"cloudfront:ListDistributions",
"cloudfront:ListStreamingDistributions"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"cloudfront:List*",
"cloudfront:Get*",
"cloudfront:Update*"
],
"Resource": "arn:aws:cloudfront::account-id:distribution/distribution-id"
},
{
"Effect": "Allow",
"Action": "iam:ListServerCertificates",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:GetServerCertificate",
"iam:UpdateServerCertificate"
],
"Resource": "arn:aws:iam::account-id:server-certificate/certificate-name-with-path"
}
]
}
関連情報
ACM を使用して CloudFront ディストリビューションでのドメイン名エラー "InvalidViewerCertificate" をトラブルシューティングする方法を教えてください
CloudFront で SSL/TLS 証明書を使用するための要件