View a markdown version of this page

Conexión a sesiones de Athena Spark mediante un punto de conexión de VPC de tipo interfaz - Amazon Athena

Conexión a sesiones de Athena Spark mediante un punto de conexión de VPC de tipo interfaz

Para aquellos grupos de trabajo que utilicen la versión 3.5 de Apache Spark, puede conectarse directamente a las sesiones de Athena Spark mediante un punto de conexión de VPC de tipo interfaz (AWS PrivateLink) en su nube privada virtual (VPC) en lugar de conectarse a través de Internet. Cuando se utiliza un punto de conexión de VPC de tipo interfaz, la comunicación entre los puntos de conexión de VPC y Athena Spark se realiza en su totalidad dentro de la red de AWS.

Cada punto de conexión de VPC está representado por una o varias Interfaces de red elásticas (ENI) con direcciones IP privadas en las subredes de la VPC. Las ENI de la VPC no necesitan direcciones IP públicas para comunicarse con los puntos de conexión de sesión de Athena Spark.

Para utilizar puntos de conexión de sesión de Athena Spark a través de la VPC, debe conectarse desde una instancia que está dentro de la VPC o conectar su red privada a la VPC a través de (Site-to-Site VPN) o AWS Direct Connect.

Puntos de conexión compatibles

Los siguientes puntos de conexión de sesión de Athena Spark admiten el acceso privado a través de AWS PrivateLink:

Punto de conexión Descripción Nombre del servicio
Spark Connect Punto de conexión gRPC para la ejecución remota de cargas de trabajo de Spark com.amazonaws.region.athena.sessions
Interfaz de usuario en vivo Supervisión de tareas de Spark en tiempo real desde un navegador com.amazonaws.region.athena.dashboard
Interfaz de usuario persistente Servidor de historial de Spark para sesiones completadas com.amazonaws.region.athena.persistent-dashboard

Consideraciones

  • Para garantizar que solo se pueda acceder a las URL de los puntos de conexión de sesión desde su VPC, debe llamar a GetSessionEndpoint (Spark Connect) o a GetResourceDashboard (la interfaz de usuario en vivo y a la interfaz de usuario persistente) a través del punto de conexión de VPC de la API de Athena. Athena incrusta la VPC de origen en el token de acceso y exige que se acceda al punto de conexión desde la misma VPC.

  • Se puede acceder a una URL de punto de conexión de sesión generada desde una VPC desde esa misma VPC o desde la Internet pública, pero no desde una VPC diferente. Esto admite flujos de trabajo comunes en los que un token se genera mediante programación desde una VPC y la URL del panel resultante se abre en un navegador local.

  • No se puede acceder a una URL de punto de conexión de sesión generada desde la Internet pública desde una VPC.

  • Las políticas de puntos de conexión de VPC no son compatibles con los puntos de conexión de Athena Spark Connect, interfaz de usuario en vivo o interfaz de usuario persistente.

  • Las políticas de punto de conexión de VPC son compatibles con los puntos de conexión de API de Athena. Para controlar qué entidades principales de IAM pueden invocar los puntos de conexión de la API de Athena, aplique una política de puntos de conexión de VPC de la API de Athena (com.amazonaws.region.athena).

Creación de un punto de conexión de VPC para puntos de conexión de sesión de Athena Spark

Puede crear un punto de conexión de VPC de interfaz mediante la Consola de administración de AWS o la AWS CLI.

Para crear un punto de conexión mediante la AWS CLI

aws ec2 create-vpc-endpoint \ --vpc-id <your-vpc-id> \ --service-name com.amazonaws.<region>.athena.sessions \ --vpc-endpoint-type Interface \ --subnet-ids <subnet-id> \ --security-group-ids <security-group-id> \ --private-dns-enabled

Tras crear el punto de conexión y activar el DNS privado, la URL de la sesión de Spark Connect se resuelve automáticamente en el punto de conexión de VPC; no es necesario realizar cambios en la configuración del cliente de SparkConnect. Para obtener más información, consulte Creación de un punto de conexión de interfaz en la Documentación de AWS PrivateLink.

Creación de una política de punto de conexión de VPC para puntos de conexión de sesión de Athena Spark

Las políticas de puntos de conexión de VPC no son compatibles con los puntos de conexión de Athena Spark Connect, interfaz de usuario en vivo o interfaz de usuario persistente.

Para controlar el acceso, vincule una política de punto de conexión de VPC a su punto de conexión de API de Athena (com.amazonaws.region.athena). Como las URL de punto de conexión de sesión están enlazadas a la VPC desde la que se generaron, controlar quién puede llamar a GetSessionEndpoint o GetResourceDashboard a través del punto de conexión de la API controla eficazmente el acceso a los puntos de conexión de sesión correspondientes.

Para obtener más información, consulte Control del acceso a los servicios con puntos de conexión de VPC.

El siguiente ejemplo permite que solo un rol de IAM específico genere las URL de los puntos de conexión de la sesión:

{ "Statement": [ { "Action": [ "athena:GetSessionEndpoint", "athena:GetResourceDashboard" ], "Effect": "Allow", "Resource": "*", "Principal": { "AWS": "arn:aws:iam::<account-id>:role/<role-name>" } } ] }