Este tutorial mostra como migrar certificados do Cloud Load Balancing para o gestor de certificados. Para mais informações acerca dos certificados do Cloud Load Balancing, consulte a vista geral dos certificados SSL na documentação do Cloud Load Balancing.
Para migrar certificados do Cloud Load Balancing sem período de inatividade, primeiro identifique os certificados que quer migrar. Em seguida, crie o mesmo número de certificados geridos pela Google que os seus certificados do Cloud Load Balancing. Em seguida, consolide os certificados num único mapeamento de certificados e teste o mapeamento de certificados noutro equilibrador de carga. Se os testes forem bem-sucedidos, anexe o mapeamento de certificados ao balanceador de carga de destino que aloja os seus certificados do Cloud Load Balancing.
Para encontrar a lista de equilibradores de carga suportados, consulte o artigo Vista geral do Gestor de certificados.
Identifique os certificados a migrar
Para identificar os certificados que quer migrar, siga estes passos:
No balanceador de carga, identifique o nome do proxy de destino.
Identifique os certificados que quer migrar.
Para encontrar os certificados anexados a um proxy de destino, execute o seguinte comando:
gcloud compute target-https-proxies describe TARGET_PROXY_NAME
Substitua
TARGET_PROXY_NAME
pelo nome do proxy de destino.O resultado é semelhante ao seguinte:
creationTimestamp: '2021-10-06T04:05:07.520-07:00' fingerprint: c9Txdx6AfcM= id: '365692570234384780' kind: compute#targetHttpsProxy name: my-proxy selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/targetHttpsProxies/my-proxy sslCertificates: - https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-first-certificate - https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-second-certificate urlMap: https://www.googleapis.com/compute/v1/projects/my-project/global/urlMaps/my-map
Tome nota dos nomes dos certificados indicados no campo
sslCertificates
. Para mais informações, consulte o artigo Vista geral dos proxies de destino.Veja os detalhes de cada certificado:
gcloud compute ssl-certificates --project=PROJECT_ID describe LB_CERTIFICATE_NAME
Substitua o seguinte:
PROJECT_ID
: o ID do Google Cloud projeto.LB_CERTIFICATE_NAME
: o nome do certificado do balanceador de carga.
O resultado é semelhante ao seguinte:
certificate: | -----BEGIN CERTIFICATE----- MIIFYjCCBEqgAwIBAgIQd70NbNs2+RrqIQ/E8FjTDTANBgkqhkiG9w0BAQsFADBX MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEQMA4GA1UE CxMHUm9vdCBDQTEbMBkGA1UEAxMSR2xvYmFsU2lnbiBSb290IENBMB4XDTIwMDYx OTAwMDA0MloXDTI4MDEyODAwMDA0MlowRzELMAkGA1UEBhMCVVMxIjAgBgNVBAoT GUdvb2dsZSBUcnVzdCBTZXJ2aWNlcyBMTEMxFDASBgNVBAMTC0dUUyBSb290IFIx MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAthECix7joXebO9y/lD63 ladAPKH9gvl9MgaCcfb2jH/76Nu8ai6Xl6OMS/kr9rH5zoQdsfnFl97vufKj6bwS iV6nqlKr+CMny6SxnGPb15l+8Ape62im9MZaRw1NEDPjTrETo8gYbEvs/AmQ351k KSUjB6G00j0uYODP0gmHu81I8E3CwnqIiru6z1kZ1q+PsAewnjHxgsHA3y6mbWwZ DrXYfiYaRQM9sHmklCitD38m5agI/pboPGiUU+6DOogrFZYJsuB6jC511pzrp1Zk j5ZPaK49l8KEj8C8QMALXL32h7M1bKwYUH+E4EzNktMg6TO8UpmvMrUpsyUqtEj5 cuHKZPfmghCN6J3Cioj6OGaK/GP5Afl4/Xtcd/p2h/rs37EOeZVXtL0m79YB0esW CruOC7XFxYpVq9Os6pFLKcwZpDIlTirxZUTQAs6qzkm06p98g7BAe+dDq6dso499 iYH6TKX/1Y7DzkvgtdizjkXPdsDtQCv9Uw+wp9U7DbGKogPeMa3Md+pvez7W35Ei Eua++tgy/BBjFFFy3l3WFpO9KWgz7zpm7AeKJt8T11dleCfeXkkUAKIAf5qoIbap sZWwpbkNFhHax2xIPEDgfg1azVY80ZcFuctL7TlLnMQ/0lUTbiSw1nH69MG6zO0b 9f6BQdgAmD06yK56mDcYBZUCAwEAAaOCATgwggE0MA4GA1UdDwEB/wQEAwIBhjAP BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTkrysmcRorSCeFL1JmLO/wiRNxPjAf BgNVHSMEGDAWgBRge2YaRQ2XyolQL30EzTSo//z9SzBgBggrBgEFBQcBAQRUMFIw JQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnBraS5nb29nL2dzcjEwKQYIKwYBBQUH MAKGHWh0dHA6Ly9wa2kuZ29vZy9nc3IxL2dzcjEuY3J0MDIGA1UdHwQrMCkwJ6Al oCOGIWh0dHA6Ly9jcmwucGtpLmdvb2cvZ3NyMS9nc3IxLmNybDA7BgNVHSAENDAy MAgGBmeBDAECATAIBgZngQwBAgIwDQYLKwYBBAHWeQIFAwIwDQYLKwYBBAHWeQIF AwMwDQYJKoZIhvcNAQELBQADggEBADSkHrEoo9C0dhemMXoh6dFSPsjbdBZBiLg9 NR3t5P+T4Vxfq7vqfM/b5A3Ri1fyJm9bvhdGaJQ3b2t6yMAYN/olUazsaL+yyEn9 WprKASOshIArAoyZl+tJaox118fessmXn1hIVw41oeQa1v1vg4Fv74zPl6/AhSrw 9U5pCZEt4Wi4wStz6dTZ/CLANx8LZh1J7QJVj2fhMtfTJr9w4z30Z209fOU0iOMy +qduBmpvvYuR7hZL6Dupszfnw0Skfths18dG9ZKb59UhvmaSGZRVbNQpsg3BZlvi d0lIKO2d1xozclOzgjXPYovJJIultzkMu34qQb9Sz/yilrbCgj8= -----END CERTIFICATE----- creationTimestamp: '2021-05-06T04:39:21.736-07:00' expireTime: '2022-06-07T01:10:34.000-07:00' id: '6422259403966690822' kind: compute#sslCertificate managed: domainStatus: a.my-domain1.example.com: ACTIVE b.my-domain2.example.com: ACTIVE domains: - a.my-domain1.example.com - b.my-domain2.example.com status: ACTIVE name: my-certificate selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-certificate subjectAlternativeNames: - a. my-domain1.example.com - b. my-domain2.example.com type: MANAGED
Crie certificados geridos pela Google
Crie o mesmo número de certificados geridos pela Google que os certificados do equilibrador de carga. Para um balanceador de carga global ou clássico, crie certificados globais; para um balanceador de carga regional, crie certificados regionais; e para um balanceador de carga entre regiões, crie certificados entre regiões. Antes de criar os certificados, crie uma autorização de DNS e adicione o registo CNAME à zona de DNS autoritativa do seu domínio.
Pode optar por criar certificados geridos pela Google com autorização de DNS (recomendado) ou certificados autogeridos.
Esta secção apresenta os passos e os comandos para criar certificados globais geridos pela Google. Para criar um certificado gerido pela Google regional ou entre regiões, consulte o artigo Criar um certificado gerido pela Google.
Crie uma autorização de DNS
Uma autorização de DNS abrange apenas um único nome de domínio. Tem de criar uma autorização de DNS separada para cada nome de domínio que quer usar com o certificado de destino.
Se estiver a criar uma autorização de DNS para um certificado de caráter universal, como *.myorg.example.com
, configure a autorização de DNS para o domínio principal, por exemplo, myorg.example.com
.
Consola
Pode criar uma autorização de DNS ou anexar uma autorização de DNS existente quando cria um certificado. Para mais informações, consulte o artigo Crie um certificado gerido pela Google que faça referência à autorização de DNS.
gcloud
Pode criar dois tipos de autorizações de DNS: FIXED_RECORD
ou PER_PROJECT_RECORD
. Para mais
informações, consulte o artigo Autorização de DNS.
Autorização de DNS FIXED_RECORD
Para criar uma FIXED_RECORD
autorização de DNS, use o seguinte gcloud certificate-manager dns-authorizations create
comando:
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \ --domain="DOMAIN_NAME" \ --type=[FIXED_RECORD]
Substitua o seguinte:
AUTHORIZATION_NAME
: o nome da autorização de DNS.DOMAIN_NAME
: o nome do domínio de destino para o qual está a criar esta autorização de DNS. O nome do domínio tem de ser um nome do domínio totalmente qualificado, comomyorg.example.com
.
Depois de criar a autorização de DNS FIXED_RECORD
, valide-a com o comando gcloud certificate-manager dns-authorizations describe
:
gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME
O resultado é semelhante ao seguinte. No resultado, encontre a secção dnsResourceRecord
. Localize o registo CNAME
e adicione os detalhes do registo (data
, name
e type
) à sua configuração de DNS.
createTime: '2022-01-14T13:35:00.258409106Z' dnsResourceRecord: data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. name: _acme-challenge.myorg.example.com. type: CNAME domain: myorg.example.com name: projects/myProject/locations/global/dnsAuthorizations/myAuthorization updateTime: '2022-01-14T13:35:01.571086137Z'
Autorização de DNS PER_PROJECT_RECORD
Para criar uma PER_PROJECT_RECORD
autorização de DNS, use o seguinte
gcloud certificate-manager dns-authorizations create
comando:
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \ --domain="DOMAIN_NAME" \ --type=PER_PROJECT_RECORD
Substitua o seguinte:
AUTHORIZATION_NAME
: o nome da autorização de DNS.DOMAIN_NAME
: o nome do domínio de destino para o qual está a criar esta autorização de DNS. O nome do domínio tem de ser um nome do domínio totalmente qualificado, comomyorg.example.com
.
Depois de criar a autorização de DNS PER_PROJECT_RECORD
, valide-a com o comando gcloud certificate-manager dns-authorizations describe
:
gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME
O resultado é semelhante ao seguinte. No resultado, encontre a secção dnsResourceRecord
. Localize o registo CNAME
e adicione os detalhes do registo (data
, name
e type
) à sua configuração de DNS.
createTime: '2022-01-14T13:35:00.258409106Z' dnsResourceRecord: data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. name: _acme-challenge_ujmmovf2vn55tgye.myorg.example.com type: CNAME domain: myorg.example.com name: projects/myProject/locations/global/dnsAuthorizations/myAuthorization updateTime: '2022-01-14T13:35:01.571086137Z'
Terraform
Para criar uma autorização de DNS, pode usar um recurso google_certificate_manager_dns_authorization
.
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
API
Para criar uma autorização de DNS, faça um pedido POST
ao método dnsAuthorizations.create
:
POST /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations?dns_authorization_id=AUTHORIZATION_NAME" { "domain": "DOMAIN_NAME", "type": "PER_PROJECT_RECORD" //optional }
Substitua o seguinte:
PROJECT_ID
: o ID do Google Cloud projeto.AUTHORIZATION_NAME
: o nome da autorização de DNS.DOMAIN_NAME
: o nome do domínio de destino para o qual está a criar esta autorização de DNS. O nome do domínio tem de ser um nome do domínio totalmente qualificado, comomyorg.example.com
.
Crie um certificado gerido pela Google que faça referência à autorização de DNS
Para criar um certificado global gerido pela Google que faça referência à autorização de DNS que criou nos passos anteriores, faça o seguinte:
Consola
Na Google Cloud consola, aceda à página Gestor de certificados.
No separador Certificados, clique em Adicionar certificado.
No campo Nome do certificado, introduza um nome exclusivo para o certificado.
Opcional: no campo Descrição, introduza uma descrição para o certificado. A descrição permite-lhe identificar o certificado.
Para Localização, selecione Global.
Para Âmbito, selecione Predefinição.
Para Tipo de certificado, selecione Criar certificado gerido pela Google.
Para Tipo de autoridade de certificação, selecione Público.
No campo Nomes de domínios, especifique uma lista de nomes de domínios do certificado separados por vírgulas. Cada nome do domínio tem de ser um nome do domínio totalmente qualificado, como
myorg.example.com
. O nome do domínio também pode ser um nome de domínio com carateres universais, como*.example.com
.Para Tipo de autorização, selecione Autorização de DNS.
A página apresenta as autorizações de DNS dos nomes de domínios. Se um nome de domínio não tiver uma autorização de DNS associada, siga estes passos para criar uma:
- Clique em Criar autorização de DNS em falta.
- No campo Nome da autorização de DNS, especifique o nome da autorização de DNS.
O tipo de autorização de DNS predefinido é
FIXED_RECORD
. Para gerir certificados de forma independente em vários projetos, selecione a caixa de verificação Autorização por projeto. - Clique em Criar autorização de DNS.
No campo Etiquetas, especifique as etiquetas a associar ao certificado. Para adicionar uma etiqueta, clique em
Adicionar etiqueta e especifique uma chave e um valor para a etiqueta.Clique em Criar.
O novo certificado é apresentado na lista de certificados.
gcloud
Para criar um certificado global gerido pela Google com autorização de DNS, execute o comando certificate-manager certificates create
com a flag dns-authorizations
:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAME,*.DOMAIN_NAME" \ --dns-authorizations="AUTHORIZATION_NAMES"
Substitua o seguinte:
CERTIFICATE_NAME
: o nome do certificado.DOMAIN_NAME
: o nome do domínio de destino. O nome do domínio tem de ser um nome do domínio totalmente qualificado, comomyorg.example.com
, ou um domínio de caráter universal, como*.myorg.example.com
. O prefixo de ponto com asterisco(*.)
significa um certificado de caráter universal.AUTHORIZATION_NAMES
: uma lista de nomes das autorizações de DNS que criou para o certificado, separada por vírgulas.
Terraform
API
Crie o certificado fazendo um pedido POST
ao método certificates.create
da seguinte forma:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME { "managed": { "domains": ["DOMAIN_NAME"], "dnsAuthorizations": [ "projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME", ], } }
Substitua o seguinte:
PROJECT_ID
: o ID do Google Cloud projeto.CERTIFICATE_NAME
: o nome do certificado.DOMAIN_NAME
: o nome do domínio de destino. O nome do domínio tem de ser um nome do domínio totalmente qualificado, comomyorg.example.com
, ou um domínio de caráter universal, como*.myorg.example.com
. O prefixo de ponto de asterisco (*.) significa um certificado de caráter universal.AUTHORIZATION_NAMES
: uma lista de nomes das autorizações de DNS delimitada por vírgulas.
Adicione o registo CNAME à configuração do DNS
Se estiver a usar uma solução DNS de terceiros para gerir o seu DNS, consulte a respetiva documentação para adicionar o registo CNAME à configuração do DNS. Se estiver a usar o Google Cloud para gerir o seu DNS, conclua os passos nesta secção.
Consola
Para criar um conjunto de registos, siga estes passos:
Na Google Cloud consola, aceda à página Zonas de DNS.
Clique no nome da zona DNS onde quer adicionar o registo.
Na página Detalhes da zona, clique em Adicionar padrão.
Na página Create record set, no campo DNS name, introduza o subdomínio da zona DNS.
Veja os exemplos seguintes:
Se o valor do campo
dnsResourceRecord.name
for_acme-challenge.myorg.example.com.
e o texto esbatido no campo Nome de DNS for.example.com.
, introduza_acme-challenge.myorg
.Se o valor do campo
dnsResourceRecord.name
for_acme-challenge.myorg.example.com.
e o texto esbatido no campo Nome de DNS for.myorg.example.com.
, introduza_acme-challenge
.Se o valor do campo
dnsResourceRecord.name
for_acme-challenge_ujmmovf2vn55tgye.myorg.example.com.
e o texto esbatido no campo Nome DNS for.myorg.example.com.
, introduza_acme-challenge_ujmmovf2vn55tgye
.
No campo Tipo de registo de recursos, selecione CNAME.
No campo TTL, introduza um valor numérico positivo para o tempo de vida do registo de recursos, que é o período durante o qual pode ser armazenado em cache.
Na lista Unidade de TTL, selecione a unidade de tempo, por exemplo,
30 minutes
.No campo Nome canónico, introduza o valor completo do campo
dnsResourceRecord.data
, conforme apresentado no resultado do comandogcloud certificate-manager dns-authorizations describe
.Para introduzir informações adicionais, clique em Adicionar item.
Clique em Criar.
gcloud
Quando cria uma autorização de DNS, o comando da CLI gcloud devolve o registo CNAME correspondente. Para adicionar o registo CNAME à configuração do DNS na zona de DNS do domínio de destino, siga estes passos:
Inicie a transação do registo DNS:
gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
Substitua
DNS_ZONE_NAME
pelo nome da zona DNS de destino.Adicione o registo CNAME à zona DNS de destino:
gcloud dns record-sets transaction add CNAME_RECORD \ --name="VALIDATION_SUBDOMAIN_NAME.DOMAIN_NAME." \ --ttl="30" \ --type="CNAME" \ --zone="DNS_ZONE_NAME"
Substitua o seguinte:
CNAME_RECORD
: o valor de dados completo do registo CNAME devolvido pelo comando da CLI Google Cloud que criou a autorização DNS correspondente.VALIDATION_SUBDOMAIN_NAME
: o subdomínio do prefixo da zona DNS, como_acme-challenge
. Pode copiar o nome do registo TXT do registo de comandos, conforme descrito em Crie uma autorização de DNS.gcloud certificate-manager dns-authorizations describe
DOMAIN_NAME
: o nome do domínio de destino.O nome do domínio tem de ser um nome do domínio totalmente qualificado, comomyorg.example.com
. Também tem de incluir o ponto final após o nome do domínio de destino.DNS_ZONE_NAME
: o nome da zona DNS de destino.
Para mais informações acerca da diferença entre as autorizações de DNS
FIXED_RECORD
ePER_PROJECT_RECORD
, consulte os seguintes exemplos. A única diferença entre os dois exemplos é o valor da flag--name
.Autorização de DNS FIXED_RECORD
gcloud dns record-sets transaction add 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. \ --name="_acme-challenge.myorg.example.com." \ --ttl="30" \ --type="CNAME" \ --zone="myorg-example-com"
Autorização de DNS PER_PROJECT_RECORD
gcloud dns record-sets transaction add 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. \ --name="_acme-challenge_ujmmovf2vn55tgye.myorg.example.com." \ --ttl="30" \ --type="CNAME" \ --zone="myorg-example-com"
Execute a transação de registo de DNS para guardar as alterações:
gcloud dns record-sets transaction execute --zone="DNS_ZONE_NAME"
Substitua
DNS_ZONE_NAME
pelo nome da zona DNS de destino.
Terraform
Para adicionar o registo CNAME à configuração do DNS, pode usar um
google_dns_record_set
recurso.
Valide o estado do certificado
Antes de implementar um certificado num equilibrador de carga, verifique se está ativo. O estado do certificado pode demorar vários minutos a mudar para ACTIVE
.
Consola
Na Google Cloud consola, aceda à página Gestor de certificados.
No separador Certificados, verifique a coluna Estado do certificado.
gcloud
Para verificar o estado do certificado, execute o seguinte comando:
gcloud certificate-manager certificates describe CERTIFICATE_NAME
Substitua CERTIFICATE_NAME
pelo nome do certificado gerido pela Google de destino.
O resultado é semelhante ao seguinte:
createTime: '2021-10-20T12:19:53.370778666Z' expireTime: '2022-05-07T05:03:49Z' managed: authorizationAttemptInfo: - domain: myorg.example.com state: AUTHORIZED dnsAuthorizations: - projects/myProject/locations/global/dnsAuthorizations/myCert domains: - myorg.example.com state: ACTIVE name: projects/myProject/locations/global/certificates/myCert pemCertificate: | -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Se o estado do certificado não for ACTIVE
após várias horas, verifique se adicionou corretamente o registo CNAME
à configuração de DNS.
Para ver mais passos de resolução de problemas, consulte o artigo Resolva problemas do Gestor de certificados.
Crie o mapa de certificados
Para implementar um certificado num Application Load Balancer externo global, crie um mapa de certificados.
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
Substitua o seguinte:
CERTIFICATE_MAP_NAME
: o nome do mapeamento de certificados.
Crie as entradas do mapa de certificados
Para implementar um certificado num Application Load Balancer externo global, crie uma entrada no mapa de certificados.
Para cada certificado que quer migrar, crie entradas de mapeamento de certificados que façam referência a esses certificados da seguinte forma:
Obtenha os detalhes do certificado.
No registo, para cada domínio listado no campo
subjectAlternativeNames
, crie uma entrada de mapa de certificados que abranja esse domínio. Se mais do que um certificado abranger um único domínio, só precisa de criar uma entrada de mapeamento de certificados e usar qualquer certificado válido que abranja esse domínio.gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAMES" \ --hostname="HOSTNAME"
Substitua o seguinte:
CERTIFICATE_MAP_ENTRY_NAME
: o nome da entrada do mapa de certificados.CERTIFICATE_MAP_NAME
: o nome do mapeamento de certificados ao qual a entrada do mapeamento de certificados está anexada.CERTIFICATE_NAMES
: uma lista delimitada por vírgulas dos nomes dos certificados que quer associar a esta entrada do mapa de certificados.HOSTNAME
: o nome do anfitrião que quer associar à entrada do mapa de certificados.
Opcional: crie uma entrada do mapa de certificados principal que faça referência ao certificado que corresponde ao primeiro certificado da lista de certificados originalmente anexados ao proxy.
gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAMES" \ --set-primary
Substitua o seguinte:
CERTIFICATE_MAP_ENTRY_NAME
: o nome da entrada do mapa de certificados.CERTIFICATE_MAP_NAME
: o nome do mapeamento de certificados ao qual a entrada do mapeamento de certificados está anexada.CERTIFICATE_NAMES
: uma lista delimitada por vírgulas dos nomes dos certificados que quer associar a esta entrada do mapa de certificados.
Para validar o estado ativo de cada entrada do mapa de certificados que criou, execute o seguinte comando:
gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Substitua o seguinte:
CERTIFICATE_MAP_ENTRY_NAME
: o nome da entrada do mapa de certificados.CERTIFICATE_MAP_NAME
: o nome do mapeamento de certificados ao qual a entrada do mapeamento de certificados está anexada.
O resultado é semelhante ao seguinte:
certificates: - projects/my-project/locations/global/certificates/my-certificate createTime: '2021-09-06T10:01:56.229472109Z' hostname: example.com name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/my-map-entry state: ACTIVE updateTime: '2021-09-06T10:01:58.277031787Z'
Opcional: teste a configuração num novo equilibrador de carga
Para minimizar o tempo de inatividade, recomendamos que teste os mapas de certificados recém-configurados num novo equilibrador de carga que não esteja a publicar tráfego de produção. Isto permite-lhe detetar e resolver quaisquer erros antes de prosseguir com a migração no seu ambiente de produção.
Teste a configuração da seguinte forma:
Crie um equilibrador de carga global com um novo proxy de destino. Para criar um balanceador de carga, consulte as seguintes páginas:
Para criar um Application Load Balancer externo global, consulte o artigo Configure um Application Load Balancer externo global com back-ends de grupos de instâncias de VMs.
Para criar um balanceador de carga de rede de proxy externo global (proxy SSL), consulte o artigo Configure um balanceador de carga de rede de proxy externo global (proxy SSL) com back-ends de grupo de instâncias de VMs.
Para criar um balanceador de carga de rede de proxy externo global (proxy TCP), consulte o artigo Configure um balanceador de carga de rede de proxy externo global (proxy TCP) com back-ends de grupo de instâncias de VMs.
Anexe o mapa de certificados ao proxy de destino do novo equilibrador de carga.
gcloud compute target-https-proxies create TEST_PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME" \ --global
Substitua o seguinte:
TEST_PROXY_NAME
: o nome do proxy de destino do teste.CERTIFICATE_MAP_NAME
: o nome do mapeamento de certificados que faz referência à entrada do mapeamento de certificados e ao certificado associado.
Para cada domínio de destino incluído na migração, teste a conetividade ao domínio no endereço IP do novo equilibrador de carga:
openssl s_client -showcerts -servername DOMAIN_NAME -connect IP_ADDRESS:443
Substitua o seguinte:
DOMAIN_NAME
: o nome do domínio de destino.IP_ADDRESS
: o endereço IP do novo equilibrador de carga.
Para mais informações sobre como testar a conetividade, consulte o artigo Teste com o OpenSSL
Limpe o ambiente de teste
Limpe o ambiente de teste que criou nos passos anteriores.
Elimine o balanceador de carga de teste, conforme descrito no artigo Eliminar o balanceador de carga.
Não elimine os certificados, o mapa de certificados nem as entradas do mapa de certificados que criou nos passos anteriores.
Aplique o novo mapa de certificados ao equilibrador de carga de destino
Depois de testar a nova configuração do certificado e confirmar que é válida, aplique o novo mapeamento de certificados ao equilibrador de carga de destino (o equilibrador de carga que aloja os seus certificados) seguindo estes passos.
Se estiver a usar um balanceador de carga global, anexe o mapa de certificados ao proxy de destino do novo balanceador de carga:
gcloud compute target-https-proxies update TARGET_PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME" \ --global
Substitua o seguinte:
TARGET_PROXY_NAME
: o nome do proxy de destino.CERTIFICATE_MAP_NAME
: o nome do mapeamento de certificados que faz referência à entrada do mapeamento de certificados e ao certificado associado.
Aguarde até que a alteração de configuração seja aplicada e o equilibrador de carga comece a publicar o novo certificado. Normalmente, este processo demora alguns minutos, mas pode demorar até 30 minutos.
Os seus certificados são migrados. Se detetar problemas com o seu tráfego, desassocie o novo mapeamento de certificados do proxy de destino. Esta ação reverte o equilibrador de carga para a respetiva configuração original.