Ayude a mejorar esta página
Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.
Acceso a Amazon EKS con AWS PrivateLink
Puede usar un AWS PrivateLink para crear una conexión privada entre la VPC y Amazon Elastic Kubernetes Service. Puede acceder a Amazon EKS como si estuviera en su VPC, sin el uso de una puerta de enlace de Internet, un dispositivo NAT, una conexión VPN o una conexión AWS Direct Connect. Las instancias de la VPC no necesitan direcciones IP públicas para acceder a Amazon EKS.
Esta conexión privada se establece mediante la creación de un punto de conexión de interfaz alimentado por AWS PrivateLink. Creamos una interfaz de red de punto de conexión en cada subred habilitada para el punto de conexión de interfaz. Se trata de interfaces de red administradas por el solicitante que sirven como punto de entrada para el tráfico destinado a Amazon EKS.
Para obtener más información, consulte Access AWS services through AWS PrivateLink en la Guía de AWS PrivateLink.
Antes de empezar
Antes de comenzar, asegúrese de haber realizado las siguientes tareas:
-
Revise Acceda a un servicio de AWS mediante un punto de conexión de VPC de interfaz en la Guía de AWS PrivateLink
Consideraciones
-
Compatibilidad y limitaciones. Los puntos de conexión de la interfaz de Amazon EKS permiten el acceso seguro a todas las acciones de la API de Amazon EKS desde su VPC, pero tienen limitaciones específicas: no admiten el acceso a las API de Kubernetes, ya que estas tienen un punto de conexión privado independiente, no puede configurar Amazon EKS para que solo se pueda acceder a través del punto de conexión de la interfaz. El punto de conexión de JWKS y detección de OIDC del clúster que utilizan los roles de IAM para las cuentas de servicio (IRSA) también se sirve desde un punto de conexión de interfaz independiente con su propio nombre de servicio y comportamiento de control de acceso; consulte Acceso al punto de conexión de OIDC del clúster con AWS PrivateLink.
-
Precios. El uso de puntos de conexión de la interfaz para Amazon EKS conlleva cargos estándar de AWS PrivateLink: cargos por hora por cada punto de conexión aprovisionado en cada zona de disponibilidad, cargos por procesamiento de datos por el tráfico a través del punto de conexión. Para obtener más información, consulte Precios de AWS PrivateLink
. -
Seguridad y control de acceso. Recomendamos mejorar la seguridad y controlar el acceso con estas configuraciones adicionales: utilice políticas de puntos de conexión de VPC para controlar el acceso a Amazon EKS a través del punto de conexión de la interfaz, asocie grupos de seguridad a las interfaces de red de los puntos de conexión para administrar el tráfico, utilice registros de flujo de VPC para capturar y supervisar el tráfico IP hacia y desde los puntos de conexión de la interfaz, con registros que se puedan publicar en Amazon CloudWatch o Amazon S3. Para obtener más información, consulte Uso de políticas de punto de conexión para controlar el acceso a puntos de conexión de VPC y Registro del tráfico de IP con registros de flujo de la VPC.
-
Opciones de conectividad: los puntos de conexión de la interfaz ofrecen opciones de conectividad flexibles mediante el acceso local (conecte el centro de datos en las instalaciones a una VPC con el punto de conexión de la interfaz mediante AWS Direct Connect o AWS Site-to-Site VPN) o mediante la conectividad entre VPC (utilice AWS Transit Gateway o el emparejamiento de VPC para conectar otras VPC a la VPC con el punto de conexión de la interfaz y mantener el tráfico dentro de la red de AWS).
-
Compatibilidad con la versión IP: los puntos de conexión creados antes de agosto de 2024 solo admiten IPv4 con eks.region.amazonaws.com. Los nuevos puntos de conexión creados después de agosto de 2024 admiten IPv4 e IPv6 de doble pila (por ejemplo, eks.region.amazonaws.com, eks.region.api.aws).
-
Disponibilidad regional: AWS PrivateLink para la API de EKS no está disponible en las regiones de Asia-Pacífico (Malasia) (ap-southeast-5), Asia-Pacífico (Tailandia) (ap-southeast-7), México (centro) (mx-central-1) y Asia-Pacífico (Taipéi) (ap-east-2). AWS La compatibilidad de PrivateLink con eks-auth (EKS Pod Identity) se encuentra disponible en la región de Asia-Pacífico (Malasia) (ap-southeast-5). AWS PrivateLink para el punto de conexión de OIDC del clúster (
com.amazonaws.region-code.oidc-eks) está disponible en la mayoría de las regiones de AWS.
Crear de un punto de conexión de interfaz para Amazon EKS
Puede crear un punto de conexión de interfaz para Amazon EKS mediante la consola de Amazon VPC o la Interfaz de la línea de comandos de AWS (AWS CLI). Para obtener más información, consulte Creación de un punto de conexión de VPC en la Guía de AWS PrivateLink.
Cree un punto de conexión de interfaz para Amazon EKS con los siguientes nombres de servicios:
API de EKS
-
com.amazonaws.region-code.eks
-
com.amazonaws.region-code.eks-fips (para puntos de conexión compatibles con FIPS)
API de autenticación de EKS (Pod Identity de EKS)
-
com.amazonaws.region-code.eks-auth
Punto de conexión de OIDC del clúster de EKS (JWKS y detección de IRSA)
-
com.amazonaws.region-code.oidc-eks
Este punto de conexión tiene un comportamiento de control de acceso diferente al de los puntos de conexión de API de EKS. Para obtener más información, consulte Acceso al punto de conexión de OIDC del clúster con AWS PrivateLink.
Característica de DNS privado para los puntos de conexión de la interfaz de Amazon EKS
La característica de DNS privado, habilitada de forma predeterminada para los puntos de conexión de la interfaz de Amazon EKS y otros servicios de AWS, facilita las solicitudes de API seguras y privadas mediante nombres de DNS regionales predeterminados. Esta característica garantiza que las llamadas de API se enruten a través del punto de conexión de la interfaz a través de la red de AWS privada, lo que mejora la seguridad y el rendimiento.
La característica de DNS privado se activa automáticamente cuando crea un punto de conexión de la interfaz para Amazon EKS u otros servicios de AWS. Para habilitarla, debe configurar la VPC correctamente mediante el establecimiento de atributos específicos:
-
enableDnsHostnames: permite que las instancias dentro de la VPC tengan nombres de host DNS.
-
enableDnsSupport: habilita la resolución de DNS en toda la VPC.
Si desea obtener instrucciones paso a paso para comprobar o modificar estos ajustes, consulte Ver y actualizar los atributos de DNS de su VPC.
Nombres de DNS y tipos de direcciones IP
Con la característica de DNS privado habilitada, puede usar nombres de DNS específicos para conectarse a Amazon EKS, y estas opciones evolucionan con el tiempo:
-
eks.region.amazonaws.com: el nombre de DNS tradicional, que solo se resuelve en direcciones IPv4 antes de agosto de 2024. Para los puntos de conexión existentes actualizados a doble pila, este nombre se resuelve en direcciones IPv4 e IPv6.
-
eks.region.api.aws: disponible para los nuevos puntos de conexión creados después de agosto de 2024, este nombre de DNS de doble pila se resuelve en direcciones IPv4 e IPv6.
A partir de agosto de 2024, los nuevos puntos de conexión de la interfaz vienen con dos nombres de DNS y puede optar por el tipo de dirección IP de doble pila. Para los puntos de conexión existentes, la actualización a doble pila modifica eks.region.amazonaws.com para que sea compatible con IPv4 e IPv6.
Uso de la característica de DNS privado
Una vez configurada, la característica de DNS privado se puede integrar en sus flujos de trabajo y ofrece las siguientes capacidades:
-
Solicitudes de API: utilice los nombres de DNS regionales predeterminados, ya sea
eks---region.amazonaws.com.rproxy.goskope.comoeks.region.api.aws, según la configuración de su punto de conexión, para realizar solicitudes de API a Amazon EKS. -
Compatibilidad con aplicaciones: las aplicaciones existentes que utilizan las API de EKS no requieren cambios para aprovechar esta característica.
-
AWS CLI con doble pila: para usar los puntos de conexión de doble pila con AWS CLI, consulte la configuración de los puntos de conexión de doble pila y FIPS en la Guía de referencia de SDK y herramientas de AWS.
-
Enrutamiento automático: cualquier llamada al punto de conexión del servicio predeterminado de Amazon EKS se enruta automáticamente a través del punto de conexión de interfaz, lo que garantiza una conectividad privada y segura.
Acceso al punto de conexión de OIDC del clúster con AWS PrivateLink
Cada clúster de Amazon EKS publica un documento de detección de OpenID Connect (OIDC) público y JSON Web Key Set (JWKS) en la URL de su emisor de OIDC. Los roles de IAM para cuentas de servicio (IRSA) usan este punto de conexión para publicar las claves de firma públicas del clúster. Las herramientas que configuran IRSA o validan tokens recuperan las claves directamente desde este punto de conexión.
Puede usar AWS PrivateLink para acceder a este punto de conexión de OIDC de forma privada desde la VPC, sin salida a Internet. Esto resulta útil para VPC privadas o sin salida en las que las herramientas de la VPC deben acceder al punto de conexión de OIDC, por ejemplo, al crear el proveedor de identidades de OIDC de IAM del clúster (eksctl, Terraform o la AWS CLI), o al ejecutar sus propios validadores de tokens en la VPC. Anteriormente, acceder a este punto de conexión requería acceso a Internet o soluciones alternativas de DNS (consulte containers-roadmap#2038
Cree un punto de conexión de interfaz para el punto de conexión de OIDC del clúster con el siguiente nombre de servicio:
-
com.amazonaws.region-code.oidc-eks
Consideraciones
-
Este punto de conexión no admite políticas de punto de conexión de VPC. Los documentos de JWKS y la detección de OIDC se sirven de forma anónima. Esto lo exige la especificación de OpenID Connect y es la forma en que funciona IRSA: los validadores capturan las claves públicas sin presentar credenciales. Como las solicitudes no incluyen ninguna entidad principal de IAM ni acción, una política de punto de conexión de VPC no tiene nada que evaluar. Este punto de conexión solo acepta la política de acceso completo predeterminada. Controle quién puede acceder al punto de conexión con los grupos de seguridad en las interfaces de red del punto de conexión y con el enrutamiento de subredes.
-
La conectividad privada no es ningún límite de autorización. Acceder al punto de conexión de OIDC a través de AWS PrivateLink mantiene este tráfico en la red de AWS: no controla por sí solo quién puede asumir un rol de IAM. Los datos que se sirven son material de clave pública. La política de confianza del rol asumido exige la autorización de IRSA, no la ruta de red que se usa para acceder al punto de conexión de OIDC. Esta aplicación se produce cuando una carga de trabajo llama a
sts:AssumeRoleWithWebIdentity. Controle qué cargas de trabajo pueden asumir un rol con las condicionesaudysuben la política de confianza del rol; consulte Asignación de roles de IAM a cuentas de servicio de Kubernetes. -
AWS STS valida los tokens según su propia ruta. Este punto de conexión no afecta a la forma en que AWS STS valida los tokens de IRSA. Cuando una carga de trabajo llama a
AssumeRoleWithWebIdentity, STS captura el JWKS del clúster desde dentro de AWS, no a través de la VPC ni de este punto de conexión. La creación de este punto de conexión o la anulación de DNS de OIDC en la VPC no modifica la validación del token. Para mantener también la privacidad de la llamada aAssumeRoleWithWebIdentityde la carga de trabajo, cree un punto de conexión de interfaz de AWS STS y configure el punto de conexión de STS regional por separado; consulte Configuración del punto de conexión de AWS Security Token Service para una cuenta de servicio. -
Precios: se aplican cargos estándar de AWS PrivateLink. Consulte los precios de AWS PrivateLink
.
DNS privado y nombres de doble pila
Cada clúster tiene un nombre de host del emisor de OIDC, determinado por la familia de IP del clúster. Los clústeres IPv4, que son los predeterminados, utilizan oidc.eks.region-code.amazonaws.com. Los clústeres IPv6 utilizan el nombre de host de doble pila oidc-eks.region-code.api.aws, que se resuelve en direcciones IPv4 e IPv6. En las regiones de AWS China, el nombre de host de doble pila es oidc-eks---region-code---api.amazonwebservices.com.rproxy.goskope.com.cn.
El punto de conexión de la interfaz registra los dos nombres de host. Con el DNS privado habilitado (el valor predeterminado), cada nombre de host se resuelve en el punto de conexión de la interfaz. Por lo tanto, la URL del emisor del clúster se resuelve en el punto de conexión independientemente de si el clúster utiliza el nombre de host oidc.eks.region-code.amazonaws.com o el nombre de host de doble pila. Un cliente que sigue la URL del emisor de un token para obtener el documento de detección y JWKS acceda al punto de conexión de forma privada en cualquier caso.