Saltar al contenido

¿Cómo puedo acceder de forma segura al punto de enlace del servidor de API de clúster de Amazon EKS desde una VPC o una VPC interconectada?

5 minutos de lectura
0

Quiero acceder de forma segura al punto de enlace del servidor de API del clúster de Amazon Elastic Kubernetes Service (Amazon EKS) desde Amazon Virtual Private Cloud (Amazon VPC) o una VPC interconectada.

Descripción corta

Al crear un nuevo clúster de Amazon EKS, Amazon EKS crea un punto de enlace para el servidor de API de Kubernetes administrado. De forma predeterminada, el punto de enlace del servidor de API es público en Internet. El sistema utiliza una combinación de AWS Identity and Access Management (IAM) y un control de acceso basado en roles (RBAC) nativo de Kubernetes para proteger el acceso al servidor de API. Para obtener más información, consulta Using RBAC authorization (Uso de la autorización RBAC) en el sitio web de Kubernetes.

Para acceder de forma segura a tu clúster de Amazon EKS desde una VPC o una VPC interconectada, debes configurar un punto de enlace privado. Para obtener más información sobre las prácticas recomendadas, consulta Best practices for security (Prácticas recomendadas de seguridad).

Resolución

Activa el acceso privado al servidor de API de Kubernetes para que toda la comunicación entre tus nodos y el servidor de API permanezca dentro de tu VPC. Puedes limitar las direcciones IP que pueden acceder a tu servidor API desde Internet o desactivar por completo el acceso a Internet al servidor de API.

Al activar el acceso privado a los puntos de enlace, el clúster de Amazon EKS se comporta de la siguiente manera:

  • Todo el tráfico que llega al servidor de API del clúster proviene de la VPC del clúster o de una red conectada.
  • Tu servidor API no tiene acceso público desde Internet. Los comandos kubectl se ejecutan desde la VPC o una red conectada. Para ver las opciones de conectividad, consulta Acceso a un servidor de API solo privado.
  • Los servidores DNS públicos resuelven el punto de enlace del servidor de API del clúster en una dirección IP privada de la VPC.

Si tu punto de enlace no se resuelve en una dirección IP privada dentro de la VPC para un clúster existente, realiza una de las siguientes acciones:

  • Activa el acceso público y, a continuación, vuelve a desactivarlo. Solo tienes que hacer esto una vez para que un clúster del punto de enlace se resuelva en una dirección IP privada.
  • Actualiza tu clúster.

Cuando desactivas el acceso público al punto de enlace del servidor de API de Kubernetes de tu clúster, solo puedes acceder al servidor de API desde tu VPC o desde una red conectada. Puedes acceder al punto de enlace del servidor de API de Kubernetes de cualquiera de las siguientes maneras:

  • Conecta la red a la VPC con una puerta de enlace de tránsito u otra opción de conectividad y, a continuación, utiliza un equipo de la red conectada. Asegúrate de que el grupo de seguridad del plano de control de Amazon EKS contenga reglas que permitan la entrada de tráfico en el puerto 443 desde la red conectada.
  • Inicia una instancia de Amazon Elastic Compute Cloud (Amazon EC2) en una subred pública de la VPC de tu clúster. A continuación, usa SSH para iniciar sesión en esa instancia y ejecutar los comandos de kubectl. Para obtener más información, consulta Acceso a un host bastión mediante el administrador de sesiones y Amazon EC2 Instance Connect.

Uso de la consola de administración de AWS para modificar el acceso al punto de enlace del servidor de API del clúster

  1. Abre la consola de Amazon EKS.
  2. Selecciona el nombre del clúster para mostrar la información del clúster.
  3. Abra la pestaña Redes y, a continuación, selecciona Actualizar.
  4. Elige si quieres activar o desactivar el acceso privado para el punto de enlace del servidor de API de Kubernetes de tu clúster. Si activas el acceso privado, las solicitudes de API de Kubernetes que se originan en la VPC de tu clúster utilizan el punto de enlace de la VPC privada. Para desactivar el acceso público, primero debes activar el acceso privado.
  5. Elige si quieres activar o desactivar el acceso público para el punto de enlace del servidor de API de Kubernetes de tu clúster. Si desactivas el acceso público, el servidor de API de Kubernetes de tu clúster solo podrá recibir solicitudes desde la VPC del clúster.
  6. Selecciona Actualizar.

Uso de la AWS CLI para modificar el acceso a los puntos de enlace del servidor de API del clúster

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Para desactivar el acceso público a los puntos de enlace y activar el acceso privado a los puntos de enlace de un clúster, ejecuta el siguiente comando:

aws eks update-cluster-config --name example \
--resources-vpc-config endpointPublicAccess=false,endpointPrivateAccess=true

Nota: Sustituye example por el nombre de tu clúster.

Resultado de ejemplo:

{
    "update": {
        "id": "ec883c93-2e9e-407c-a22f-8f6fa6e67d4f",
        "status": "InProgress",
        "type": "EndpointAccessUpdate",
        "params": [
            {
                "type": "EndpointPublicAccess",
                "value": "false"
            },
            {
                "type": "EndpointPrivateAccess",
                "value": "true"
            }
        ],
        "createdAt": 1565806986.506,
        "errors": []
    }
}

Si activas el acceso privado, las solicitudes de API de Kubernetes de la VPC de tu clúster utilizan el punto de enlace de la VPC privada. El valor predeterminado del parámetro es false, lo que desactiva el acceso privado a tu servidor de API de Kubernetes. Para obtener más información, consulta update-cluster-config.

OFICIAL DE AWSActualizada hace 3 meses