Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Accédez aux applications de conteneur en privé sur Amazon EKS à l'aide AWS PrivateLink d'un Network Load Balancer
Créée par Kirankumar Chandrashekar () AWS
Environnement : Production | Technologies : conteneurs et microservices DevOps ; modernisation ; sécurité, identité, conformité | Charge de travail : toutes les autres charges de travail |
AWSservices : Amazon EKS ; Amazon VPC |
Récapitulatif
Ce modèle décrit comment héberger en privé une application de conteneur Docker sur Amazon Elastic Kubernetes Service EKS (Amazon) derrière un Network Load Balancer, et comment accéder à l'application en utilisant. AWS PrivateLink Vous pouvez ensuite utiliser un réseau privé pour accéder en toute sécurité aux services sur le cloud Amazon Web Services (AWS).
Le EKS cluster Amazon exécutant les applications Docker, avec un Network Load Balancer sur le front-end, peut être associé à un point de terminaison de cloud privé virtuel VPC () pour y accéder. AWS PrivateLink Ce service de VPC point de terminaison peut ensuite être partagé avec d'autres utilisateurs VPCs en utilisant leurs VPC points de terminaison.
La configuration décrite par ce modèle est un moyen sécurisé de partager l'accès aux applications entre VPCs les AWS comptes. Il ne nécessite aucune configuration de connectivité ou de routage particulière, car la connexion entre les comptes du consommateur et du fournisseur se fait sur le AWS backbone mondial et ne traverse pas l'Internet public.
Conditions préalables et limitations
Prérequis
Docker
, installé et configuré sous Linux, macOS ou Windows. Une application qui s'exécute sur Docker.
Un compte AWS actif.
AWSInterface de ligne de commande (AWSCLI) version 2, installée et configurée sous Linux, macOS ou Windows.
Un EKS cluster Amazon existant avec des sous-réseaux privés balisés et configuré pour héberger des applications. Pour plus d'informations, consultez la section Balisage des sous-réseaux dans la documentation AmazonEKS.
Kubectl, installé et configuré pour accéder aux ressources de votre cluster AmazonEKS. Pour plus d'informations, consultez la section Installation de kubectl dans la documentation AmazonEKS.
Architecture
Pile technologique
Amazon EKS
AWS PrivateLink
Network Load Balancer
Automatisation et mise à l'échelle
Les manifestes Kubernetes peuvent être suivis et gérés sur un référentiel basé sur Git (par exemple, on AWS CodeCommit), et déployés en utilisant l'intégration continue et la livraison continue (CI/CD) dans. AWS CodePipeline
Vous pouvez l'utiliser AWS CloudFormation pour créer ce modèle en utilisant l'infrastructure en tant que code (IAc).
Outils
AWSCLI— L'interface de ligne de AWS commande (AWSCLI) est un outil open source qui vous permet d'interagir avec les AWS services à l'aide de commandes dans votre interface de ligne de commande.
Elastic Load Balancing — Elastic Load Balancing distribue le trafic applicatif ou réseau entrant sur plusieurs cibles, telles que les instances Amazon Elastic Compute Cloud (AmazonEC2), les conteneurs et les adresses IP, dans une ou plusieurs zones de disponibilité.
Amazon EKS — Amazon Elastic Kubernetes Service (EKSAmazon) est un service géré que vous pouvez utiliser pour exécuter AWS Kubernetes sans avoir à installer, exploiter et gérer votre propre plan de contrôle ou vos propres nœuds Kubernetes.
Amazon VPC — Amazon Virtual Private Cloud (AmazonVPC) vous aide à lancer AWS des ressources dans un réseau virtuel que vous avez défini.
Kubectl — Kubectl
est un utilitaire de ligne de commande permettant d'exécuter des commandes sur des clusters Kubernetes.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Créez le fichier manifeste de déploiement de Kubernetes. | Créez un fichier manifeste de déploiement en modifiant le fichier d'exemple suivant en fonction de vos besoins.
Remarque : Il s'agit d'un NGINX exemple de fichier de configuration déployé à l'aide de l'image NGINX Docker. Pour plus d'informations, consultez Comment utiliser l'image officielle de NGINX Docker | DevOps ingénieur |
Déployez le fichier manifeste de déploiement de Kubernetes. | Exécutez la commande suivante pour appliquer le fichier manifeste de déploiement à votre EKS cluster Amazon :
| DevOps ingénieur |
Créez le fichier manifeste du service Kubernetes. | Créez un fichier manifeste de service en modifiant le fichier d'exemple suivant en fonction de vos besoins.
Important : Assurez-vous d'avoir inclus les éléments suivants
| DevOps ingénieur |
Déployez le fichier manifeste du service Kubernetes. | Exécutez la commande suivante pour appliquer le fichier manifeste du service à votre EKS cluster Amazon :
| DevOps ingénieur |
Tâche | Description | Compétences requises |
---|---|---|
Enregistrez le nom du Network Load Balancer. | Exécutez la commande suivante pour récupérer le nom du Network Load Balancer :
Enregistrez le nom du Network Load Balancer, qui est nécessaire pour créer un AWS PrivateLink point de terminaison. | DevOps ingénieur |
Créez un AWS PrivateLink point de terminaison. | Connectez-vous à la console AWS de gestion, ouvrez la VPC console Amazon, puis créez un AWS PrivateLink point de terminaison. Associez ce point de terminaison au Network Load Balancer pour mettre l'application à la disposition privée des clients. Pour plus d'informations, consultez VPCEndpoint Services (AWS PrivateLink) dans la VPC documentation Amazon. Important : si le compte client nécessite l'accès à l'application, son AWSidentifiant doit être ajouté à la liste des principaux autorisés pour la configuration du AWS PrivateLink point de terminaison. Pour plus d'informations, consultez la section Ajouter et supprimer des autorisations pour votre service de point de terminaison dans la VPC documentation Amazon. | Administrateur du cloud |
Création d'un point de terminaison VPC | Sur la VPC console Amazon, choisissez Endpoint Services, puis Create Endpoint Service. Créez un VPC point de terminaison pour le AWS PrivateLink point de terminaison. Le nom de domaine complet du VPC point de terminaison (FQDN) pointe vers le AWS PrivateLink point FQDN de terminaison. Cela crée une interface réseau élastique vers le service de VPC point de terminaison à laquelle les DNS points de terminaison peuvent accéder. | Administrateur du cloud |