Règles concernant les groupes de sécurité

Cet article explique comment GKE sur AWS gère les règles des groupes de sécurité AWS pour le cluster, et comment modifier les règles de pare-feu pour les pools de nœuds et les instances répliquées du plan de contrôle.

Groupes de sécurité et DNS hébergé

Si vous utilisez un serveur DNS hébergé plutôt que le DNS fourni par AWS, vos groupes de sécurité de plan de contrôle et de pool de nœuds doivent autoriser le trafic sortant sur les ports TCP et UDP 53.

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

Les groupes de sécurité du plan de contrôle définissent les règles de pare-feu pour le trafic TCP entrant et sortant pour chaque instance dupliquée du plan de contrôle.

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. Les instances de plan de contrôle établissent également des connexions HTTPS sortantes avec les services Google et AWS.

GKE sur AWS crée un groupe de sécurité de plan de contrôle géré et l'associe à toutes les instances de plan de contrôle. Vous ne devez pas modifier les règles de ce groupe. Si vous devez ajouter d'autres règles de groupe de sécurité, vous pouvez spécifier des ID de groupe de sécurité supplémentaires à associer au plan de contrôle lorsque vous créez un cluster.

Règles de groupe de sécurité du plan de contrôle par défaut

Il s'agit des règles par défaut que GKE sur AWS associe au plan de contrôle. Ces règles ne correspondent pas exactement à vos groupes de sécurité. Chaque ligne du tableau peut contenir plusieurs règles de groupe de sécurité AWS.

Type Protocol (Protocole) Port Plages d'adresses ou SG Description
Entrant TCP (version du cluster < 1.26) 443 Plage CIDR principale du VPC Autorise HTTPS à partir des nœuds de pool de nœuds
Entrant TCP (version du cluster 1.26 ou ultérieure) 443 Plage CIDR de sous-réseau du pool de nœuds Autoriser le protocole HTTPS depuis les nœuds des pools de nœuds (une règle par sous-réseau utilisée par les pools de nœuds)
Entrant TCP 2380 SG du plan de contrôle Autorise la duplication etcd du plan de contrôle
Entrant TCP 2381 SG du plan de contrôle Autorise la duplication d'événements etcd du plan de contrôle
Entrant TCP (version du cluster < 1.26) 8132 Plage CIDR principale du VPC Autorise les connexions Ktonctivity à partir de pools de nœuds
Entrant TCP (version du cluster 1.26 ou ultérieure) 8132 Plage CIDR de sous-réseau du pool de nœuds Autoriser les connexions Konnectivity depuis les nœuds des pools de nœuds (une règle par sous-réseau utilisée par les pools de nœuds)
Entrant TCP 11872 Plages CIDR du plan de contrôle Vérification de l'état HTTP de l'équilibreur de charge
Sortant TCP 443 0.0.0.0/0 Autorise le trafic HTTPS sortant
Sortant TCP 2380 SG du plan de contrôle Autorise la duplication etcd du plan de contrôle
Sortant TCP 2381 SG du plan de contrôle Autorise la duplication d'événements etcd du plan de contrôle

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

Les groupes de sécurité de pool de nœuds définissent les règles de pare-feu pour le trafic TCP entrant et sortant pour les VM des pools de nœuds.

GKE sur AWS crée un groupe de sécurité de pool de nœuds géré et l'associe à toutes les instances de pool de nœuds. Vous ne devez pas modifier les règles de ce groupe. Si vous devez ajouter d'autres règles de groupe de sécurité, vous pouvez spécifier des ID de groupe de sécurité supplémentaires à associer aux instances lorsque vous créez un pool de nœuds.

Par défaut, les VM de pool de nœuds n'ont pas de ports ouverts. Pour autoriser le trafic entrant, vous ajoutez un groupe de sécurité de pool de nœuds lors de la création du pool de nœuds, et vous gérez les règles entrantes/sortantes souhaitées pour le pool de nœuds via ce groupe de sécurité.

Règles par défaut des groupes de sécurité du pool de nœuds

Voici les règles par défaut que GKE sur AWS associe aux pools de nœuds. Ces règles ne correspondent pas exactement à vos groupes de sécurité. Chaque ligne du tableau peut contenir plusieurs règles de groupe de sécurité AWS.

Type Protocol (Protocole) Port Plage d'adresses ou SG Description
Entrant TCP Tout SG du pool de nœuds Autorise la communication entre pods
Sortant TCP Tout SG du pool de nœuds Autorise la communication entre pods
Sortant TCP 443 0.0.0.0/0 Autorise le trafic HTTPS sortant
Sortant TCP 8132 SG du plan de contrôle Autorise les connexions Ktonctivity au plan de contrôle
Sortant TCP 8132 Plages CIDR du plan de contrôle Autorise les connexions Ktonctivity au plan de contrôle

Pools de nœuds dans les blocs CIDR secondaires du VPC

GKE sur AWS version 1.26 ou ultérieure crée et gère automatiquement les règles de groupe de sécurité nécessaires pour prendre en charge les pools de nœuds utilisant des sous-réseaux dans les blocs CIDR de VPC secondaires. Si vous utilisez l'une de ces versions, vous n'avez pas besoin de créer de groupes de sécurité personnalisés ni de les mettre à jour manuellement.

Toutefois, lors de la création de groupes de sécurité gérés pour le plan de contrôle, les versions antérieures de GKE sur AWS ne créent pas de règles compatibles avec les pools de nœuds avec des sous-réseaux situés dans un bloc CIDR de VPC secondaire.

Pour contourner cette limitation, créez un groupe de sécurité personnalisé pour votre plan de contrôle. Vous transmettez l'ID du groupe de sécurité lors de la création d'un cluster à l'aide de l'option --security-group-ids. Vous pouvez également mettre à jour les groupes de sécurité de votre cluster.

Créez le groupe de sécurité à l'aide des règles suivantes :

Type Protocol (Protocole) Port Plages d'adresses ou SG Description
Entrant TCP 443 Plages de pools de nœuds (dans les blocs CIDR secondaires du VPC) Autorise HTTPS à partir des nœuds de pool de nœuds
Entrant TCP 8132 Plages de pools de nœuds (dans les blocs CIDR secondaires du VPC) Autorise les connexions Ktonctivity à partir de pools de nœuds

Étapes suivantes