Amazon Elastic Kubernetes Service (Amazon EKS) est un service Kubernetes géré qui vous permet d'exécuter facilement Kubernetes sur AWS et sur site. Kubernetes est un système open source conçu pour automatiser le déploiement, la mise à l'échelle et la gestion des applications conteneurisées. Amazon EKS est certifié conforme pour Kubernetes. Par conséquent, les applications existantes qui s'exécutent sur Kubernetes en amont sont compatibles avec Amazon EKS.

Amazon EKS gère automatiquement la disponibilité et la capacité de mise à l'échelle des nœuds de plan de contrôle de Kubernetes, qui sont entre autres responsables de la planification des conteneurs, de la gestion de la disponibilité des applications, du stockage des données des clusters et d'autres tâches clés.

Amazon EKS vous permet d'exécuter vos applications Kubernetes à la fois sur Amazon Elastic Compute Cloud (Amazon EC2) et AWS Fargate. Avec Amazon EKS, vous profitez de l'ensemble des performances, de la mise à l'échelle, de la fiabilité et de la disponibilité de l'infrastructure AWS, mais également d'une intégration aux services de mise en réseau et de sécurité d'AWS, comme les Application Load Balancers (ALB) pour la distribution des charges, d'une intégration d'AWS Identity and Access Management (IAM) au contrôle d'accès en fonction du rôle (RBAC) et Virtual Private Cloud (VPC) pour la mise en réseau de pods.

Clusters Kubernetes gérés

Plan de contrôle géré

Amazon EKS propose un plan de contrôle Kubernetes évolutif à haute disponibilité, qui peut être exécuté dans différentes zones de disponibilité AWS. Amazon EKS gère automatiquement la disponibilité et la capacité de mise à l'échelle des serveurs d'API Kubernetes et la couche de persistance etcd. Amazon EKS exécute le plan de contrôle Kubernetes dans trois zones de disponibilité afin de garantir une haute disponibilité. De plus, il détecte et remplace automatiquement les nœuds du plan de contrôle défectueux.

Intégrations de services

Les contrôleurs AWS pour Kubernetes (ACK) vous donne le contrôle de la gestion directe des services AWS depuis votre environnement Kubernetes. ACK simplifie la création d'applications Kubernetes évolutives et hautement disponibles qui utilisent les services AWS.

Console Kubernetes hébergée

EKS fournit une console intégrée pour les clusters Kubernetes. Les opérateurs de cluster et les développeurs d'applications peuvent utiliser EKS comme un emplacement unique pour organiser, visualiser et dépanner leurs applications Kubernetes exécutées sur Amazon EKS. La console EKS est hébergée par AWS et est disponible automatiquement pour tous les clusters EKS.

Modules complémentaires EKS

Les modules complémentaires EKS sont des logiciels opérationnels courants qui étendent les fonctionnalités opérationnelles de Kubernetes. Vous pouvez utiliser EKS pour installer et maintenir ces logiciels complémentaires à jour. Lorsque vous démarrez un cluster Amazon EKS, vous pouvez sélectionner les modules complémentaires que vous souhaitez exécuter dans le cluster, y compris les outils Kubernetes pour l'observabilité, la mise en réseau, la scalabilité automatique et les intégrations de services AWS.

Groupes de nœuds gérés

Amazon EKS vous permet de créer, de mettre à jour, de mettre à l'échelle ou de résilier des nœuds de votre cluster au moyen d'une seule commande. Ces nœuds peuvent également tirer parti des instances Spot Amazon EC2 pour réduire les coûts. Les groupes de nœuds gérés exécutent des instances Amazon EC2 à l'aide des dernières AMI optimisées par EKS ou des AMI personnalisés de votre compte AWS, tandis que les mises à jour et les résiliations suppriment proprement les nœuds pour assurer la disponibilité de vos applications.

Vous pouvez tiliser eksctl pour le lancement des nœuds et la gestion en une seule ligne

Vous pouvez également utiliser l'outil de ligne de commande eksctl pour la mise en service et l'exécution d'Amazon EKS en quelques minutes. Exécutez simplement la commande « eksctl create cluster » pour créer votre cluster EKS. Vous pouvez utiliser eksctl pour simplifier la gestion et les opérations de votre cluster, y compris la gestion des nœuds et des modules complémentaires.

Prise en charge de Windows

Amazon EKS prend en charge la planification de composants master et de conteneurs Windows. EKS prend en charge les composants master Windows actifs ainsi que les composants master Linux, ce qui vous permet d’utiliser le même cluster pour gérer les applications sur chaque système d’exploitation.

Support ARM

Les processeurs AWS Graviton2 optimisent les instances EC2 ARM, offrant une avancée majeure en termes de performances et de fonctionnalités, ainsi que des économies de coûts significatives. Les conteneurs actifs visent principalement à améliorer l'efficacité du coût des applications. Combinez les deux et vous obtenez un excellent rapport qualité-prix. Par exemple, les tests de charge de travail montrent que les types d'instances basés sur les processeurs Graviton2 offrent un rapport qualité-prix jusqu'à 40 % supérieur à celui de leurs équivalents des familles M5, C5 et R5 basés sur x86. Amazon EKS on AWS Graviton2 est généralement disponible lorsque les deux services sont disponibles au niveau régional.

Mise en réseau et sécurité

Grâce aux fonctions avancées d'Amazon EKS et à l'intégration aux services AWS et aux solutions de nos partenaires technologiques, il est plus simple d'assurer la sécurité de vos clusters Kubernetes. Par exemple, IAM fournit un contrôle d'accès précis et Amazon VPC isole vos clusters Kubernetes des autres utilisateurs.

Découverte de service

AWS Cloud Map est un service de découverte de ressources cloud. Grâce à Cloud Map, vous pouvez définir des noms personnalisés pour vos ressources d'applications. Il maintient l'emplacement mis à jour de ces ressources qui changent de façon dynamique. Cela augmente la disponibilité de votre application, car votre service Web découvre toujours les emplacements les plus récents de ses ressources. Cloud Map fonctionne avec external-dns, un connecteur Kubernetes open-source qui propage automatiquement les emplacements de services internes au registre de services Cloud Map lorsque les services Kubernetes sont lancés et les supprime à la résiliation. Les services basés sur Kubernetes peuvent être découverts via Cloud Map, qui fournit un registre de services unifié pour toutes les charges de travail des conteneurs.

Maillage de service

Le maillage de services permet de créer et d'exécuter facilement des applications de microservices complexes en standardisant la façon dont chaque microservice de l'application communique. AWS App Mesh permet de configurer votre application pour la visibilité de bout en bout et la haute disponibilité. Vous pouvez utiliser le contrôleur AWS App Mesh pour Kubernetes pour créer des services connectés au maillage, définir le routage du trafic et configurer les fonctions de sécurité, comme le chiffrement. De plus, App Mesh vous permet d'enregistrer automatiquement vos pods Kubernetes dans AWS Cloud Map pour découvrir les services. App Mesh exporte les métriques, les journaux et les traces vers les points de terminaison spécifiés dans la configuration d'amorçage Envoy fournie. App Mesh fournit une API qui permet de configurer les routes de trafic, les coupe-circuit, les nouvelles tentatives et d'autres contrôles entre les microservices pour lesquels le maillage est activé. Le mTLS d'App Mesh permet de crypter toutes les demandes entre services, même lorsqu'elles se trouvent dans vos réseaux privés. En outre, vous pouvez ajouter des contrôles d'authentification pour que seuls les services que vous autorisez communiquent entre eux.

Réseau natif du VPC

Vos clusters EKS s'exécutent dans un Amazon VPC, ce qui vous permet d'utiliser vos propres groupes de sécurité VPC et listes de contrôle d'accès réseau (ACL) réseau. Aucune ressource de calcul n'est partagée avec les clients, ce qui assure un haut niveau d'isolation et permet de créer des applications sûres et fiables. EKS utilise le CNI Amazon VPC pour permettre aux pods Kubernetes de recevoir les adresses IP du VPC. Amazon EKS travaille avec le moteur de stratégies réseau Project Calico pour fournir des politiques réseau détaillées pour vos charges de travail Kubernetes. Ainsi, vous pouvez contrôler l'accès en fonction de chaque service en utilisant l'API de politique réseau Kubernetes.

AWS IAM Authenticator

Amazon EKS intègre RBAC Kubernetes (le système natif de contrôle des accès basé sur les rôles) à AWS IAM. Vous pouvez affecter des rôles RBAC à chaque entité IAM directement, ce qui vous permet de contrôler avec précision les autorisations d'accès à vos nœuds de plans de contrôle Kubernetes.

IAM pour les comptes de service

Amazon EKS vous permet d'attribuer des autorisations IAM à vos comptes de service Kubernetes. Le rôle IAM peut contrôler les accès aux autres services conteneurisés, des ressources AWS externes au cluster comme les bases de données et les secrets ou aux services et applications tiers s'exécutant en dehors d'AWS. Vous disposez ainsi d'un contrôle d'accès précis au niveau du pod lorsque vous exécutez des clusters avec plusieurs services colocalisés, et vous pouvez facilement optimiser les coûts et la disponibilité du cluster.

Conformité

Amazon EKS est certifié par de multiples programmes de conformité pour les applications réglementées et sensibles. Amazon EKS est conforme SOC, PCI, ISO, FedRAMP-Moderate, IRAP, C5, K-ISMS, ENS High, OSPAR, HITRUST CSF et est un service éligible HIPAA.

Répartition de charge

Amazon EKS prend en charge l'utilisation d'Elastic Load Balancing, notamment d'Application Load Balancer (ALB), du dispositif d'équilibrage de charge de réseau (NLB) et de Classic Load Balancer.

Vous pouvez exécuter la répartition de charge de cluster Kubernetes standard ou n'importe quel contrôleur d'entrée Kubernetes pris en charge avec votre cluster Amazon EKS.

Calcul sans serveur

EKS est compatible avec AWS Fargate et permet d'exécuter vos applications Kubernetes avec des services de calcul sans serveur. Ce service évite d'avoir à provisionner et gérer des serveurs, permet de spécifier et payer pour les ressources en fonction des applications et améliore la sécurité grâce à une isolation intégrée de l'application.

Déploiements hybrides

Vous pouvez utiliser EKS sur AWS Outposts pour exécuter des applications conteneurisées qui nécessitent des latences particulièrement faibles sur les systèmes sur site. AWS Outposts est un service entièrement géré qui étend l'infrastructure, les services, les API et les outils AWS à pratiquement n'importe quel site connecté. Avec EKS sur Outposts, vous pouvez gérer les conteneurs sur site avec la même facilité que vos conteneurs dans le cloud.

Vous pouvez attacher à EKS des nœuds exécutés dans AWS Local Zones ou dans AWS Wavelength, ce qui vous donne plus de choix pour l'infrastructure gérée par AWS à la périphérie.

Amazon EKS Distro regroupe la même distribution de logiciels Kubernetes open source utilisée dans Amazon EKS sur AWS pour une utilisation sur votre propre infrastructure sur site. Les clusters EKS Distro peuvent être gérés avec vos propres outils ou avec Amazon EKS Anywhere (disponible à partir de 2021).

Amazon EKS Anywhere vous permet de créer et d'exploiter facilement des clusters Kubernetes (création avec les logiciels d'Amazon EKS Distro) sur site, y compris sur vos propres machines virtuelles (VM) et serveurs matériel nu. EKS Anywhere vous évite la complexité de la création et de la prise en charge de vos propres outils pour gérer les clusters Kubernetes. EKS Anywhere fournit des outils d'automatisation qui simplifient la création de clusters, l'administration et l'exploitation d'infrastructures telles que le matériel nu, VMware vSphere et les machines virtuelles sur le cloud. Cela comprend également les machines virtuelles sur le cloud comportant des configurations de journalisation, de surveillance, de mise en réseau et de stockage définies par défaut. EKS Anywhere vous dote des outils et composants supplémentaires qu'il vous faut pour exécuter les Kubernetes au cours de la production, tels que l'installation de cluster et la gestion de cycle de vie, l'observabilité, la sauvegarde de cluster et la gestion de politique.

Journalisation

AWS CloudTrail est intégré à Amazon EKS pour plus de visibilité. Il permet de contrôler l'historique des opérations de gestion d'EKS. Vous pouvez utiliser CloudTrail pour visualiser les appels d'API vers l'API Amazon EKS. Amazon EKS distribue également les journaux de plan de contrôle Kubernetes à Amazon CloudWatch à des fins d'analyse, de débogage et d'audit.

Certifié conforme

Amazon EKS exécute Kubernetes en amont et est certifié compatible à Kubernetes, de sorte que vous pouvez utiliser tous les plug-ins et outils existants de la communauté Kubernetes. Les applications qui s'exécutent sur Amazon EKS sont entièrement compatibles avec celles qui s'exécutent dans n'importe quel environnement Kubernetes standard, que ce soit dans des centres de données sur site ou des clouds publics. Cela signifie que vous pouvez facilement faire effectuer la migration de n'importe quelle application Kubernetes standard vers Amazon EKS sans devoir refactoriser votre code.

Mise à jour des clusters gérés

Amazon EKS facilite la mise à jour des clusters en cours d'exécution vers la version la plus récente de Kubernetes sans qu'il soit nécessaire de gérer le processus de mise à jour. Les mises à jour de version de Kubernetes sont effectuées sur place, ce qui évite d'avoir à créer des clusters ou à migrer les applications vers un nouveau cluster.

Les nouvelles versions de Kubernetes étant publiées et validées pour une utilisation avec Amazon EKS, nous prendrons en charge à tout moment trois versions stables de Kubernetes dans le processus de mise à jour. Vous pouvez initier l'installation d'une nouvelle version et passer en revue l'état de mise à jour en cours au moyen du kit SDK, de la CLI ou la console AWS.

Prise en charge avancée de la charge de travail

Amazon EKS fournit une image AMI optimisée (Amazon Machine Image) qui contient des pilotes NVIDIA configurés pour les instances Amazon EC2 P2 et P3 compatibles GPU. Ainsi, il est facile d’utiliser Amazon EKS pour exécuter des charges de travail avancées de calcul, telles que le machine learning (ML), Kubeflow, les conteneurs de deep learning (DL), le calcul haute performance (HPC), l’analyse financière et le transcodage vidéo.

Compatibilité open source

Amazon EKS est entièrement compatible avec les outils de la communauté Kubernetes et prend en charge les modules complémentaires courants de Kubernetes. Ils comprennent CoreDNS pour créer un service DNS pour votre cluster, et l'interface utilisateur Web de tableau de bord Kubernetes et l'outil de ligne de commande kubectl pour accéder à votre cluster sur Amazon EKS et le gérer.

Pour plus d'informations, consultez la page GitHub Outils de la communauté Kubernetes.

Tarification d’Amazon EKS

Consultez la page de tarification
Prêt à concevoir ?
Faites vos premiers pas avec Amazon EKS
D'autres questions ?
Nous contacter