Comment configurer mes sous-réseaux pour un cluster Amazon EKS ?

Dernière mise à jour 04/10/2021

Je souhaite configurer mes sous-réseaux pour qu'ils fonctionnent avec mon cluster Amazon Elastic Kubernetes Service (Amazon EKS).

Brève description

Choisissez l'une des options de configuration suivantes :

  • Pour obtenir un accès Internet sortant et entrant à partir de vos nœuds de travail, suivez les étapes de la section Configuration d'un sous-réseau public.
  • Pour obtenir uniquement un accès Internet sortant à partir de vos nœuds de travail, suivez les étapes de la section Configuration d'un sous-réseau privé avec accès Internet sortant.
  • Pour restreindre l'accès Internet sortant et entrant à partir de vos nœuds de travail, suivez les étapes de la section Configuration d'un sous-réseau privé sans accès Internet. Par exemple, vous choisissez cette solution pour un cluster Amazon EKS privé.

Solution

Configuration d'un sous-réseau public

Lorsque vous créez un sous-réseau pour votre cluster Amazon EKS, tenez compte des points suivants :

1.    Associez votre sous-réseau à une table de routage configurée pour acheminer le trafic vers la destination 0.0.0.0/0 via une passerelle Internet. Par exemple : igw-xxxxxxxx

2.    Activez l'attribut d'adresse IPV4 publique attribuer automatiquement à votre sous-réseau.

3.    Suivez les étapes de la section Limitation du déploiement des équilibreurs de charge avec l'étiquetage de sous-réseau.

Configuration d'un sous-réseau privé avec accès Internet sortant

Lorsque vous créez un sous-réseau pour votre cluster Amazon EKS, tenez compte des points suivants :

1.    Associez votre sous-réseau à une table de routage configurée pour acheminer le trafic vers une passerelle NAT, afin d'autoriser uniquement la connectivité sortante vers Internet.

2.    Vérifiez que l'adresse IPv4 publique attribuée automatiquement à votre sous-réseau n'est pas activée.

3.    Suivez les étapes de la section Limitation du déploiement des équilibreurs de charge avec l'étiquetage de sous-réseau.

Configuration d'un sous-réseau privé sans accès à Internet

1.    Pour bloquer l'accès Internet à vos nœuds de travail, vérifiez que votre sous-réseau n'est pas associé à une table de routage, à savoir une table de routage configurée pour acheminer le trafic vers une passerelle NAT ou une passerelle Internet.

2.    Vérifiez que l'adresse IPv4 publique attribuée automatiquement n'est pas activée.

3.    Création de points de terminaison Amazon Virtual Private Cloud (Amazon VPC) pour votre VPC. Les points de terminaison VPC suivants sont nécessaires pour que vos nœuds de travail rejoignent votre cluster Amazon EKS :

com.amazonaws.your_region.ec2
com.amazonaws.your_region.ecr.api
com.amazonaws.your_region.ecr.dkr
com.amazonaws.your_region.s3

Remarque : remplacez votre_région par votre région AWS.

4.    (Si nécessaire) Créez des points de terminaison VPC supplémentaires en fonction des exigences de votre application. Reportez-vous aux exemples suivants.

Pour Amazon CloudWatch Logs :

com.amazonaws.your_region.logs

Pour un rôle Kubernetes Cluster Autoscaler ou AWS Identity and Access Management (IAM) pour les comptes de service :

com.amazonaws.your_region.sts

Pour un Application Load Balancer :

com.amazonaws.your_region.elasticloadbalancing

Pour un Kubernetes Cluster Autoscaler :

com.amazonaws.your_region.autoscaling

Pour AWS App Mesh :

com.amazonaws.your_region.appmesh-envoy-management

Pour AWS X-Ray :

com.amazonaws.your_region.xray

Remarque : remplacez votre_région par votre région AWS.

5.    Suivez les étapes de la section Limitation du déploiement des équilibreurs de charge avec l'étiquetage de sous-réseau.

Limitation du déploiement des équilibreurs de charge avec l'étiquetage de sous-réseau

L'étiquetage de sous-réseau indique à AWS Load Balancer Controller quel sous-réseau peut être utilisé pour créer l'équilibreur de charge externe ou interne.

Pour les sous-réseaux publics :

Pour restreindre le déploiement des équilibreurs de charge externes à l'aide d'AWS Load Balancer Controller sur un sous-réseau public de votre VPC, étiquetez le sous-réseau comme suit :

Key - kubernetes.io/role/elb
Value - 1

Pour les sous-réseaux privés :

Pour restreindre le déploiement des équilibreurs de charge internes à l'aide d'AWS Load Balancer Controller sur un sous-réseau privé, étiquetez le sous-réseau comme suit :

Key - kubernetes.io/role/internal-elb
Value - 1

Remarque : le nombre de pods pouvant être exécutés sur un sous-réseau dépend du nombre d'adresses IP gratuites libres dans le sous-réseau. Vérifiez que les sous-réseaux que vous spécifiez lors de la création du cluster disposent de suffisamment d'adresses IP disponibles pour les interfaces réseau créées par Amazon EKS. Il est recommandé de créer des petits sous-réseaux dédiés (c'est-à-dire /28) pour les interfaces réseau créées par Amazon EKS. Vous devez ensuite spécifier ces sous-réseaux uniquement dans le cadre de la création du cluster. Lancez d'autres ressources, telles que des nœuds et des équilibreurs de charge dans des sous-réseaux distincts des sous-réseaux spécifiés lors de la création du cluster.