Amazon CloudFront 배포에 대한 사용자 지정 SSL 인증서 문제를 해결하고 싶습니다.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
ACM에서 요청했거나 ACM으로 가져온 인증서에 대해 지원되는 리전 사용
AWS Certificate Manager(ACM) 인증서를 CloudFront 배포에 할당하려면 지원되는 AWS 리전에서 인증서를 요청하거나 가져와야 합니다. 지원되는 리전에서 인증서를 요청하거나 가져오지 않으면 오류 메시지가 표시됩니다.
IAM으로 가져온 인증서의 올바른 CloudFront 경로를 지정
ACM을 사용하여 인증서를 가져오는 것이 가장 좋습니다. SSL 인증서를 AWS Identity and Access Management(IAM)으로 가져오는 경우 CloudFront에서 인증서를 사용할 수 있도록 올바른 경로를 제공하십시오.
특정 CloudFront 경로로 인증서를 가져오기하려면 다음 upload-server-certificate AWS CLI 명령을 실행합니다.
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/
참고: CertificateName을 인증서 이름으로, public_key_certificate_file은 공개 키 파일 경로로, privatekey.pem은 프라이빗 키 파일 경로로, certificate_chain_file은 체인 파일 경로로, DistributionName은 CloudFront 배포로 바꿉니다.
인증서를 가져올 때 CloudFront 경로를 지정하지 않은 경우 다음 update-server-certificate AWS CLI 명령을 실행하여 인증서를 경로로 업데이트하십시오.
aws iam update-server-certificate --server-certificate-name CertificateName --new-path /cloudfront/DistributionName/
참고: CertificateName을 인증서 이름으로 바꾸고 DistributionName을 CloudFront 배포 이름으로 바꾸십시오.
CloudFront 배포에 인증서를 추가하면 배포 상태가 배포됨에서 진행 중으로 변경됩니다. 변경 사항이 모든 CloudFront 엣지 로케이션에 배포되면 배포 상태가 배포됨으로 다시 변경됩니다.
필요한 권한이 있는지 확인
ACM 또는 IAM에서 인증서를 할당하는 경우 인증서를 할당하는 데 사용하는 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 인증서를 사용하기 위한 요구 사항
인증서 키의 크기