En este instructivo, se describe cómo usar el Administrador de certificados para implementar un certificado autoadministrado global.
Los siguientes balanceadores de cargas admiten certificados autoadministrados globales:
- Balanceador de cargas de aplicaciones externo global
- Balanceador de cargas de aplicaciones clásico
- Balanceador de cargas de red del proxy externo global
- Balanceador de cargas de aplicaciones interno entre regiones
Para implementar un certificado autoadministrado en un balanceador de cargas de aplicaciones externo regional o en un balanceador de cargas de aplicaciones interno regional, consulta Implementa un certificado autoadministrado regional.
Objetivos
En este instructivo, se muestra cómo completar las siguientes tareas:
- Subir un certificado autoadministrado al Administrador de certificados
- Implementar el certificado en un balanceador de cargas compatible mediante un proxy HTTPS de destino
Para obtener más información sobre el proceso de implementación de certificados, consulta Descripción general de la implementación.
Antes de comenzar
-
En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
Asegúrate de tener los siguientes roles para completar las tareas de este instructivo:
- Propietario del Administrador de certificados: Es obligatorio para crear y administrar los recursos del Administrador de certificados.
- Administrador del balanceador de cargas de Compute o Administrador de la red de Compute: Se necesita para crear y administrar el proxy de destino HTTPS.
Para obtener más información, consulta lo siguiente:
- Funciones y permisos del Administrador de certificados
- Funciones y permisos de IAM de Compute Engine para Compute Engine
Crea el balanceador de cargas
Crea el balanceador de cargas en el que deseas implementar el certificado.
Para crear un balanceador de cargas de aplicaciones externo global, consulta Configura un balanceador de cargas de aplicaciones externo global con backends de grupos de instancias de VM.
Si quieres crear un balanceador de cargas de aplicaciones clásico, consulta Configura un balanceador de cargas de aplicaciones clásico con grupo de instancias administrado administrados.
Para crear un balanceador de cargas de red (proxy SSL) externo global, consulta Configura un balanceador de cargas de red (proxy SSL) externo global con backends de grupos de instancias de VM.
Para crear un balanceador de cargas de red (proxy TCP) de proxy externo global, consulta Configura un balanceador de cargas de red (proxy TCP) de un proxy externo global con backends de grupos de instancias de VM.
Para crear un balanceador de cargas de aplicaciones interno entre regiones, consulta Configura un balanceador de cargas de aplicaciones interno entre regiones con backends de grupos de instancias de VM.
En el resto de este instructivo, se supone que ya configuraste los backends, la verificación de estado, el servicio de backend y el mapa de URL del balanceador de cargas. Anota el nombre del mapa de URL porque lo necesitarás más adelante en este instructivo.
Crea una clave privada y un certificado
Para crear una clave privada y un certificado, haz lo siguiente:
Usa una autoridad certificadora (AC) de terceros de confianza para emitir el certificado junto con su clave asociada.
Verifica que el certificado esté encadenado de forma correcta y sea de confianza.
Prepara los siguientes archivos con codificación PEM:
- Archivo de certificado (CRT)
- El archivo de clave privada correspondiente (KEY)
Para obtener información sobre cómo solicitar y validar un certificado, consulta Crea una clave privada y un certificado.
Subir un certificado autoadministrado al Administrador de certificados
Para subir el certificado al Administrador de certificados, haz lo siguiente:
Para un balanceador de cargas de aplicaciones externo global, un balanceador de cargas de aplicaciones clásico o un balanceador de cargas de red de proxy externo global:
Ejecuta el siguiente comando:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --certificate-file="CERTIFICATE_FILE" \ --private-key-file="PRIVATE_KEY_FILE"
Reemplaza lo siguiente:
CERTIFICATE_NAME
: Es el nombre único del certificado.CERTIFICATE_FILE
: La ruta de acceso y el nombre de archivo del archivo de certificado de CRTPRIVATE_KEY_FILE
: La ruta de acceso y el nombre de archivo del archivo de claves privadas KEY
Para un balanceador de cargas de aplicaciones interno entre regiones, haz lo siguiente:
Ejecuta el siguiente comando:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --certificate-file="CERTIFICATE_FILE" \ --private-key-file="PRIVATE_KEY_FILE" \ --scope=all-regions
Reemplaza lo siguiente:
CERTIFICATE_NAME
: Es el nombre único del certificado.CERTIFICATE_FILE
: La ruta de acceso y el nombre de archivo del archivo de certificado de CRTPRIVATE_KEY_FILE
: La ruta de acceso y el nombre de archivo del archivo de claves privadas KEY
Implementa el certificado autoadministrado en un balanceador de cargas
En las siguientes secciones, se describe cómo implementar el certificado autoadministrado que subiste al Administrador de certificados en un balanceador de cargas.
Según el tipo de balanceador de cargas, puedes implementar certificados de la siguiente manera:
- En los siguientes balanceadores de cargas, implementa el certificado con un mapa de certificados:
- Balanceador de cargas de aplicaciones externo global
- Balanceador de cargas de red del proxy externo global
- Balanceador de cargas de aplicaciones clásico
- Para implementar el certificado en el balanceador de cargas de aplicaciones interno entre regiones, conéctalo directamente al proxy de destino.
Implementa el certificado mediante un mapa de certificados
En esta sección, se describen los pasos para implementar un certificado mediante un mapa de certificados.
Crea un mapa de certificados
Crea un mapa de certificados que haga referencia a la entrada de mapa de certificado asociada con tu certificado:
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
Reemplaza CERTIFICATE_MAP_NAME
por el nombre del mapa del certificado de destino.
Crea una entrada de mapa de certificado
Crea una entrada de mapa de certificado y asóciala con tu certificado autoadministrado y tu mapa de certificados:
gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAME" \ --hostname="HOSTNAME"
Reemplaza lo siguiente:
CERTIFICATE_MAP_ENTRY_NAME
: Es un nombre único de la entrada de mapa del certificado.CERTIFICATE_MAP_NAME
: Es el nombre del mapa de certificado al que se adjunta la entrada de mapa de certificado.CERTIFICATE_NAME
: Es el nombre del certificado que deseas asociar con la entrada del mapa de certificados.HOSTNAME
: Es el nombre de host que deseas asociar con la entrada del mapa de certificados.
Verifica que la entrada del mapa de certificados esté activa
Antes de adjuntar el mapa de certificados al proxy de destino, ejecuta el siguiente comando para verificar si la entrada del mapa de certificados está activa:
gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Reemplaza lo siguiente:
CERTIFICATE_MAP_ENTRY_NAME
: Es un nombre único de la entrada de mapa del certificado.CERTIFICATE_MAP_NAME
: Es el nombre del mapa de certificado al que se adjunta la entrada de mapa de certificado.
Si la entrada de mapa de certificados está activa, Google Cloud CLI mostrará un resultado similar al siguiente:
createTime: '2021-09-06T10:01:56.229472109Z' name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/myCertMapEntry state: ACTIVE updateTime: '2021-09-06T10:01:58.277031787Z'
Crea el proxy de destino HTTPS
Para crear un proxy de destino HTTPS, consulta Crea un proxy de destino.
Adjunta el mapa de certificados al proxy de destino
Para adjuntar el mapa de certificados configurado al proxy de destino, sigue estos pasos:
En la consola de Google Cloud, ve a la página Proxies de destino.
Anota el nombre del proxy de destino.
Para adjuntar el mapa de certificados al proxy de destino, ejecuta el siguiente comando:
gcloud compute target-https-proxies update PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME"
Reemplaza lo siguiente:
PROXY_NAME
: Es el nombre del proxy de destino.CERTIFICATE_MAP_NAME
: Es el nombre del mapa de certificados que hace referencia a tu entrada de mapa de certificados y al certificado asociado.
Si se adjunta algún certificado TLS (SSL) de forma directa al proxy, el proxy da prioridad a los certificados a los que hace referencia el mapa de certificados en lugar de los certificados conectados directamente.
Cree una regla de reenvío.
Configura una regla de reenvío y termina de configurar el balanceador de cargas. Para obtener más información, consulta Usa reglas de reenvío.
Adjunta el certificado directamente al proxy de destino
Para adjuntar el certificado directamente al proxy, ejecuta el siguiente comando:
gcloud compute target-https-proxies update PROXY_NAME \ --url-map=URL_MAP \ --global \ --certificate-manager-certificates=CERTIFICATE_NAME
Reemplaza lo siguiente:
PROXY_NAME
: Es un nombre único del proxy.URL_MAP
: el nombre del mapa de URL. Creaste el mapa de URL cuando creaste el balanceador de cargas.CERTIFICATE_NAME
: Es el nombre del certificado.
Limpia
Para revertir los cambios que realizaste en este instructivo, completa los siguientes pasos:
Desconecta el mapa de certificados del proxy:
gcloud compute target-https-proxies update PROXY_NAME \ --clear-certificate-map
Reemplaza
PROXY_NAME
por el nombre del proxy de destino.Antes de desvincular el mapa de certificados del proxy, ten en cuenta lo siguiente:
- Asegúrate de que al menos un certificado TLS (SSL) esté conectado directamente al proxy. Si no hay certificados adjuntos al proxy, no puedes desconectar el mapa de certificados.
- Si desvinculas el mapa de certificados de un proxy, este podrá reanudar el uso de certificados TLS (SSL) conectados directamente al proxy.
Borra la entrada del mapa de certificados del mapa de certificados:
gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Reemplaza lo siguiente:
CERTIFICATE_MAP_ENTRY_NAME
: Es el nombre de la entrada de mapa de certificados de destino.CERTIFICATE_MAP_NAME
: Es el nombre del mapa de certificados de destino.
Borra el mapa de certificados:
gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
Reemplaza
CERTIFICATE_MAP_NAME
por el nombre del mapa del certificado de destino.Borra el certificado que subiste:
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Reemplaza
CERTIFICATE_NAME
por el nombre del certificado de destino.