Crear una única IP saliente para una red determinada

12

Estoy tratando de determinar la mejor manera en GCP para asignar una única dirección IP externa para el tráfico OUTBOUND. Mi caso de uso: necesito proporcionar una IP estática a un tercero para que pueda incluirla en la lista blanca, para que mis instancias puedan acceder a su API. Como puedo agregar o restar instancias de GCE en el futuro, no quiero darles múltiples IP estáticas que podrían cambiar.

Encontré una pregunta similar aquí, pero no estaba seguro de que aborde mi caso de uso.

Tengo una red GCP estándar configurada; no hay VPN y todas las máquinas virtuales tienen IP externas únicas. De hecho, me gusta de esta manera porque necesito poder SSH a las máquinas virtuales. Pero desde mis máquinas virtuales hasta Internet, me gustaría que pareciera que el tráfico proviene de una sola IP. La idea inmediata que se me ocurre y que los documentos sugieren es crear una instancia de NAT, luego enrutar el tráfico saliente a través de eso. Algunos problemas con ese enfoque:

  1. Tengo que configurar y mantener una caja únicamente con el propósito de NAT
  2. No es HA; si esa instancia o zona de disponibilidad muere, mis otras instancias no podrán enrutar el tráfico externamente
  3. No parece muy repetible si tengo que recrear la configuración en el futuro

Específicamente, estoy usando GKE / Kubernetes para este proyecto. ¿Existe una mejor práctica para lograr este caso de uso que sea HA, de bajo mantenimiento y repetible?

rob-cng
fuente
Creo que la mejor opción para usted es configurar una VPN, que también ayudará mientras usa GKE. Por ejemplo: serverfault.com/questions/750389/gke-pod-connecting-via-vpn , y es rentable.
George
@ George No creo que VPN funcione para esto, porque no controlo el otro lado. Como en, no estaría estableciendo una VPN con la tercera parte; Necesito enrutar el tráfico a través de Internet.
rob-cng
1
Entonces, tener NAT Gateway debería hacerlo, pero esto causará un solo punto de falla. Una cosa que también me vino a la mente, tener IP estáticas para sus instancias y que la otra parte las incluya en la lista blanca. Si desea eliminar alguna de las instancias, la IP aún estará reservada, que puede adjuntar a instancias recién creadas. Y mientras se use la IP (adjunta a una instancia), es gratuita.
George
Sí, creo que tendremos que seguir con esta solución hasta que GCP salga con NAT como un servicio similar a AWS. Gracias
rob-cng
1
¿Alguna vez pudiste resolver este problema? Si es así, considere publicar una respuesta propia para que la comunidad pueda beneficiarse
Faizan

Respuestas:

3

Google Cloud ahora ofrece un servicio administrado de Gateway NAT: Cloud NAT .

Esta puerta de enlace se puede usar con un clúster GKE, que proporciona una IP de salida pública estable a todos los pods dentro de ella, lo que les permite ser incluidos en la lista blanca por proveedores de servicios externos.

La implementación de ejemplo para usar Cloud NAT con GKE se proporciona aquí: https://cloud.google.com/nat/docs/gke-example

Además, dado que se trata de un software administrado basado en NAT, el ancho de banda y la disponibilidad no se verán afectados.

Sin embargo, esto todavía necesita un servidor bastión para poder ingresar a sus instancias.

Parag
fuente