Configurar un dominio propio y asegurar tu aplicación con certificados SSL en Google Cloud es más fácil de lo que parece. Aquí verás, paso a paso, cómo mapear un dominio a App Engine, activar el SSL administrado por Google o subir tu propio certificado con Let's Encrypt, y validar todo desde Cloud Shell sin complicaciones.
¿Cómo conectar un dominio personalizado en Google App Engine?
Para empezar, desde la consola de Google Cloud en la sección de App Engine, ve a settings y luego a custom domains. Debes tener un dominio previamente adquirido y verificado con tu proveedor. Una vez verificado, podrás mapear tanto el subdominio www como el dominio raíz y recibirás los registros que debes configurar.
¿Qué pasos seguir en settings y custom domains?
- Entra a settings y elige custom domains.
- Selecciona tu dominio verificado y asigna www y el dominio raíz.
- Guarda para que se genere la configuración de mapeo.
¿Qué registros DNS configurar: A, AAAA y CNAME?
- Copia las direcciones de IPv4 y IPv6 para registros A y AAAA.
- Copia el CNAME indicado por App Engine.
- Crea estos registros en tu proveedor de dominio (por ejemplo, Google Domains).
¿Cómo verificar el SSL administrado por Google?
- Al terminar el mapeo, App Engine inicia la validación y emite un SSL administrado por Google.
- Revisa en settings → SSL certificates: verás el certificado administrado sin ID propio.
- Comprueba que tu dominio (ejemplo: kevinloy.app) carga tu app y redirige correctamente.
¿Cómo instalar un certificado SSL propio con Let's Encrypt?
Si prefieres tu propio certificado, puedes usar Let's Encrypt en modo manual desde Cloud Shell. El flujo consiste en ejecutar el cliente, responder a la verificación por archivo (ACME), servir ese archivo desde tu app en App Engine, validar y luego subir las llaves en SSL certificates.
¿Cómo preparar el reto ACME en App Engine?
- En Cloud Shell, ejecuta el cliente de Let's Encrypt en modo manual para obtener “solo certificado”.
- Indica el correo asociado y el dominio que deseas certificar.
- Atiende la verificación: crea las carpetas solicitadas (por ejemplo, well-known y acme challenge) y el archivo con el contenido exacto.
- Configura los handlers de App Engine para servir un directorio estático con esa ruta.
- Prueba en local con la herramienta de desarrollo: abre la URL indicada en localhost y verifica que el archivo se descarga.
¿Cómo desplegar y validar el certificado?
- Despliega una nueva versión para publicar la ruta estática en producción.
- Confirma que estás autenticado y en el proyecto correcto.
- Tras el deploy, ejecuta la validación de Let's Encrypt y espera el mensaje de éxito.
¿Cómo subir las llaves pública y privada en SSL certificates?
- Desde Cloud Shell, muestra la llave privada y el certificado público con los comandos indicados por el asistente de Let's Encrypt.
- Copia cuidadosamente todo el contenido: desde “BEGIN” hasta “END”.
- En settings → SSL certificates, sube ambos: público y privado.
- Asigna un nombre (ejemplo: kevinloycert=1) y selecciona el dominio a proteger.
- Revisa estado y fecha de expiración: Let's Encrypt suele expirar en tres meses.
¿Qué considerar sobre runtimes y buenas prácticas?
La aplicación corre en App Engine standard con Python 2.7, aunque también se mencionan PHP y Go. En App Engine flexible hay más runtimes disponibles y, si no existe el que necesitas, puedes usar Docker para empaquetar tu entorno.
- El SSL administrado por Google es automático y sencillo.
- Un certificado propio con Let's Encrypt te da control e ID propio.
- Recuerda renovar cada tres meses si eliges Let's Encrypt.
- Verifica siempre autenticación y proyecto antes de desplegar.
- Sirve el reto ACME desde un directorio estático bien configurado.
¿Tienes dudas sobre el mapeo de DNS, la ruta estática del reto ACME o la subida del certificado? Cuéntame en qué paso estás y te ayudo a resolverlo.