En este instructivo, se describe cómo usar el Administrador de certificados para implementar un certificado global autoadministrado.
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 necesario 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 requiere 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
- Roles 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.
Para 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 del proxy externo global (proxy SSL), consulta Configura un balanceador de cargas de red del proxy externo global (proxy SSL) con backends de grupos de instancias de VM.
Para crear un balanceador de cargas de red del proxy externo global (proxy TCP), consulta Configura un balanceador de cargas de red del proxy externo global (proxy TCP) 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 la clave asociada.
Verifica que el certificado esté encadenado correctamente y que sea de confianza para la raíz.
Prepara los siguientes archivos con codificación PEM:
- El 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
Console
En la consola de Google Cloud, ve a la página Administrador de certificados.
En la página que aparece, selecciona la pestaña Certificados.
Haz clic en Agregar certificado.
Ingresa un Nombre para el certificado.
Este nombre debe ser único para el proyecto.
Ingresa la Descripción del certificado (opcional). La descripción te ayuda a identificar un certificado específico más adelante.
En Ubicación, elige Global.
En Alcance, elige cualquiera de las siguientes opciones:
- Predeterminado: Elige la configuración predeterminada para el Balanceador de cargas de aplicaciones externo global, un Balanceador de cargas de aplicaciones clásico o un Balanceador de cargas de red del proxy externo global.
- Todas las regiones: Elige todas las regiones para un balanceador de cargas de aplicaciones interno entre regiones.
En Tipo de certificado, elige Crear certificado autoadministrado.
En el campo Certificado, realiza cualquiera 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 Certificado de clave privada, realiza cualquiera 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 debe 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-----
.
Especifica una etiqueta para asociarla al certificado. Puedes agregar más de una etiqueta, si es necesario. Para agregar una etiqueta, haz clic en el botón add_box Agregar etiqueta y especifica una
key
y unavalue
para tu etiqueta.Haz clic en Crear. Verifica que el nuevo certificado aparezca en la lista de certificados.
gcloud
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 del proxy externo global, usa este comando:
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 del certificado de CRTPRIVATE_KEY_FILE
: La ruta de acceso y el nombre de archivo del archivo de claves privadas de la CLAVE
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 del certificado de CRTPRIVATE_KEY_FILE
: La ruta de acceso y el nombre de archivo del archivo de claves privadas de la CLAVE
Implementa el certificado autoadministrado en un balanceador de cargas
En las siguientes secciones, se describe cómo implementar en un balanceador de cargas el certificado autoadministrado que subiste al Administrador de certificados.
Según el tipo de balanceador de cargas, puedes implementar certificados de la siguiente manera:
- Para 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 el balanceador de cargas de aplicaciones interno entre regiones, implementa el certificado adjuntándolo directamente al proxy de destino.
Implementa el certificado con un mapa de certificados
En esta sección, se describen los pasos para implementar un certificado con un mapa de certificados.
Crea un mapa de certificados
Crea un mapa de certificados que haga referencia a la entrada del mapa de certificados asociada con tu certificado:
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
Reemplaza CERTIFICATE_MAP_NAME
por el nombre del mapa de certificados de destino.
Crea una entrada de mapa de certificados
Crea una entrada de mapa de certificados 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 del mapa de certificados.CERTIFICATE_MAP_NAME
: Es el nombre del mapa de certificados al que se adjunta la entrada del mapa de certificados.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.
Cómo verificar 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 del mapa de certificados.CERTIFICATE_MAP_NAME
: Es el nombre del mapa de certificados al que se adjunta la entrada del mapa de certificados.
Si la entrada del mapa de certificados está activa, Google Cloud CLI mostrará un resultado similar al siguiente:
certificates: createTime: '2021-09-06T10:01:56.229472109Z' hostname: example.com 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.
Conecta el mapa de certificados al proxy de destino
Para conectar 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 algún certificado TLS (SSL) se adjunta directamente al proxy, este da prioridad a los certificados a los que hace referencia el mapa de certificados en lugar de los certificados adjuntos de forma directa.
Crear 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 desvincular el mapa de certificados.
- Si desconectas el mapa de certificados de un proxy, este podrá reanudar el uso de certificados TLS (SSL) que se adjuntaron 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 del 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 de certificados de destino.Borra el certificado que subiste:
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Reemplaza
CERTIFICATE_NAME
por el nombre del certificado de destino.