Para proteger la comunicación de tus balanceadores de cargas de aplicaciones externos regionales o balanceadores de cargas de aplicaciones internos regionales, usa el Administrador de certificados para implementar un certificado autoadministrado. Este enfoque te ayuda a usar tus propios certificados de confianza para tus aplicaciones. En este instructivo, se muestra cómo implementar certificados autoadministrados específicamente para balanceadores de cargas regionales.
Antes de comenzar, asegúrate de haber creado un balanceador de cargas de aplicaciones externo regional o un balanceador de cargas de aplicaciones interno regional.
Para las implementaciones externas globales o entre regiones, consulta lo siguiente:
Objetivos
En este instructivo, se muestra cómo completar las siguientes tareas:
- Sube un certificado autoadministrado al Administrador de certificados.
- Implementa el certificado en un balanceador de cargas de aplicaciones externo regional o en un balanceador de cargas de aplicaciones interno regional con un proxy HTTPS de destino.
Antes de comenzar
- Accede a tu cuenta de Google Cloud . Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
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, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
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, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Roles obligatorios
Asegúrate de tener los siguientes roles para completar las tareas de este instructivo:
Propietario del Administrador de certificados (
roles/certificatemanager.owner)Se requiere para crear y administrar recursos de Certificate Manager.
Administrador de balanceador de cargas de Compute (
roles/compute.loadBalancerAdmin) o Administrador de red de Compute (roles/compute.networkAdmin)Se requiere para crear y administrar el proxy HTTPS de destino.
Para obtener más información, consulta lo siguiente:
- Roles y permisos para Administrador de certificados.
- Roles y permisos de IAM de Compute Engine para Compute Engine
Crea el balanceador de cargas
En este instructivo, se supone que ya creaste y configuraste los backends, las verificaciones de estado, los servicios de backend y los mapas de URL del balanceador de cargas. Toma nota del nombre del mapa de URL, ya que lo necesitarás más adelante en este instructivo.
Para crear un balanceador de cargas de aplicaciones externo regional, consulta Configura un balanceador de cargas de aplicaciones externo regional con backends de grupos de instancias de VM.
Para crear un balanceador de cargas de aplicaciones interno regional, consulta Configura un balanceador de cargas de aplicaciones interno regional con backends de grupos de instancias de VM.
Crea una clave privada y un certificado
Para crear una clave privada y un certificado, haz lo siguiente:
Usa una autoridad certificadora (CA) externa de confianza para emitir el certificado junto con su clave asociada.
Verifica que el certificado esté encadenado correctamente y que se confíe en la raíz.
Prepara los siguientes archivos codificados en PEM:
- El archivo de certificado (CRT)
- El archivo de claves privadas correspondiente (KEY)
Para obtener información sobre cómo solicitar y validar un certificado, consulta Crea una clave privada y un certificado.
Sube un certificado autoadministrado al Administrador de certificados
Para subir el certificado al Administrador de certificados, haz lo siguiente:
Console
En la consola de Google Cloud , ve a la página Administrador de certificados.
En la pestaña Certificados, haz clic en Agregar certificado.
En el campo Nombre del certificado, ingresa un nombre único para el certificado.
Opcional: En el campo Descripción, ingresa una descripción para el certificado. La descripción te permite identificar el certificado.
En Ubicación, selecciona Regional.
En la lista Región, selecciona tu región.
En Tipo de certificado, selecciona Crear certificado autoadministrado.
En el campo Certificado, realiza una de las siguientes acciones:
- Haz clic en el botón Subir y selecciona el archivo de certificado con formato PEM.
- Copia y pega el contenido de un certificado con formato PEM. El contenido debe comenzar con
-----BEGIN CERTIFICATE-----y terminar con-----END CERTIFICATE-----.
En el campo Private key certificate, realiza una de las siguientes acciones:
- Haz clic en el botón Subir y selecciona tu clave privada. Tu clave privada debe tener formato PEM y no estar protegida con una frase de contraseña.
- Copia y pega el contenido de una clave privada con el formato PEM. Las claves privadas deben comenzar con
-----BEGIN PRIVATE KEY-----y terminar con-----END PRIVATE KEY-----.
En el campo Etiquetas, especifica las etiquetas que se asociarán con el certificado. Para agregar una etiqueta, haz clic en Agregar etiqueta y especifica una clave y un valor para tu etiqueta.
Haz clic en Crear.
El certificado nuevo aparecerá en la lista de certificados.
gcloud
Para crear un certificado autoadministrado regional, ejecuta el comando certificate-manager certificates create:
gcloud certificate-manager certificates create CERTIFICATE_NAME \
--certificate-file="CERTIFICATE_FILE" \
--private-key-file="PRIVATE_KEY_FILE" \
--location="LOCATION"
Reemplaza lo siguiente:
CERTIFICATE_NAME: Es el nombre del certificado.CERTIFICATE_FILE: Es la ruta de acceso y el nombre del archivo del certificado CRT.PRIVATE_KEY_FILE: Es la ruta de acceso y el nombre de archivo de la clave privada KEY.LOCATION: Es la Google Cloud ubicación de destino.
Terraform
Para subir un certificado autoadministrado, puedes usar un recurso google_certificate_manager_certificate con el bloque self_managed.
API
Sube el certificado realizando una solicitud POST al método certificates.create de la siguiente manera:
POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME
{
self_managed: {
pem_certificate: "PEM_CERTIFICATE",
pem_private_key: "PEM_KEY",
}
}
Reemplaza lo siguiente:
PROJECT_ID: ID de tu proyecto de Google CloudCERTIFICATE_NAME: Es el nombre del certificado.PEM_CERTIFICATE: Es el PEM del certificado.PEM_KEY: Es la clave PEM.LOCATION: Es la Google Cloud ubicación de destino.
Implementa el certificado autoadministrado en un balanceador de cargas
Para implementar el certificado autoadministrado, adjúntalo directamente al proxy de destino.
Adjunta el certificado directamente al proxy de destino
Puedes adjuntar el certificado a un proxy de destino nuevo o existente.
Para adjuntar el certificado a un proxy de destino nuevo, usa el comando gcloud compute
target-https-proxies create:
gcloud compute target-https-proxies create PROXY_NAME \
--certificate-manager-certificates=CERTIFICATE_NAME \
--url-map=URL_MAP \
--region=LOCATION
Reemplaza lo siguiente:
PROXY_NAME: Es el nombre del proxy de destino.CERTIFICATE_NAME: Es el nombre del certificado.URL_MAP: el nombre del mapa de URL. Creaste el mapa de URL cuando creaste el balanceador de cargas.LOCATION: Es la Google Cloud ubicación de destino en la que deseas crear el proxy HTTPS de destino.
Para adjuntar un certificado a un proxy HTTPS de destino existente, usa el comando gcloud
compute target-https-proxies update. Si no conoces el nombre del proxy de destino existente, ve a la página Proxies de destino y anota el nombre del proxy de destino.
gcloud compute target-https-proxies update PROXY_NAME \
--region=LOCATION \
--certificate-manager-certificates=CERTIFICATE_NAME
Después de crear o actualizar el proxy de destino, ejecuta el siguiente comando para verificarlo:
gcloud compute target-https-proxies list
Realiza una limpieza
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en este instructivo, borra el certificado que subiste:
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Reemplaza CERTIFICATE_NAME por el nombre del certificado de destino.
Si no planeas usar el balanceador de cargas, bórralo junto con sus recursos. Consulta Limpia una configuración de balanceo de cargas.