Asignar dominios personalizados

Puedes usar un dominio personalizado en lugar de la dirección predeterminada que proporciona App Engine para tu aplicación.

Para usar un dominio personalizado, asigna el dominio a tu aplicación y, a continuación, actualiza los registros DNS. Puedes asignar un dominio desnudo, como example.com, o un subdominio, como subdomain.example.com. También puedes usar comodines para asignar subdominios.

De forma predeterminada, cuando asignas un dominio a tu aplicación, App Engine emite un certificado gestionado para SSL para las conexiones HTTPS. Para obtener más información sobre cómo usar SSL con tu dominio personalizado, incluido cómo usar tus propios certificados SSL, consulta Proteger dominios personalizados con SSL.

Usar dominios personalizados puede añadir una latencia notable a las respuestas que App Engine envía a los usuarios de tu aplicación en algunas regiones. Las regiones son las siguientes:

  • us‑west2
  • us‑east4
  • northamerica‑northeast1
  • southamerica-east1
  • europe‑west2
  • europe‑west3
  • asia‑south1
  • asia‑northeast1
  • australia‑southeast1

Los dominios personalizados de App Engine usan un grupo de direcciones IP compartidas para todas las aplicaciones. Si quieres usar una dirección IP que solo se asigne a tu dominio, configura un balanceador de carga con App Engine. Esto puede mitigar un problema de ocultación de dominio en el que una solicitud a la aplicación A en el certificado SNI se puede enrutar a la aplicación B en el encabezado Host HTTP.

Antes de empezar

  • Si no tienes un dominio, compra uno. Puedes usar cualquier registrador de nombres de dominio.

  • Para añadir o editar una asignación de dominio personalizado, tu cuenta debe tener el rol de administrador de App Engine (roles/appengine.appAdmin) o un rol personalizado que contenga el permiso appengine.applications.get.

  • Si usas Cloud Load Balancing y grupos de puntos finales de red (NEG) sin servidor para enrutar el tráfico a tu aplicación de App Engine, te recomendamos que asignes tu dominio personalizado al balanceador de carga en lugar de directamente a tu aplicación y que uses certificados SSL gestionados por Google que se hayan creado para el balanceador de carga. De esta forma, no es necesario gestionar certificados SSL independientes para cada aplicación sin servidor. Con Cloud Load Balancing, puedes definir políticas de SSL que controlen las funciones de SSL que tu balanceador de carga negocia con los clientes.

    Para obtener más información, consulta las siguientes páginas:

    Ten en cuenta la siguiente limitación:

    • Te recomendamos que uses controles de entrada para que tu aplicación solo reciba solicitudes enviadas desde el balanceador de carga (y la VPC, si la usas). De lo contrario, los usuarios podrán usar la URL de App Engine de tu aplicación para saltarse el balanceador de carga, las políticas de seguridad de Cloud Armor, los certificados SSL y las claves privadas que se transfieren a través del balanceador de carga.

Asignar un dominio personalizado a una aplicación

  1. En la consola, ve a la pestaña Configuración de la aplicación de la página Configuración de App Engine. Google Cloud

    Ve a Configuración de la aplicación.

    Si no necesitas modificar el referente predeterminado de la API de cuentas de Google, ve al paso siguiente.

    Si necesitas habilitar la autenticación de Google Workspace para tu dominio personalizado, haz clic en Editar para modificar el referente de la API de cuentas de Google. En el menú desplegable Autenticación de Google, selecciona Dominio de Google Workspace y, a continuación, añade tu dominio (por ejemplo, example.com) en el campo vacío.

  2. En la Google Cloud consola, ve a la pestaña Dominios personalizados de la página Configuración de App Engine.

    Ir a Dominios personalizados

  3. Haz clic en Añadir un dominio personalizado.

  4. Si tu dominio ya se ha verificado, aparecerá en la sección Selecciona el dominio que quieres utilizar. En el menú desplegable, selecciona el dominio y haz clic en Continuar.

    Si aún no has verificado tu dominio, sigue estos pasos:

    1. Selecciona Verificar un nuevo dominio en el menú desplegable.
    2. Introduce el nombre de tu dominio sin prefijo (por ejemplo, "example.com") y haz clic en Verificar.

      Aunque solo quieras asignar un subdominio, como "www.subdominio.example.com", introduce el nombre de dominio sin prefijo para verificar la propiedad.

      Ten en cuenta que los nombres de dominio deben tener menos de 64 bytes.

    3. Introduce la información en la ventana de Search Console que aparece. Para obtener ayuda sobre cómo usar Search Console, consulta la ayuda de Search Console.

    4. Después de completar los pasos en Search Console, vuelve a la página Añadir un nuevo dominio personalizado de la consola de Google Cloud .

  5. En la sección Apunta tu dominio a [ID-del-proyecto], especifica el dominio y los subdominios que quieras asignar.

    Te recomendamos que asignes el dominio desnudo y el subdominio www. Puedes añadir más subdominios si los necesitas.

    Cuando hayas añadido todas las asignaciones que quieras, haz clic en Guardar asignaciones.

  6. Haz clic en Continuar para ver los registros DNS de tu dominio.

    Puedes recuperar estos registros en cualquier momento en la pestaña Dominios personalizados de la página Configuración de App Engine.

  7. Inicia sesión en el sitio web de tu registrador de dominios y actualiza tus registros DNS con los registros que se muestran en el paso anterior.

Actualizar los registros DNS en el registrador de dominios

Google Cloud

Una vez que hayas asignado tu servicio a un dominio personalizado en App Engine, debes actualizar los registros DNS en tu registrador de dominios. Para ponértelo fácil, App Engine genera y te muestra los registros DNS que debes introducir.

  1. Para obtener la información de los registros DNS de las asignaciones de dominios, sigue estos pasos:

    En la Google Cloud consola, ve a la pestaña Dominios personalizados de la página Configuración de App Engine. En esta página se muestran los registros DNS de todos los dominios que has asignado a tu aplicación.

  2. Inicia sesión en tu cuenta del registrador de dominios y abre la página de configuración de DNS.

  3. Busca la sección de registros de host de la página de configuración de tu dominio y añade todos los registros DNS que hayas obtenido al asignar tu dominio a tu aplicación.

    Introduce los siguientes datos en los campos del registro:

    • Tipo de registro: introduce el tipo de registro que se muestra en el registro DNS creado por Google (A, AAAA o CNAME).
    • Nombre del registro:

      • En los registros A o AAAA, introduce @.
      • En los registros CNAME, introduce un nombre de dominio de tercer nivel. Por ejemplo, introduce www para asignar el subdominio www.example.com.
    • Ten en cuenta que, si usas Cloud DNS, no es necesario que añadas el símbolo @ al crear un registro A para tu dominio personalizado principal (example.com). Sin embargo, es posible que tengas que especificar el símbolo @ en otros proveedores de DNS, como GoDaddy.

    • TTL: especifica un TTL en función de tus necesidades.

    • Datos: introduce los datos de registro (rrdata) que se muestran en el registro DNS creado por Google.

      • En el caso de los registros A o AAAA, los datos de registro son direcciones IP.
      • En los registros CNAME, los datos del registro son un nombre de dominio
  4. Guarda los cambios en la página de configuración de DNS de la cuenta de tu dominio. En la mayoría de los casos, estos cambios tardan unos minutos en aplicarse, pero a veces pueden tardar varias horas, en función del registrador y del tiempo de vida (TTL) de los registros DNS anteriores de tu dominio. Puedes usar una herramienta de dig, como esta versión onlinedig, para confirmar que los registros DNS se han actualizado correctamente.

  5. Para comprobar que todo funciona correctamente, ve al servicio en su nueva URL, por ejemplo, https://www.example.com. Ten en cuenta que el certificado SSL automático puede tardar varios minutos en emitirse.

Delegar la propiedad en otros Google Cloud usuarios o cuentas de servicio

Si necesitas delegar la propiedad de tu dominio en otros usuarios o cuentas de servicio, puedes añadir permisos a través de la página Search Console. Para ver una lista de cuentas de servicio, abre la página Cuentas de servicio en la Google Cloud consola.

Para añadir permisos a través de Search Console, sigue estos pasos:

  1. Abre la verificación de Search Console.

  2. En Propiedades, haga clic en el dominio al que quiera añadir un usuario o una cuenta de servicio.

  3. En el panel lateral, ve a Configuración.

  4. En Configuración general, haz clic en Usuarios y permisos para ver los propietarios de tu dominio.

  5. Haz clic en Añadir usuario e introduce el ID de correo del usuario. Selecciona el permiso necesario para concederlo al usuario. Para obtener más información sobre los permisos, consulta el artículo Gestionar propietarios, usuarios y permisos.

  6. Haz clic en Añadir para delegar la propiedad en el usuario.

Usar subdominios

Si configuras una asignación de subdominio comodín para tu dominio personalizado, tu aplicación atenderá las solicitudes de cualquier subdominio coincidente.

  • Si el usuario navega por un dominio que coincide con el nombre de una versión de la aplicación o con el nombre de un servicio, la aplicación sirve esa versión.
  • Si el usuario busca un dominio que coincida con el nombre de un servicio, la aplicación ofrecerá ese servicio.
  • Hay un límite de 20 certificados SSL gestionados por semana para cada dominio base. Si alcanzas el límite, App Engine seguirá intentando emitir certificados gestionados hasta que se hayan completado todas las solicitudes.

Asignaciones comodín

Puedes usar comodines para asignar subdominios de cualquier nivel, empezando por los de tercer nivel. Por ejemplo, si tu dominio es example.com y escribes texto en el campo de dirección web:

  • Si introduces *.example.com, se asignarán todos los subdominios de example.com a tu aplicación.
  • Si introduces *.private.example.com, se asignarán todos los subdominios de private.example.com a tu aplicación.
  • Si introduces *.nichol.sharks.nhl.example.com, se asignarán todos los subdominios de nichol.sharks.nhl.example.com a tu aplicación.
  • Si introduces *.excogitate.system.example.com, se asignarán todos los subdominios de excogitate.system.example.com a tu aplicación.

Puedes usar asignaciones comodín con servicios en App Engine mediante el archivo dispatch.yaml para definir el enrutamiento de solicitudes a servicios específicos.

Si usas Google Workspace con otros subdominios de tu dominio, como sites y mail, esas asignaciones tienen mayor prioridad y se aplican primero, antes de que se aplique cualquier asignación comodín. Además, si tienes otras aplicaciones de App Engine asignadas a otros subdominios, esas asignaciones también tienen mayor prioridad que cualquier asignación comodín.

Es posible que algunos proveedores de DNS no funcionen con la asignación de subdominios comodín. En concreto, un proveedor de DNS debe permitir comodines en las entradas de host CNAME.

Las reglas de enrutamiento con comodines se aplican a las URLs que contienen componentes de servicios, versiones e instancias, siguiendo las reglas de enrutamiento de servicios de App Engine.

Eliminar dominios personalizados de tu aplicación

Para eliminar una asignación de dominio personalizado de tu aplicación, tu cuenta debe tener el rol Administrador de App Engine (roles/appengine.appAdmin) o un rol personalizado que contenga el permiso appengine.applications.update.

En la Google Cloud consola, haz lo siguiente:

  1. Ve a la pestaña Dominios personalizados de la página Configuración de App Engine.

    Ir a Dominios personalizados

  2. Selecciona el nombre de dominio personalizado y haz clic en Eliminar.

También puedes usar comandos de gcloud o la API Admin para eliminar dominios personalizados.

Solución de problemas

Si tu aplicación muestra errores de autenticación después de configurar tu dominio personalizado con la autenticación de dominio de Google Workspace, elimina la asignación de dominio personalizado y vuelve a seguir los pasos para asignar un dominio personalizado a tu aplicación. Asegúrate de configurar la autenticación de dominio de Google Workspace antes de configurar la asignación de dominio personalizado en App Engine.

Siguientes pasos