Quero usar um certificado SSL/TLS personalizado ao configurar minha distribuição do Amazon CloudFront, mas não tenho a opção de escolhê-lo.
Breve descrição
Talvez você não veja a opção de certificado SSL/TLS personalizado para sua distribuição do CloudFront nos seguintes cenários:
- Seu certificado está armazenado em uma região da AWS diferente.
- Falha na validação do certificado do AWS Certificate Manager (ACM).
- O certificado expirou.
- Você não tem as permissões necessárias do AWS Identity and Access Management (AWS IAM) para visualizar ou selecionar certificados.
Resolução
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, certifique-se de que você está usando a versão mais recente da AWS CLI.
Verifique a configuração do seu certificado
Execute as seguintes ações de solução de problemas com base na sua configuração de distribuição do CloudFront.
Certificados ACM
Se você usar um certificado solicitado ou importado para o ACM, confirme se seu certificado atende aos seguintes requisitos:
- Para atribuir um certificado ACM a uma distribuição do CloudFront, solicite ou importe o certificado na região Leste dos EUA (Norte da Virgínia). Se você usar o console do ACM, verifique a barra de navegação para confirmar que selecionou Leste dos EUA (Norte da Virgínia) antes de solicitar ou importar o certificado.
Observação: Depois de atribuir um certificado ACM a uma distribuição do CloudFront, o CloudFront distribui o certificado para todos os locais da borda da classe de preço da distribuição do CloudFront.
- Depois de usar a validação de DNS ou a validação de e-mail para validar seu certificado ACM, confirme se o status do certificado é Emitido.
Observação: O status deve ser Emitido antes que você possa atribuir o certificado a uma distribuição do CloudFront.
- É possível usar um certificado autoassinado para validar somente um registro CNAME existente, não um novo registro CNAME. O CloudFront oferece suporte às mesmas autoridades de certificação do Mozilla. Para saber mais, consulte Requisitos para o uso de nomes de domínio alternativos.
- Para certificados importados, confirme se o certificado atende aos pré-requisitos para importação de certificados. Para obter mais informações, consulte Como importar um certificado TLS/SSL emitido por terceiros para o ACM?
- Use um tamanho de chave de certificado RSA compatível com o CloudFront, como 1024 bits, 2048 bits, 3072 bits ou 4096 bits.
Para saber mais, consulte Por que não consigo encontrar meu certificado ACM importado para meu balanceador de carga ou distribuição do CloudFront?
Certificados importados para o IAM
Se você importou seu certificado SSL/TLS para o IAM, verifique se você usou o caminho correto do CloudFront. Execute o seguinte comando da AWS CLI upload-server-certificate para fazer o upload do seu certificado com um caminho específico do CloudFront:
aws iam upload-server-certificate
--server-certificate-name CertificateName
--certificate-body file://public_key_certificate_file.pem
--private-key file://privatekey.pem
--certificate-chain file://certificate_chain_file.pem
--path /cloudfront/DistributionName/
Observação: Substitua CertificateName pelo nome do seu certificado, file://public_key_certificate_file pela sua chave pública e file://privatekey.pem pela sua chave privada. Além disso, substitua file://certificate_chain_file pela sua cadeia de certificados e DistributionName pelo seu nome de distribuição do CloudFront.
Se você não fez o upload do seu certificado com o caminho do CloudFront, execute o seguinte comando update-server-certificate para atualizar seu certificado com o caminho:
aws iam update-server-certificate
--server-certificate-name CertificateName
--new-path /cloudfront/DistributionName/
Observação: Substitua CertificateName pelo nome do seu certificado e DistributionName pelo seu nome de distribuição do CloudFront. Depois de adicionar um certificado a uma distribuição do CloudFront, o status da distribuição muda de Implantado para Em andamento. Depois que o CloudFront implanta as alterações em todos os locais da borda, o status da distribuição volta para Implantado. O tempo normal de implantação é de 5 minutos.
Verifique as permissões do seu certificado
Confirme se você tem as permissões necessárias ao atribuir um certificado do ACM ou do IAM à distribuição do CloudFront.
O usuário ou o perfil do IAM que você usa para atribuir o certificado deve ter as seguintes permissões:
{
"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"
}
]
}
Solução de problemas extra
Se você importou seu certificado SSL/TLS para o IAM, confirme se a cadeia de certificados está na ordem correta e se o certificado não expirou. Para mais informações, consulte Como fazer o upload e importar um certificado SSL para o IAM?
Para usar vários nomes de domínio em sua distribuição do CloudFront, solicite ou gere um único certificado SSL/TLS que inclua todos os domínios necessários. Por padrão, o ACM oferece suporte a até 100 domínios para cada certificado.
Observação: Não é possível associar mais de um certificado SSL/TLS a uma distribuição individual do CloudFront.
Informações relacionadas
Como uso o ACM para solucionar o erro do nome de domínio de distribuição do CloudFront?"InvalidViewerCertificate"
Requisitos para usar certificados SSL/TLS com o CloudFront