Groupes de sécurité pour GKE sur AWS

Cette page présente les groupes de sécurité AWS (SG, security group) dont vous avez besoin pour GKE sur AWS.

Si vous installez un service de gestion ou que vous utilisez un VPC AWS existant, anthos-gke crée des groupes de sécurité à votre place. Vous pouvez configurer vos CRD AWSCluster et AWSNodePool avec une liste d'ID de groupes de sécurité supplémentaires.

Le schéma suivant décrit comment les clusters GKE sur AWS utilisent des groupes de sécurité pour se connecter aux services Google Cloud et AWS.

Schéma des ports et des connexions des composants GKE sur AWS aux services Google Cloud et AWS.

Groupe de sécurité du service de gestion

Le groupe de sécurité du service de gestion permet d'accéder à l'API du service de gestion avec HTTPS. Si un hôte bastion est configuré, le trafic entrant du groupe de sécurité bastion est autorisé.

Si vous créez un environnement GKE sur AWS dans un VPC AWS existant, vous devez disposer d'un groupe de sécurité qui autorise les connexions suivantes.

Type Protocol (Protocole) Port Adresse Description
Entrant TCP 443 CIDR de VPC Autorise HTTPS à partir du VPC AWS.
Entrant TCP 22 SG de l'hôte bastion Autorise les tunnels SSH depuis l'hôte bastion (inclus dans le VPC dédié seulement).
Sortant TCP 80 0.0.0.0/0 Autorise le trafic HTTP sortant.
Sortant TCP 443 0.0.0.0/0 Autorise le trafic HTTPS sortant.

Accès sortant au domaine

Le service de gestion nécessite un accès sortant aux domaines suivants.

  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • oauth2.googleapis.com
  • storage.googleapis.com
  • www.googleapis.com
  • gcr.io
  • k8s.gcr.io
  • EC2-REGION.ec2.archive.ubuntu.com

Remplacez EC2-REGION par la région AWS EC2 dans laquelle votre installation GKE sur AWS est exécutée. Exemple : us-west-1.ec2.archive.ubuntu.com/.

Si vous utilisez Anthos Service Mesh avec Prometheus et Kiali, autorisez l'accès sortant des domaines suivants :

  • docker.io
  • quay.io

Groupe de sécurité de l'hôte bastion (facultatif)

Vous utilisez les connexions du groupe de sécurité de l'hôte bastion autorisées par son groupe pour vous connecter aux clusters d'utilisateur et au service de gestion GKE sur AWS. Ce groupe est facultatif et n'est inclus que si vous utilisez anthos-gke pour créer une installation GKE sur AWS dans un VPC dédié.

Type Protocol (Protocole) Port Adresse Description
Entrant TCP 22 Bloc CIDR de bastionAllowedSSHCIDRBlocks dans la configuration AWSManagementService. Autorise SSH sur l'hôte bastion.
Sortant TCP 22 0.0.0.0/0 Autorise la connexion SSH sortante.
Sortant TCP 80 0.0.0.0/0 Autorise le trafic HTTP sortant.
Sortant TCP 443 0.0.0.0/0 Autorise le trafic HTTPS sortant.

Groupe de sécurité du plan de contrôle

Le groupe de sécurité du plan de contrôle autorise les connexions entre les nœuds du plan de contrôle et le service de gestion, ainsi qu'entre les nœuds du plan de contrôle et les pools de nœuds.

Le plan de contrôle est constitué de trois instances EC2 situées derrière un équilibreur de charge réseau AWS (NLB, Network Load Balancer). Ces instances acceptent les connexions à partir d'instances etcd sur d'autres nœuds, les nœuds de pool de nœuds et le NLB. Pour mettre à jour les composants GKE sur AWS, tout le trafic HTTP/HTTPS sortant est autorisé.

Spécifiez les ID de groupe de sécurité dans la définition AWSCluster.

Type Protocol (Protocole) Port Adresse Description
Entrant TCP 2380 Ce SG Autorise la duplication etcd du plan de contrôle.
Entrant TCP 2381 Ce SG Autorise la duplication d'événements etcd du plan de contrôle.
Entrant TCP 443 SG du pool de nœuds Autorise HTTPS à partir des nœuds de pool de nœuds.
Entrant TCP 443 Plage CIDR VPC AWS Autorise HTTPS à partir du service de gestion et de l'équilibreur de charge.
Entrant TCP 11872 Plage CIDR VPC AWS Vérification de l'état HTTP de l'équilibreur de charge.
Sortant TCP 22 SG du pool de nœuds Autorise la tunnelisation SSH vers les pools de nœuds (pour les clusters 1.20 et versions antérieures).
Entrant TCP 8132 SG du pool de nœuds Autorise les connexions Konnectivity à partir des pools de nœuds (pour les clusters 1.21 et versions ultérieures).
Sortant TCP 80 0.0.0.0/0 Autorise le trafic HTTP sortant.
Sortant TCP 443 0.0.0.0/0 Autorise le trafic HTTPS sortant.
Sortant TCP 2380 Ce SG Autorise la duplication etcd du plan de contrôle.
Sortant TCP 2381 Ce SG Autorise la duplication d'événements etcd du plan de contrôle.
Sortant TCP 10250 SG du pool de nœuds Autorise les connexions du plan de contrôle à Kubelet.

Groupe de sécurité du pool de nœuds

Le groupe de sécurité du pool de nœuds autorise les connexions à partir du plan de contrôle et d'un autre nœud. Spécifiez l'ID du groupe de sécurité dans les définitions AWSNodePool.

Type Protocol (Protocole) Port Adresse Description
Entrant TCP All Ce SG Autorise la communication entre pods.
Entrant TCP 22 SG du plan de contrôle Autorise le tunneling SSH à partir du plan de contrôle (pour les clusters v1.20 et versions antérieures).
Sortant TCP 8132 SG du plan de contrôle Autorise les connexions Konnectivity au plan de contrôle (pour les clusters v1.21 et versions ultérieures)
Entrant TCP 443 SG du plan de contrôle Autorise les connexions du plan de contrôle à Kubelet.
Entrant TCP 10250 SG du plan de contrôle Autorise les connexions du plan de contrôle à Kubelet.
Sortant TCP All Ce SG Autorise la communication entre pods.
Sortant TCP 80 0.0.0.0/0 Autorise le trafic HTTP sortant.
Sortant TCP 443 0.0.0.0/0 Autorise le trafic HTTPS sortant.