Point de terminaison du serveur d’API du cluster - Amazon EKS

Aidez à améliorer cette page

Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.

Point de terminaison du serveur d’API du cluster

Cette rubrique vous aide à activer l’accès privé pour le point de terminaison de serveur d’API Kubernetes de votre cluster Amazon EKS et à désactiver complètement l’accès public afin que celui-ci ne soit pas accessible depuis Internet.

Lorsque vous créez un cluster, Amazon EKS crée un point de terminaison pour le serveur d'API Kubernetes géré que vous utilisez pour communiquer avec votre cluster (à l'aide d'outils de gestion Kubernetes comme kubectl). Par défaut, ce point de terminaison du serveur d’API est public sur Internet, et l’accès au serveur d’API est sécurisé à l’aide d’une combinaison de la gestion des identités et des accès AWS (IAM) et du contrôle d’accès basé sur les rôles (RBAC) natif de Kubernetes. Ce point de terminaison est connu sous le nom de point de terminaison public du cluster. Il existe également un point de terminaison privé du cluster. Pour plus d’informations sur le point de terminaison privé du cluster, consultez la section Point de terminaison privé du cluster suivante.

Format du point de terminaison du cluster IPv6

EKS crée un point de terminaison à double pile unique selon le format ci-dessous pour tout nouveau cluster IPv6 créé après octobre 2024. Un cluster IPv6 est un cluster pour lequel vous sélectionnez IPv6 dans le paramètre de famille d’IP (ipFamily) du cluster.

AWS

Point de terminaison public/privé du cluster EKS : eks-cluster.region.api.aws

AWS GovCloud (US)

Point de terminaison public/privé du cluster EKS : eks-cluster.region.api.aws

Amazon Web Services in China

Point de terminaison public/privé du cluster EKS : eks-cluster.region.api.amazonwebservices.com.rproxy.govskope.ca.cn

Note

Le point de terminaison de cluster à double pile a été introduit en octobre 2024. Pour plus d’informations sur les clusters IPv6, consultez Informations sur les adresses IPv6 pour les clusters, pods et services. Les clusters créés avant octobre 2024 utilisent plutôt le format de point de terminaison suivant.

Format du point de terminaison du cluster IPv4

EKS crée un point de terminaison unique au format suivant pour chaque cluster avec IPv4 sélectionné dans le paramètre de famille d’adresses IP (ipFamily) du cluster :

AWS

Point de terminaison public/privé du cluster EKS eks-cluster.region.eks.amazonaws.com

AWS GovCloud (US)

Point de terminaison public/privé du cluster EKS eks-cluster.region.eks.amazonaws.com

Amazon Web Services in China

Point de terminaison public/privé du cluster EKS eks-cluster.region.amazonwebservices.com.rproxy.govskope.ca.cn

Note

Avant octobre 2024, les clusters IPv6 utilisaient également ce format de point de terminaison. Pour ces clusters, les points de terminaison public et privé ne résolvaient que des adresses IPv4.

Point de terminaison privé du cluster

Vous pouvez activer l'accès privé au serveur d'API Kubernetes pour que toutes les communications entre vos nœuds et le serveur d'API restent au sein de votre VPC. Vous pouvez limiter les adresses IP qui peuvent accéder à votre serveur API à partir d'Internet, ou désactiver complètement l'accès Internet au serveur d'API.

Note

Comme ce point de terminaison concerne le serveur d’API Kubernetes et non un point de terminaison AWS PrivateLink classique pour communiquer avec une API AWS, il n’apparaît pas comme point de terminaison dans la console Amazon VPC.

Lorsque vous activez l’accès privé au point de terminaison de votre cluster, Amazon EKS crée automatiquement une zone hébergée privée Route 53 et l’associe au VPC de votre cluster. Cette zone hébergée privée est gérée par Amazon EKS et n’apparaît pas dans vos ressources Route 53. Pour que la zone hébergée privée achemine correctement le trafic vers votre serveur d'API, votre VPC doit avoir enableDnsHostnames et enableDnsSupport définis sur true, et les options DHCP définies pour votre VPC doivent inclure AmazonProvidedDNS dans leur liste de serveurs de nom de domaine. Pour plus d'informations, consultez Mise à jour du support DNS pour votre VPC dans le Guide de l'utilisateur d'Amazon VPC.

Vous pouvez définir les exigences d'accès au point de terminaison de votre serveur d'API lorsque vous créez un nouveau cluster, et vous pouvez mettre à jour l'accès au point de terminaison du serveur d'API pour un cluster à tout moment.

Modification de l'accès au point de terminaison de cluster

Utilisez les procédures de cette section afin de modifier l'accès au point de terminaison pour un cluster existant. Le tableau suivant présente les combinaisons d'accès au point de terminaison de serveur d'API prises en charge et leur comportement.

Accès public au point de terminaison Accès privé au point de terminaison Attitude

Activé

Désactivées

  • Il s'agit du comportement par défaut pour les nouveaux clusters Amazon EKS.

  • Les requêtes vers l’API Kubernetes qui proviennent de l’intérieur du VPC de votre cluster (par exemple, les communications nœud vers plan de contrôle) sortent du VPC mais restent sur le réseau Amazon.

  • Le serveur d'API de votre cluster est accessible depuis internet. Si nécessaire, vous pouvez limiter les blocs CIDR qui peuvent accéder au point de terminaison public. Si vous limitez l’accès à des blocs CIDR spécifiques, il est recommandé d’activer également le point de terminaison privé ou de vous assurer que les blocs CIDR spécifiés incluent les adresses utilisées par les nœuds et les Pods Fargate (si vous en utilisez) pour accéder au point de terminaison public.

Activées

Activées

  • Les requêtes vers l’API Kubernetes provenant du VPC de votre cluster (par exemple, les communications nœud vers plan de contrôle) utilisent le point de terminaison d’un VPC privé.

  • Le serveur d'API de votre cluster est accessible depuis internet. Si nécessaire, vous pouvez limiter les blocs CIDR qui peuvent accéder au point de terminaison public.

  • Si vous utilisez des nœuds hybrides avec votre cluster Amazon EKS, il n’est pas recommandé d’activer simultanément l’accès public et privé au point de terminaison du cluster. Comme les nœuds hybrides fonctionnent en dehors de votre VPC, ils résolvent le point de terminaison du cluster vers les adresses IP publiques. Il est recommandé de choisir soit un accès public soit un accès privé au point de terminaison pour les clusters utilisant des nœuds hybrides.

Désactivées

Activées

  • Tout le trafic vers le serveur d’API du cluster doit provenir de votre VPC ou d’un réseau connecté.

  • Il n'y a pas d'accès public vers votre serveur d'API depuis Internet. Toutes les commandes kubectl doivent provenir du VPC ou d'un réseau connecté. Pour les options de connectivité, consultez Accès à un serveur d'API privé uniquement.

  • Le point de terminaison du serveur d’API du cluster est résolu par les serveurs DNS publics à une adresse IP privée à partir du VPC. Dans le passé, le point de terminaison ne pouvait être résolu qu'à partir du VPC.

    Si votre point de terminaison ne se résout pas à une adresse IP privée dans le VPC pour un cluster existant, vous pouvez :

    • Activer l'accès public, puis le désactiver à nouveau. Vous n'avez besoin de le faire qu'une seule fois pour un cluster et le point de terminaison se résoudra en une adresse IP privée à partir de ce point.

    • Mettez à jour votre cluster.

Blocs CIDR dans le point de terminaison public (cluster IPv6)

Vous pouvez ajouter des blocs CIDR IPv6 et IPv4 au point de terminaison public d’un cluster IPv6, car le point de terminaison public est double pile. Cette option ne s’applique qu’aux nouveaux clusters dont la ipFamily est définie sur IPv6 et qui sont créés en octobre 2024 ou après. Vous pouvez identifier ces clusters grâce à leur nouveau nom de domaine de point de terminaison api.aws.

Blocs CIDR dans le point de terminaison public (cluster IPv4)

Vous pouvez ajouter des blocs CIDR IPv4 au point de terminaison public d’un cluster IPv4. Vous ne pouvez pas ajouter des blocs CIDR IPv6 au point de terminaison public d’un cluster IPv4. Si vous essayez, EKS renvoie le message d’erreur suivant : The following CIDRs are invalid in publicAccessCidrs

Blocs CIDR dans le point de terminaison public (cluster IPv6 créé avant octobre 2024)

Vous pouvez ajouter des blocs CIDR IPv4 au point de terminaison public des anciens clusters IPv6 que vous avez créés avant octobre 2024. Vous pouvez identifier ces clusters grâce au point de terminaison eks.amazonaws.com. Vous ne pouvez pas ajouter des blocs CIDR IPv6 au point de terminaison public de ces anciens clusters IPv6 que vous avez créés avant octobre 2024. Si vous essayez, EKS renvoie le message d’erreur suivant : The following CIDRs are invalid in publicAccessCidrs

Accès à un serveur d'API privé uniquement

Si vous avez désactivé l’accès public au point de terminaison du serveur d’API Kubernetes de votre cluster, vous ne pouvez accéder à l’API serveur que depuis votre VPC ou un réseau connecté. Voici quelques méthodes d'accès possibles au point de terminaison du serveur d'API Kubernetes :

Réseau connecté

Connectez votre réseau au VPC à l'aide d'une passerelle de transit AWS ou d'une autre option de connectivité, puis utilisez un ordinateur dans le réseau connecté. Vous devez vous assurer que le groupe de sécurité de votre plan de contrôle Amazon EKS contient des règles pour autoriser le trafic entrant sur le port 443 depuis votre réseau connecté.

Hôte bastion Amazon EC

Vous pouvez lancer une instance Amazon EC2 dans un sous-réseau public dans le VPC de votre cluster, puis vous connecter via SSH à cette instance pour exécuter des commandes kubectl. Pour plus d'informations, consultez la section Hôtes bastions Linux sur AWS. Vous devez vous assurer que le groupe de sécurité de votre plan de contrôle Amazon EKS contient des règles pour autoriser le trafic entrant sur le port 443 depuis l'hôte bastion. Pour de plus amples informations, consultez Voir les exigences relatives aux groupes de sécurité Amazon EKS pour les clusters.

Lorsque vous configurez kubectl pour votre hôte bastion, veillez à utiliser des informations d’identification AWS déjà mappées à la configuration RBAC de votre cluster, ou ajoutez au préalable le principal IAM utilisé par le bastion à la configuration RBAC avant de supprimer l’accès public au point de terminaison. Pour plus d’informations, consultez Autoriser les utilisateurs et les rôles IAM à accéder aux API Kubernetes et Accès non autorisé ou refusé (kubectl).

Environnement de développement intégré AWS Cloud9

AWS Cloud9 est un environnement de développement intégré (IDE) cloud pour écrire, exécuter et déboguer votre code à l’aide d’un simple navigateur. Vous pouvez créer un IDE AWS Cloud9 dans le VPC de votre cluster et l’utiliser pour communiquer avec votre cluster. Pour plus d’informations, consultez Création d’un environnement dans AWS Cloud9. Vous devez vous assurer que votre groupe de sécurité de plan de contrôle Amazon EKS contient des règles permettant d'autoriser le trafic entrant sur le port 443 à partir de votre groupe de sécurité IDE. Pour de plus amples informations, consultez Voir les exigences relatives aux groupes de sécurité Amazon EKS pour les clusters.

Lorsque vous configurez kubectl pour l’IDE AWS Cloud9, veillez à utiliser des informations d’identification AWS déjà mappées à la configuration RBAC de votre cluster, ou ajoutez le principal IAM utilisé par votre IDE à la configuration RBAC avant de supprimer l’accès public au point de terminaison. Pour plus d’informations, consultez Autoriser les utilisateurs et les rôles IAM à accéder aux API Kubernetes et Accès non autorisé ou refusé (kubectl).

📝 Modifiez cette page sur GitHub