Estoy tratando de conectarme a servicios y bases de datos que se ejecutan dentro de una VPC (subredes privadas) desde un trabajo de AWS Glue. Los recursos privados no deben exponerse públicamente (por ejemplo, moviéndose a una subred pública o configurando balanceadores de carga públicos).
Desafortunadamente, AWS Glue no parece admitir la ejecución dentro de las VPC definidas por el usuario. AWS proporciona algo llamado conexiones de base de datos de Glue que, cuando se usa con el SDK de Glue, configura mágicamente interfaces de red elásticas dentro de la VPC especificada para los nodos de trabajo de Glue/Spark. Luego, las interfaces de red canalizan el tráfico de Glue a una base de datos específica dentro de la VPC. Sin embargo, esto requiere la ubicación y las credenciales de bases de datos específicas, y no está claro si otro tráfico (por ejemplo, una llamada REST a un servicio) se canaliza a través de la VPC y cuándo.
¿Existe una forma confiable de configurar una conexión Glue -> VPC que canalice todo el tráfico a través de una VPC?
Puede crear una conexión de base de datos con el tipo de conexión NETWORK
y usar esa conexión en su trabajo de Glue. Permitirá que su trabajo llame a una API REST o cualquier otro recurso dentro de su VPC.
https://docs.aws.amazon.com/glue/latest/dg/connection-using.html
Red (designa una conexión a una fuente de datos dentro de un entorno de Amazon Virtual Private Cloud (Amazon VPC))
https://docs.aws.amazon.com/glue/latest/dg/connection-JDBC-VPC.html
Para permitir que AWS Glue se comunique con sus componentes, especifique un grupo de seguridad con una regla de entrada autorreferenciada para todos los puertos TCP. Al crear una regla de autorreferencia, puede restringir el origen al mismo grupo de seguridad en la VPC y no abrirlo a todas las redes.
Sin embargo, esto requiere la ubicación y las credenciales de bases de datos específicas, y no está claro si otro tráfico (por ejemplo, una llamada REST a un servicio) se canaliza a través de la VPC y cuándo.
Estoy de acuerdo en que la documentación es confusa, pero de acuerdo con este párrafo en la página que vinculó, parece que todo el tráfico se canaliza a través de la VPC, ya que debe tener una puerta de enlace NAT o puntos finales de la VPC para permitir que Glue acceda a cosas fuera de la VPC. una vez que lo hayas configurado con acceso a VPC:
Todos los almacenes de datos JDBC a los que accede el trabajo deben estar disponibles en la subred de VPC. Para acceder a Amazon S3 desde su VPC, se requiere un punto de enlace de la VPC. Si su trabajo necesita acceder tanto a los recursos de la VPC como a la Internet pública, la VPC debe tener una puerta de enlace de traducción de direcciones de red (NAT) dentro de la VPC.