Comment restreindre les adresses IP CIDR pour un service de type LoadBalancer dans Amazon EKS ?

Dernière mise à jour : 10/06/2020

Je souhaite restreindre les adresses IP CIDR pour un service de type LoadBalancer dans Amazon Elastic Kubernetes Service (Amazon EKS).

Brève description

Si vous créez un service de type : LoadBalancer, les demandes de la source 0.0.0.0/0 sont autorisées par défaut. Cela signifie que, si votre équilibreur de charge se trouve dans un sous-réseau public, les demandes sont acheminées vers les nœuds de travail depuis n'importe quel emplacement sur Internet.

Solution

Configurer l'environnement

1.    Créez un cluster Amazon EKS.

2.    Créez et lancez des nœuds de travail.

3.    Configurez kubectl.

4.    Configurez l'interface de ligne de commande AWS (AWS CLI).

Restriction des adresses IP CIDR

1.    Dans votre fichier manifeste de service (svc.yaml), ajoutez le champ .spec.loadBalancerSourceRanges. Consultez l'exemple suivant :

apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx
  name: nginx
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx
  type: LoadBalancer
  loadBalancerSourceRanges:
  - "143.231.0.0/16"

2.    Afin d'appliquer le fichier manifeste, exécutez la commande suivante :

$ kubectl apply -f svc.yaml

3.    Afin de confirmer la modification des règles entrantes sur le groupe de sécurité, exécutez la commande de l'interface de ligne de commande AWS suivante :

$ aws ec2 describe-security-groups --group-ids sg-XXXXXXXXXXXXXXXXX
...
    "CidrIp": "143.231.0.0/16"
...

Enfin, tenez compte des éléments suivants :

Pour Kubernetes version 1.14 ou les versions antérieures, vous pouvez uniquement mettre à jour le champ .spec.loadBalancerSourceRanges d'un service qui utilise un Network Load Balancer en recréant la ressource de service pour les plages d'adresses CIDR. Ces modifications sont reflétées dans les règles du groupe de sécurité du nœud de travail.

Remarque : la recréation de la ressource de service entraîne la remise en service du Network Load Balancer qui crée une nouvelle adresse IP pour l'équilibreur de charge.

Pour un service avec un type Network Load Balancer, prenez en compte la limite maximale du groupe de sécurité. Pour chaque port de nœud et plage de blocs d’adresse CIDR, le plan de contrôle Kubernetes crée trois règles (pour le trafic, l'état et la MTU) sur le groupe de sécurité du nœud de travail.


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?