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
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.
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 :
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 |
|
|
Activées |
Activées |
|
|
Désactivées |
Activées |
|
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
kubectlpour 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
kubectlpour 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