Este tutorial mostra como usar o Certificate Manager para implementar um certificado autogerido global num Application Load Balancer interno entre regiões.
Se quiser implementar balanceadores de carga externos globais ou balanceadores de carga regionais, consulte o seguinte:
Objetivos
Este tutorial mostra como concluir as seguintes tarefas:
- Carregue um certificado autogerido para o Gestor de certificados.
- Implemente o certificado num balanceador de carga suportado através de um proxy HTTPS de destino.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init Proprietário do Gestor de certificados (
roles/certificatemanager.owner)Necessário para criar e gerir recursos do Gestor de certificados.
Administrador do balanceador de carga de computação (
roles/compute.loadBalancerAdmin) ou administrador de rede de computação (roles/compute.networkAdmin)Obrigatório para criar e gerir o proxy de destino HTTPS.
- Funções e autorizações para o Gestor de certificados.
- Funções e autorizações do IAM do Compute Engine para o Compute Engine.
Use uma autoridade de certificação (AC) externa fidedigna para emitir o certificado juntamente com a respetiva chave associada.
Verifique se o certificado está corretamente encadeado e é fidedigno na raiz.
Prepare os seguintes ficheiros codificados PEM:
- O ficheiro de certificado (CRT)
- O ficheiro de chave privada correspondente (KEY)
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 do certificado. A descrição permite-lhe identificar o certificado.
Para Localização, selecione Global.
Para Âmbito, selecione Todas as regiões.
Para Tipo de certificado, selecione Criar certificado autogerido.
Para o campo Certificado, faça qualquer uma das seguintes ações:
- Clique no botão Carregar e selecione o ficheiro de certificado formatado em PEM.
- Copie e cole o conteúdo de um certificado formatado em PEM. O conteúdo tem de começar com
-----BEGIN CERTIFICATE-----e terminar com-----END CERTIFICATE-----.
Para o campo Certificado de chave privada, faça qualquer uma das seguintes ações:
- Clique no botão Carregar e selecione a sua chave privada. A chave privada tem de estar no formato PEM e não estar protegida com uma frase secreta.
- Copiar e colar o conteúdo de uma chave privada formatada em PEM. As chaves privadas têm de começar com
-----BEGIN PRIVATE KEY-----e terminar com-----END PRIVATE KEY-----.
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.
CERTIFICATE_NAME: o nome do certificado.CERTIFICATE_FILE: o caminho e o nome do ficheiro do certificado CRT.PRIVATE_KEY_FILE: o caminho e o nome do ficheiro da chave privada KEY.PROJECT_ID: o ID do projeto Google Cloud .CERTIFICATE_NAME: o nome do certificado.PEM_CERTIFICATE: o PEM do certificado.PEM_KEY: o PEM da chave.PROXY_NAME: o nome do proxy de destino.URL_MAP: o nome do mapa de URLs. Criou o mapa de URLs quando criou o balanceador de carga.CERTIFICATE_NAME: o nome do certificado.
Funções necessárias
Certifique-se de que tem as seguintes funções para concluir as tarefas neste tutorial:
Para mais informações, consulte o seguinte:
Crie o balanceador de carga
Este tutorial pressupõe que já criou e configurou os back-ends, as verificações de estado, os serviços de back-end e os mapas de URL do balanceador de carga. Tome nota do nome do mapa de URLs, porque vai precisar dele mais tarde neste tutorial.
Se não tiver criado um balanceador de carga de aplicações interno entre regiões, consulte o artigo Configure um balanceador de carga de aplicações interno entre regiões com back-ends de grupos de instâncias de VMs.
Crie uma chave privada e um certificado
Para criar uma chave privada e um certificado, faça o seguinte:
Para obter informações sobre como pedir e validar um certificado, consulte o artigo Crie uma chave privada e um certificado.
Carregue um certificado autogerido para o Gestor de certificados
Para carregar o certificado para o Gestor de certificados, faça o seguinte:
Consola
gcloud
Para criar um certificado autogerido entre regiões, use o comando certificate-manager certificates create:
gcloud certificate-manager certificates create CERTIFICATE_NAME \
--certificate-file="CERTIFICATE_FILE" \
--private-key-file="PRIVATE_KEY_FILE" \
--scope=all-regions
Substitua o seguinte:
Terraform
Para carregar um certificado autogerido, pode usar um recurso google_certificate_manager_certificate com o bloco self_managed.
API
Carregue 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
{
self_managed: {
pem_certificate: "PEM_CERTIFICATE",
pem_private_key: "PEM_KEY",
scope: "ALL_REGIONS"
}
}
Substitua o seguinte:
Implemente o certificado autogerido num balanceador de carga
Para implementar o certificado autogerido global, anexe-o diretamente ao proxy de destino.
Anexe o certificado diretamente ao proxy de destino
Pode anexar o certificado a um novo proxy de destino ou a um proxy de destino existente.
Para anexar o certificado a um novo proxy de destino, use o gcloud compute
target-https-proxies createcomando:
gcloud compute target-https-proxies create PROXY_NAME \
--url-map=URL_MAP \
--certificate-manager-certificates=CERTIFICATE_NAME \
--global
Substitua o seguinte:
Para anexar o certificado a um proxy HTTPS de destino existente, use o gcloud
compute target-https-proxies update
comando. Se não souber o nome do proxy de destino existente, aceda à página Proxies de destino e anote o nome do proxy de destino.
gcloud compute target-https-proxies update PROXY_NAME \
--global \
--certificate-manager-certificates=CERTIFICATE_NAME
Depois de criar ou atualizar o proxy de destino, execute o seguinte comando para o verificar:
gcloud compute target-https-proxies list
Limpar
Para evitar incorrer em custos na sua conta Google Cloud relativos aos recursos usados neste tutorial, elimine o certificado carregado:
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Substitua CERTIFICATE_NAME pelo nome do certificado de destino.
Se não planeia usar o balanceador de carga, elimine-o e os respetivos recursos. Consulte o artigo Limpe uma configuração de equilíbrio de carga.