Neste tutorial, descrevemos como usar o Gerenciador de certificados para implantar um certificado regional gerenciado pelo Google para um balanceador de carga de aplicativo externo regional ou para um do balanceador de carga de aplicativo interno regional.
Para implantar um certificado em um balanceador de carga de aplicativo externo regional ou em um balanceador de carga de aplicativo interno regional, anexe o certificado diretamente ao proxy de destino.
Objetivos
Nesta seção, mostramos como concluir as seguintes tarefas:
Criar um certificado gerenciado pelo Google emitido por uma AC publicamente confiável com DNS usando o Gerenciador de certificados. Para criar um certificado regional gerenciado pelo Google, é necessário usar o DNS por projeto autorização.
Implante o certificado em um balanceador de carga compatível usando um proxy HTTPS de destino.
Para mais informações sobre o processo de implantação de certificados, consulte Visão geral da implantação.
Antes de começar
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
A versão
465.0.0
ou mais recente da CLI do Google Cloud é necessária para implantar o certificado. Para verificar a versão da CLI gcloud, execute o seguinte comando:gcloud --version
Para atualizar a CLI gcloud, execute o seguinte comando.
gcloud components update
Verifique se você tem os seguintes papéis para concluir as tarefas deste tutorial:
- Proprietário do Gerenciador de certificados: necessário para criar e gerenciar recursos do Gerenciador de certificados.
- Administrador do balanceador de carga do Compute ou Administrador da rede do Compute: necessário para criar e gerenciar o proxy de destino HTTPS.
- Administrador de DNS: obrigatório se você quiser usar o Cloud DNS como solução de DNS.
Para ver mais informações, consulte os seguintes tópicos:
- Papéis e permissões para Gerenciador de certificados
- Papéis do IAM do Compute Engine e do Cloud Storage para o Compute Engine.
- Controle de acesso com o IAM para o Cloud DNS
Criar um certificado regional gerenciado pelo Google
Conclua as etapas desta seção para criar uma autorização de DNS e um certificado gerenciado pelo Google que faça referência a essa autorização.
Criar uma autorização de DNS
Crie a autorização de DNS conforme descrito nesta seção. Se você está criando um
Autorização de DNS para um certificado com caractere curinga, como *.myorg.example.com
,
configura a autorização de DNS para o domínio pai, por exemplo,
myorg.example.com
.
Para um certificado regional gerenciado pelo Google, o tipo de autorização de DNS é definido exclusivamente como PER_PROJECT_RECORD
.
gcloud
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \ --domain="DOMAIN_NAME" \ --location="LOCATION" gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME \ --location="LOCATION"
Substitua:
AUTHORIZATION_NAME
: o nome da autorização de DNS.DOMAIN_NAME
: o nome do domínio para o qual você está criando essa autorização de DNS. O nome de domínio precisa ser um nome de domínio totalmente qualificado, comomyorg.example.com
.LOCATION
: o local em que você cria a autorização do DNS.
O comando retorna uma saída, conforme mostrado no exemplo a seguir. Use o Registro CNAME da saída a ser adicionado à configuração de DNS.
createTime: '2022-01-14T13:35:00.258409106Z' dnsResourceRecord: data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.us-central1.authorize.certificatemanager.goog. name: _acme-challenge_ujmmovf2vn55tgye.myorg.example.com. type: CNAME domain: myorg.example.com name: projects/myProject/locations/us-central1/dnsAuthorizations/myAuthorization updateTime: '2022-01-14T13:35:01.571086137Z'
Adicionar o registro CNAME à configuração de DNS
Se você estiver usando o Google Cloud para gerenciar seu DNS, conclua as etapas nesta seção. Caso contrário, consulte a documentação do seu DNS de terceiros solução.
Antes de concluir as etapas desta seção, verifique se você tem criou uma zona de DNS pública.
Quando você cria uma autorização de DNS, o comando da CLI gcloud retorna registro CNAME correspondente. Você precisa adicionar esse registro CNAME à sua configuração DNS na zona DNS do domínio de destino da seguinte maneira:
gcloud
Inicie a transação do registro DNS:
gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
Substitua
DNS_ZONE_NAME
pelo nome da zona de DNS de destino.Adicione o registro CNAME à zona DNS de destino:
gcloud dns record-sets transaction add CNAME_RECORD_DATA \ --name="CNAME_RECORD_NAME" \ --ttl="30" \ --type="CNAME" \ --zone="DNS_ZONE_NAME"
Substitua:
CNAME_RECORD_DATA
: o valor de dados completo do CNAME retornado pelo comando da CLI gcloud que criou o autorização DNS correspondente.CNAME_RECORD_NAME
: o valor do nome completo do CNAME retornado pelo comando da CLI gcloud que criou o autorização DNS correspondente.DNS_ZONE_NAME
: o nome da zona de DNS de destino.
Veja o exemplo a seguir:
gcloud dns record-sets transaction add 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.us-central1.authorize.certificatemanager.goog. \ --name="_acme-challenge_ujmmovf2vn55tgye.myorg.example.com" \ --ttl="30" \ --type="CNAME" \ --zone="example-com"
Execute a transação do registro DNS para salvar as alterações:
gcloud dns record-sets transaction execute --zone="DNS_ZONE_NAME"
Substitua
DNS_ZONE_NAME
pelo nome da zona de DNS de destino.
Criar um certificado regional gerenciado pelo Google que faça referência à autorização de DNS
Para criar um certificado gerenciado pelo Google que faça referência à autorização DNS criada nas etapas anteriores, faça o seguinte:
Console
No console do Google Cloud, acesse a página Gerenciador de certificados.
Na página que aparece, selecione a guia Certificados.
Clique em Adicionar certificado.
Digite um Nome para o certificado.
O nome precisa ser exclusivo no projeto.
Opcional: digite a Descrição do certificado. A descrição ajuda a identificar um certificado específico mais tarde.
Em local, escolha Regional.
Na lista Região, selecione uma região.
Em Tipo de certificado, escolha Criar um certificado gerenciado pelo Google.
Em Tipo de autoridade de certificação, escolha Pública.
Especifique os Nomes de domínio do certificado. Insira um valor delimitado por vírgulas lista dos domínios de destino. Além disso, cada nome de domínio precisa ser um nome de domínio totalmente qualificado, como
myorg.example.com
.Em Tipo de autorização, escolha Autorização de DNS. Se o nome de domínio tiver uma autorização DNS associada, ele será selecionado automaticamente. Se o nome de domínio não tiver uma autorização de DNS associada, faça o seguinte:
- Clique em Criar autorização de DNS ausente para exibir os Caixa de diálogo Criar autorização de DNS.
- No campo Nome da autorização de DNS, especifique o nome da autorização de DNS.
- Clique em Criar autorização de DNS. Verifique se o nome DNS é associado ao nome de domínio.
Especifique um rótulo para associar ao certificado. É possível adicionar mais de um rótulo, se necessário. Para adicionar um marcador, clique no add_box Adicionar rótulo e especifique um
key
e umvalue
para o rótulo.Clique em Criar. Verifique se o novo certificado aparece na lista de certificados.
gcloud
Execute este comando:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains=DOMAIN_NAME \ --dns-authorizations=AUTHORIZATION_NAME \ --location=LOCATION
Substitua:
CERTIFICATE_NAME
: um nome exclusivo do certificado.DOMAIN_NAME
: o domínio de destino do certificado. O prefixo de ponto de asterisco (*.
) significa um certificado curinga. O nome de domínio deve ser um nome de domínio totalmente qualificado, comomyorg.example.com
:AUTHORIZATION_NAME
: o nome da autorização de DNS. que você criou para este certificado.LOCATION
: o local onde você cria o Certificado gerenciado pelo Google.
Para criar um certificado gerenciado pelo Google com um nome de domínio curinga, use o comando a seguir. Um O certificado de nome de domínio curinga abrange todos os subdomínios de primeiro nível de um determinado domínio.
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="*.DOMAIN_NAME,DOMAIN_NAME" \ --dns-authorizations=AUTHORIZATION_NAME \ --location=LOCATION
Substitua:
CERTIFICATE_NAME
: um nome exclusivo do certificado.DOMAIN_NAME
: o domínio de destino do certificado. O prefixo*.
significa um certificado curinga. O nome de domínio precisa ser um nome de domínio totalmente qualificado, comomyorg.example.com
.AUTHORIZATION_NAME
: o nome da autorização de DNS. que você criou para este certificado.LOCATION
: o local em que você cria o certificado gerenciado pelo Google.
Verificar se o certificado está ativo
Use o comando a seguir para verificar se o próprio certificado está ativo antes de implantá-lo no balanceador de carga. Pode levar algumas horas para que o
estado do certificado seja alterado para ACTIVE
.
gcloud certificate-manager certificates describe CERTIFICATE_NAME \ --location=LOCATION
Substitua:
CERTIFICATE_NAME
: um nome exclusivo do certificado.LOCATION
: o local onde você criou o certificado gerenciado pelo Google.
O resultado será assim:
createTime: '2021-10-20T12:19:53.370778666Z' expireTime: '2022-05-07T05:03:49Z' managed: authorizationAttemptInfo: - domain: myorg.example.com state: AUTHORIZED dnsAuthorizations: - projects/my-project/locations/us-central1/dnsAuthorizations/myAuth domains: - myorg.example.com state: ACTIVE name: projects/myProject/locations/us-central1/certificates/myCert pemCertificate: | -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Implantar o certificado em um balanceador de carga
Para implantar o certificado gerenciado pelo Google em um balanceador de carga, siga as etapas abaixo.
Antes de prosseguir com as tarefas desta seção, verifique se você concluiu as tarefas listadas na seção Criar um certificado regional gerenciado pelo Google.
Para implantar um certificado regional gerenciado pelo Google em um balanceador de carga de aplicativo regional externo ou para o balanceador de carga de aplicativo interno regional, implante o certificado anexando-o diretamente ao proxy de destino.
Anexar o certificado diretamente ao proxy de destino
Para anexar o certificado diretamente ao proxy, execute o seguinte comando:
gcloud compute target-https-proxies update PROXY_NAME \ --url-map=URL_MAP \ --region=REGION \ --certificate-manager-certificates=CERTIFICATE_NAME
Substitua:
PROXY_NAME
: um nome exclusivo do proxy.URL_MAP
: o nome do mapa de URL que você criou ao criar o balanceador de carga.REGION
: a região em que o proxy de destino HTTPS será criado.CERTIFICATE_NAME
: o nome do certificado.
Limpar
Para reverter as alterações feitas neste tutorial, faça o seguinte etapas:
- Exclua o certificado gerenciado pelo Google:
Substitua o seguinte:gcloud certificate-manager certificates delete CERTIFICATE_NAME --location=LOCATION
CERTIFICATE_NAME
: o nome do certificado.LOCATION
: o local em que você criou o certificado gerenciado pelo Google.
- Exclua a autorização de DNS:
Substitua:gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME --location=LOCATION
AUTHORIZATION_NAME
: o nome da autorização de DNS.LOCATION
: o local em que você criou a autorização de DNS.