En esta página se muestra la configuración necesaria para exponer un servicio del entorno flexible de App Engine solo en su dirección IP interna.
De forma predeterminada, los servicios del entorno flexible reciben una dirección IP interna y una dirección IP externa efímera cuando se implementan por primera vez. La dirección IP externa efímera permite que tu servicio envíe solicitudes a servicios de App Engine con dominios personalizados y recursos en Internet. Las direcciones IP externas efímeras tienen costes.
Si tu servicio no requiere una dirección IP externa, puedes evitar que envíe solicitudes a recursos de Internet y reducir los costes limitando el uso de tu servicio a su dirección IP interna. Esto no impide que tu servicio reciba solicitudes de Internet o de servicios de App Engine con dominios personalizados, ya que el nombre de dominio completo de tu servicio sigue siendo visible externamente.
Limitaciones
Inhabilitar las direcciones IP externas efímeras tiene las siguientes limitaciones:
- Servicios con dominios personalizados: para enviar solicitudes a servicios de App Engine con dominios personalizados, debes configurar Cloud NAT.
- Recursos externos: para enviar solicitudes a recursos externos, debes configurar Cloud NAT.
- Dependencia del acceso privado de Google: las instancias con el modo de IP definido en
internal
requieren el acceso privado de Google en la subred de destino. - Redes antiguas: las redes antiguas no pueden usar el acceso privado de Google y, por lo tanto, no pueden inhabilitar las direcciones IP externas efímeras.
Antes de empezar
Para desplegar aplicaciones del entorno flexible sin direcciones IP externas, debes habilitar el acceso privado de Google en la subred de destino.
- Para obtener información sobre el Acceso privado de Google, consulta la descripción general.
- Para ver instrucciones detalladas sobre cómo configurarlo, consulta el artículo Habilitar Acceso privado de Google.
Preparar una red de VPC compartida
Si usas la VPC compartida, sigue estos pasos para preparar tu red de VPC compartida para la configuración.
Verifica que tengas una ruta compatible con el acceso privado de Google. Normalmente, la ruta predeterminada de una red es compatible con Acceso privado de Google. En el caso de otras rutas, confirma que la ruta esté configurada de la siguiente manera.
Network: SHARED_VPC_NETWORK_NAME Destination IP address range: 0.0.0.0/0 Instance tags: INSTANCE_TAGS Next hop: DEFAULT_INTERNET_GATEWAY
Haz los cambios siguientes:
SHARED_VPC_NETWORK_NAME
: nombre de tu red de VPC compartida.INSTANCE_TAGS
: Si no utiliza ninguna etiqueta de instancia, no especifique nada en este campo. Si usas etiquetas de instancia, incluyeaef-instances
en tu lista de etiquetas de instancia.DEFAULT_INTERNET_GATEWAY
: la pasarela de Internet predeterminada.
Para obtener más información sobre las rutas compatibles con Acceso privado de Google, consulta la documentación sobre opciones de enrutamiento.
Verifica que tienes una regla de cortafuegos compatible con el acceso privado a Google. La regla de cortafuegos debe configurarse de la siguiente manera.
Network: SHARED_VPC_NETWORK_NAME Destination IP address range: 0.0.0.0/0 Destination filter: IP ranges Direction of traffic: Egress Attach on match: Allow Instance tags: INSTANCE_TAGS
Haz los cambios siguientes:
SHARED_VPC_NETWORK_NAME
: nombre de tu red de VPC compartida.INSTANCE_TAGS
: Si no utiliza ninguna etiqueta de instancia, no especifique nada en este campo. Si usas etiquetas de instancia, incluyeaef-instances
en tu lista de etiquetas de instancia.
Para obtener más información sobre las reglas de cortafuegos compatibles con Acceso privado de Google, consulta la documentación sobre configuración del cortafuegos.
Configurar el servicio para que solo use su dirección IP interna
Actualiza Google Cloud CLI. De esta forma, te aseguras de que estás usando una versión de la CLI de gcloud que admite direcciones IP privadas para aplicaciones del entorno flexible.
gcloud components update
En el archivo
app.yaml
, añada el campoinstance_ip_mode
a la secciónnetwork
y asígnale el valorinternal
.Si tu archivo
app.yaml
ya tiene una secciónnetwork
, añade la siguiente línea dentro de esa sección:network
instance_ip_mode: internal
Si tu archivo
app.yaml
no tiene una secciónnetwork
, créala y especifica el modo de IP de la instancia añadiendo las siguientes líneas:network: instance_ip_mode: internal
Guarda estos cambios.
Implementa el servicio.
gcloud beta app deploy
Verifica la configuración consultando la página Instancias de la Google Cloud consola.
Desplázate hacia abajo hasta la tabla Instancias (debajo del gráfico Resumen). En la columna IP externa, comprueba que no haya ninguna dirección IP. Si no hay ninguna dirección IP en esta columna, significa que tu instancia no tiene ninguna dirección IP externa. Aunque este campo esté vacío, tu instancia sigue teniendo una dirección IP interna.
Enviar solicitudes externas sin una dirección IP externa
Si tu servicio envía solicitudes a Internet, pero quieres limitar su uso a su dirección IP interna, puedes usar Cloud NAT para crear una pasarela. Tu servicio puede enviar solicitudes externas a través de la pasarela Cloud NAT sin usar las direcciones IP externas efímeras predeterminadas.
Sigue los pasos que se indican en la sección Configurar el servicio para que solo use su dirección IP interna.
Sigue los pasos para configurar Cloud NAT.
Para obtener más información sobre este enfoque, consulta la documentación del centro de arquitectura en la nube sobre implementación de Cloud NAT para obtener datos.