CloudFront 배포에 사용자 지정 SSL 인증서를 사용할 때 발생하는 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 10월 5일

AWS Certificate Manager(ACM) 또는 AWS Identity and Access Management(IAM)에 있는 SSL 인증서를 Amazon CloudFront 배포에 사용하고자 하지만 배포를 설정할 때 사용자 지정 SSL 인증서를 선택할 수 있는 옵션이 없습니다. 동일한 인증서를 로드 밸런서에 사용할 수 있는데도 SSL 인증서를 선택할 수 없습니다. 또는 "InvalidViewerCertificate" 오류가 발생합니다. 이 문제를 해결하려면 어떻게 해야 합니까?

해결 방법

CloudFront 배포에서 사용자 지정 SSL 인증서를 사용할 때 발생하는 문제를 해결하려면 다음을 확인하십시오.

"InvalidViewerCertificate" 오류 해결

배포를 생성하거나 업데이트할 때 "InvalidViewerCertificate" 오류가 표시되는 경우 CloudFront 배포를 생성하거나 업데이트하는 동안 "InvalidViewerCertificate" 오류 예외를 해결하려면 어떻게 해야 합니까?를 참조하십시오.

ACM에서 요청되거나 ACM으로 가져온 인증서를 사용하는 경우 인증서가 요구 사항을 충족하는지 확인하십시오.

  • CloudFront 배포에 ACM 인증서를 할당하려면 미국 동부(버지니아 북부) 리전에서 인증서를 요청하거나 가져와야 합니다. ACM 콘솔을 사용하는 경우, 탐색 모음에서 리전 선택기를 확인합니다. 인증서를 요청하거나 가져오기 전에 미국 동부(버지니아 북부)가 선택되어 있는지 확인합니다.
    참고: CloudFront 배포에 ACM 인증서를 할당한 후 CloudFront 배포의 가격 등급에 해당하는 모든 엣지 로케이션에 인증서가 배포됩니다.
  • DNS 검증 또는 이메일 검증을 사용하여 ACM 인증서를 검증한 후 인증서 상태가 발행됨 상태인지 확인합니다. 발행됨 상태여야 인증서를 CloudFront 배포에 할당할 수 있습니다.
  • 인증서는 2048비트 RSA 인증서 이하 크기의 인증서여야 합니다. ACM은 1024비트에서 4096비트 RSA 인증서까지 지원하지만 CloudFront와 같이 ACM과 통합된 서비스는 최대 2048비트 RSA 인증서를 지원합니다.
  • 인증서를 가져오는 경우 인증서가 인증서를 가져오기 위한 사전 조건을 충족하는지 확인해야 합니다.

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/

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인하십시오

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"
        }
    ]
}

이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?