Creación de una Amazon VPC para su clúster de Amazon EKS - Amazon EKS

Creación de una Amazon VPC para su clúster de Amazon EKS

Puede utilizar Amazon Virtual Private Cloud (Amazon VPC) para lanzar recursos de AWS en una red virtual que haya definido. Esta red virtual es prácticamente idéntica a una red tradicional que podría operar en su propio centro de datos. Sin embargo, incluye los beneficios que supone utilizar la infraestructura escalable de Amazon Web Services. Le recomendamos que conozca a fondo el servicio Amazon VPC antes de implementar clústeres de Amazon EKS en producción. Para obtener más información, consulte la Guía del usuario de Amazon VPC.

Un clúster de Amazon EKS, nodos y recursos de Kubernetes se implementan en una VPC. Si desea utilizar una VPC existente con Amazon EKS, dicha VPC debe cumplir los requisitos que se describen en Requisitos de red de Amazon EKS para VPC y subredes. En este tema, se describe cómo puede crear una VPC que cumpla los requisitos de Amazon EKS mediante una plantilla de AWS CloudFormation proporcionada por Amazon EKS. Una vez que haya implementado una plantilla, podrá ver los recursos creados por la plantilla para saber exactamente qué recursos creó y la configuración de esos recursos.

Requisitos previos

Para crear una VPC para Amazon EKS, debe tener los permisos de IAM necesarios para crear recursos de Amazon VPC. Estos recursos son VPC, subredes, grupos de seguridad, tablas de enrutamiento y rutas y puertas de enlace de Internet y NAT. Para obtener más información, consulte Crear una VPC con una política de ejemplo de subred pública en la Guía del usuario de Amazon VPC y en la lista completa de Acciones en la Referencia de autorizaciones de servicio.

Puede crear una VPC con subredes públicas y privadas, solo subredes públicas o solo subredes privadas.

Subredes públicas y privadas

Esta VPC tiene dos subredespúblicas y dos privadas. Una subred pública es una subred asociada a la tabla de enrutamiento con ruta a la puerta de enlace de internet. Sin embargo, la tabla de enrutamiento de una subred privada no tiene ninguna ruta a una puerta de enlace de Internet. Una subred pública y una subred privada se implementan en la misma zona de disponibilidad. Las otras subredes públicas y privadas se implementan en una segunda zona de disponibilidad en la misma región de AWS. Recomendamos esta opción para la mayoría de las implementaciones.

Con esta opción, puede implementar los nodos en subredes privadas. Esta opción permite a Kubernetes implementar los equilibradores de carga en las subredes públicas que pueden equilibrar la carga de tráfico a Pods que se ejecuta en los nodos en las subredes privadas. Las direcciones IPv4 públicas se asignan de forma automática a nodos implementados en subredes públicas, pero las direcciones IPv4 públicas no se asignan a nodos implementados en subredes privadas.

También puede asignar direcciones IPv6 a nodos en subredes públicas y privadas. Los nodos de las subredes privadas pueden comunicarse con el clúster y otros servicios de AWS. Los Pods pueden comunicarse por Internet a través de una puerta de enlace NAT usando direcciones IPv4 o una puerta de enlace de Internet de solo salida con direcciones IPv6 que se implementan en cada zona de disponibilidad. Se implementa un grupo de seguridad que dispone de reglas que deniegan todo el tráfico entrante de fuentes distintas del clúster o los nodos, pero permite todo el tráfico saliente. Las subredes están etiquetadas para que Kubernetes pueda implementar equilibradores de carga en ellas.

  1. Abra la Consola de AWS CloudFormation.

  2. En la barra de navegación, seleccione una región de AWS compatible con Amazon EKS.

  3. Elija Create stack (Crear pila), With new resources (standard) (Con nuevos recursos [estándar]).

  4. En Prerequisite - Prepare template (Requisito previo - Preparar plantilla), asegúrese de que esté seleccionada la opción Template is ready (La plantilla está lista) y, a continuación, en Specify template (Especificar plantilla), seleccione Amazon S3 URL (URL de Amazon S3).

  5. Puede crear una VPC que admita únicamente IPv4 o una VPC que admita IPv4 y IPv6. Pegue una de las siguientes URL en el área de texto de Amazon S3 URL (URL de Amazon S3) y elija Next (Siguiente):

    • IPv4

https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
  • IPv4 y IPv6

https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-ipv6-vpc-public-private-subnets.yaml
  1. En la página Especificar detalles de pila, modifique los parámetros y, a continuación, elija Siguiente.

    • Nombre de pila: elija un nombre para su pila de AWS CloudFormation. Por ejemplo, puede usar el nombre de la plantilla que usó en el paso anterior. El nombre solo puede contener caracteres alfanuméricos (con distinción de mayúsculas y minúsculas) y guiones. Debe comenzar con un carácter alfanumérico y no puede tener más de 100 caracteres. El nombre debe ser único dentro de la región de AWS y la cuenta de AWS en las que va a crear el clúster.

    • VpcBlock: elija un rango de CIDR IPv4 para su VPC. A cada nodo, Pod y equilibrador de carga que implemente se le asigna una dirección IPv4 de este bloque. Los valores predeterminados de IPv4 proporcionan suficientes direcciones IP para la mayoría de las implementaciones, pero, si no lo hacen, puede cambiarlos. Para obtener más información, consulte Tamaño de la subred y VPC en la Guía del usuario de Amazon VPC. También puede agregar bloques de CIDR adicionales a la VPC una vez que la cree. Si crea una VPC IPv6, los rangos de CIDR IPv6 se asignan de forma automática desde el espacio de direcciones de unidifusión global de Amazon.

    • PublicSubnet01Block: especifique un bloque de CIDR IPv4 para la subred pública 1. El valor predeterminado proporciona suficientes direcciones IP para la mayoría de las implementaciones, pero si no lo hace, puede cambiarlo. Si crea una VPC IPv6, este bloque se especifica en su nombre dentro de la plantilla.

    • PublicSubnet02Block: especifique un bloque de CIDR IPv4 para la subred pública 2. El valor predeterminado proporciona suficientes direcciones IP para la mayoría de las implementaciones, pero si no lo hace, puede cambiarlo. Si crea una VPC IPv6, este bloque se especifica en su nombre dentro de la plantilla.

    • PrivateSubnet01Block: especifique un bloque de CIDR IPv4 para la subred privada 1. El valor predeterminado proporciona suficientes direcciones IP para la mayoría de las implementaciones, pero si no lo hace, puede cambiarlo. Si crea una VPC IPv6, este bloque se especifica en su nombre dentro de la plantilla.

    • PrivateSubnet02Block: especifique un bloque de CIDR IPv4 para la subred privada 2. El valor predeterminado proporciona suficientes direcciones IP para la mayoría de las implementaciones, pero si no lo hace, puede cambiarlo. Si crea una VPC IPv6, este bloque se especifica en su nombre dentro de la plantilla.

  2. (Opcional) En la página Configurar las opciones de la pila, etiquete los recursos de la pila y, luego, elija Siguiente.

  3. En la página Review (Revisar), elija Create stack (Crear pila).

  4. Una vez creada la pila, selecciónela en la consola y elija Outputs (Salidas).

  5. Registre el VpcId de la VPC que ha creado. Necesita esto cuando al crear su clúster y nodos.

  6. Registre los SubnetIds de las subredes que se crearon y si las creó como subredes públicas o privadas. Necesita al menos dos de ellos al crear el clúster y los nodos.

  7. Si has creado un VPC IPv4, omita este paso. Si ha creado una VPC IPv6, debe habilitar la opción de asignación automática de dirección IPv6 para las subredes públicas que creó la plantilla. Esta configuración ya está habilitada para las subredes privadas. Complete los siguientes pasos para habilitar la configuración:

    1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

    2. En el panel de navegación izquierdo, elija Subnets (Subredes).

    3. Seleccione una de las subredes públicas ( stack-name/SubnetPublic01 o stack-name/SubnetPublic02, que contienen la palabra público), elija Acciones y, luego, Editar la configuración de la subred.

    4. Marque la casilla de verificación Habilitar asignación automática de direcciones *IPv6* y, luego, elija Guardar.

    5. Complete los pasos anteriores de nuevo para la otra subred pública.

Solo subredes públicas

Esta VPC tiene tres subredes públicas que se implementan en zonas de disponibilidad diferentes en una región de AWS. A todos los nodos se les asignan de forma automática direcciones IPv4 públicas y pueden enviar y recibir tráfico de Internet a través de una puerta de enlace de Internet. Se implementa un grupo de seguridad que deniega todo el tráfico entrante y permite todo el tráfico saliente. Las subredes están etiquetadas para que Kubernetes pueda implementar equilibradores de carga en ellas.

  1. Abra la Consola de AWS CloudFormation.

  2. En la barra de navegación, seleccione una región de AWS compatible con Amazon EKS.

  3. Elija Create stack (Crear pila), With new resources (standard) (Con nuevos recursos [estándar]).

  4. En Prepare template (Preparar la plantilla), asegúrese de que se seleccione Template is ready (La plantilla está lista) y, a continuación, en Template source (Origen de la plantilla), seleccione Amazon S3 URL (URL de Amazon S3).

  5. Pegue la siguiente URL en el área de texto de URL de Amazon S3 y elija Siguiente:

https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-sample.yaml
  1. En la página Especificar detalles, rellene los parámetros y, luego, elija Siguiente.

    • Nombre de pila: elija un nombre para su pila de AWS CloudFormation. Por ejemplo, puede llamarla amazon-eks-vpc-sample. El nombre solo puede contener caracteres alfanuméricos (con distinción de mayúsculas y minúsculas) y guiones. Debe comenzar con un carácter alfanumérico y no puede tener más de 100 caracteres. El nombre debe ser único dentro de la región de AWS y la cuenta de AWS en las que va a crear el clúster.

    • VpcBlock: elija un bloque de CIDR para la VPC. A cada nodo, Pod y equilibrador de carga que implemente se le asigna una dirección IPv4 de este bloque. Los valores predeterminados de IPv4 proporcionan suficientes direcciones IP para la mayoría de las implementaciones, pero, si no lo hacen, puede cambiarlos. Para obtener más información, consulte Tamaño de la subred y VPC en la Guía del usuario de Amazon VPC. También puede agregar bloques de CIDR adicionales a la VPC una vez creada.

    • Subnet01Block: especifique un bloque de CIDR para la subred 1. El valor predeterminado proporciona suficientes direcciones IP para la mayoría de las implementaciones, pero si no lo hace, puede cambiarlo.

    • Subnet02Block: especifique un bloque de CIDR para la subred 2. El valor predeterminado proporciona suficientes direcciones IP para la mayoría de las implementaciones, pero si no lo hace, puede cambiarlo.

    • Subnet03Block: especifique un bloque de CIDR para la subred 3. El valor predeterminado proporciona suficientes direcciones IP para la mayoría de las implementaciones, pero si no lo hace, puede cambiarlo.

  2. (Opcional) En la página Options (Opciones), marque los recursos de la pila. Elija Siguiente.

  3. En la página Review (Revisar), elija Create (Crear).

  4. Una vez creada la pila, selecciónela en la consola y elija Outputs (Salidas).

  5. Registre el VpcId de la VPC que ha creado. Necesita esto cuando al crear su clúster y nodos.

  6. Anote el valor de SubnetIds de las subredes que se han creado. Necesita al menos dos de ellos al crear el clúster y los nodos.

  7. (Opcional) Cualquier clúster que implemente en esta VPC puede asignar direcciones IPv4 privadas a sus Pods y services. Si desea implementar clústeres en esta VPC para asignar direcciones IPv6 privadas a sus Pods y services, debe actualizar la VPC, la subred, las tablas de enrutamiento y los grupos de seguridad. Para obtener más información, consulte Migrar VPC existentes de IPv4 a IPv6 en la Guía del usuario de Amazon VPC. Amazon EKS requiere que sus subredes tengan la opción de direcciones Auto-assign IPv6 habilitada. De forma predeterminada, está deshabilitada.

Solo subredes privadas

Esta VPC tiene tres subredes privadas que se implementan en zonas de disponibilidad diferentes en una región de AWS. Los recursos implementados en las subredes no tienen acceso a Internet, ni se puede acceder a ellos desde Internet. La plantilla crea Puntos de conexión de VPC con AWS PrivateLink para varios servicios de AWS a los que normalmente deben acceder los nodos. Si los nodos necesitan acceso a Internet saliente, puede agregar una puerta de enlace NATpública en la zona de disponibilidad de cada subred después de crear la VPC. Se crea un grupo de seguridad que niega todo el tráfico entrante, excepto los recursos desplegados en las subredes. Un grupo de seguridad también permite todo el tráfico saliente. Las subredes están etiquetadas para que Kubernetes pueda implementar equilibradores de carga internos en ellas. Si va a crear una VPC con esta configuración, consulte Implementación de clústeres privados con acceso limitado a Internet para obtener requisitos y consideraciones adicionales.

  1. Abra la Consola de AWS CloudFormation.

  2. En la barra de navegación, seleccione una región de AWS compatible con Amazon EKS.

  3. Elija Create stack (Crear pila), With new resources (standard) (Con nuevos recursos [estándar]).

  4. En Prepare template (Preparar la plantilla), asegúrese de que se seleccione Template is ready (La plantilla está lista) y, a continuación, en Template source (Origen de la plantilla), seleccione Amazon S3 URL (URL de Amazon S3).

  5. Pegue la siguiente URL en el área de texto de URL de Amazon S3 y elija Siguiente:

https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-fully-private-vpc.yaml
  1. En la página Especificar detalles, rellene los parámetros y, luego, elija Siguiente.

    • Nombre de pila: elija un nombre para su pila de AWS CloudFormation. Por ejemplo, puede llamarla amazon-eks-fully-private-vpc. El nombre solo puede contener caracteres alfanuméricos (con distinción de mayúsculas y minúsculas) y guiones. Debe comenzar con un carácter alfanumérico y no puede tener más de 100 caracteres. El nombre debe ser único dentro de la región de AWS y la cuenta de AWS en las que va a crear el clúster.

    • VpcBlock: elija un bloque de CIDR para la VPC. A cada nodo, Pod y equilibrador de carga que implemente se le asigna una dirección IPv4 de este bloque. Los valores predeterminados de IPv4 proporcionan suficientes direcciones IP para la mayoría de las implementaciones, pero, si no lo hacen, puede cambiarlos. Para obtener más información, consulte Tamaño de la subred y VPC en la Guía del usuario de Amazon VPC. También puede agregar bloques de CIDR adicionales a la VPC una vez creada.

    • PrivateSubnet01Block: especifique un bloque de CIDR para la subred 1. El valor predeterminado proporciona suficientes direcciones IP para la mayoría de las implementaciones, pero si no lo hace, puede cambiarlo.

    • PrivateSubnet02Block: especifique un bloque de CIDR para la subred 2. El valor predeterminado proporciona suficientes direcciones IP para la mayoría de las implementaciones, pero si no lo hace, puede cambiarlo.

    • PrivateSubnet03Block: especifique un bloque de CIDR para la subred 3. El valor predeterminado proporciona suficientes direcciones IP para la mayoría de las implementaciones, pero si no lo hace, puede cambiarlo.

  2. (Opcional) En la página Options (Opciones), marque los recursos de la pila. Elija Siguiente.

  3. En la página Review (Revisar), elija Create (Crear).

  4. Una vez creada la pila, selecciónela en la consola y elija Outputs (Salidas).

  5. Registre el VpcId de la VPC que ha creado. Necesita esto cuando al crear su clúster y nodos.

  6. Anote el valor de SubnetIds de las subredes que se han creado. Necesita al menos dos de ellos al crear el clúster y los nodos.

  7. (Opcional) Cualquier clúster que implemente en esta VPC puede asignar direcciones IPv4 privadas a sus Pods y services. Si desea implementar clústeres en esta VPC para asignar direcciones IPv6 privadas a sus Pods y services, debe actualizar la VPC, la subred, las tablas de enrutamiento y los grupos de seguridad. Para obtener más información, consulte Migrar VPC existentes de IPv4 a IPv6 en la Guía del usuario de Amazon VPC. Amazon EKS requiere que sus subredes tengan la opción de direcciones Auto-assign IPv6 habilitada (está desactivada de forma predeterminada).