Utilisation d'Elastic Beanstalk avec Amazon VPC - AWS Elastic Beanstalk

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.

Utilisation d'Elastic Beanstalk avec Amazon VPC

Cette rubrique explique les avantages de l'utilisation des VPC points de terminaison avec Elastic Beanstalk et les différents types de configurations que vous pouvez implémenter.

Vous pouvez utiliser un Amazon Virtual Private Cloud (AmazonVPC) pour créer un réseau sécurisé pour votre application Elastic Beanstalk et les applications associées AWS ressources. Lorsque vous créez votre environnement, vous choisissez quels VPC sous-réseaux et groupes de sécurité sont utilisés pour vos instances d'application et votre équilibreur de charge. Vous pouvez utiliser la VPC configuration de votre choix, à condition qu'elle réponde aux exigences suivantes.

VPCexigences
  • Accès Internet – Les instances peuvent avoir accès à Internet via l'une des méthodes suivantes.

    • Sous-réseau public – Les instances ont une adresse IP publique et utilisent une passerelle Internet pour accéder à Internet.

    • Sous-réseau privé : les instances utilisent un NAT appareil pour accéder à Internet.

    Note

    Si vous configurez des VPCpoints de terminaison VPC pour qu'ils se connectent à la fois aux elasticbeanstalk-health services elasticbeanstalk et, l'accès à Internet est facultatif et n'est requis que si votre application en a spécifiquement besoin. Sans VPC terminaux, vous VPC devez avoir accès à Internet.

    L'option par défaut VPC configurée par Elastic Beanstalk pour vous fournit un accès à Internet.

    Elastic Beanstalk ne prend pas en charge les paramètres de proxy comme HTTPS_PROXY pour la configuration d'un proxy web.

  • NTP— Les instances de votre environnement Elastic Beanstalk utilisent le protocole Network Time NTP Protocol () pour synchroniser l'horloge du système. Si les instances ne peuvent pas communiquer sur le UDP port 123, l'horloge peut être désynchronisée, ce qui peut entraîner des problèmes avec les rapports de santé d'Elastic Beanstalk. Assurez-vous que vos groupes VPC de sécurité et votre réseau ACLs autorisent le UDP trafic entrant et sortant sur le port 123 pour éviter ces problèmes.

Le elastic-beanstalk-samplesréférentiel fournit AWS CloudFormation modèles que vous pouvez utiliser pour créer un VPC modèle à utiliser avec vos environnements Elastic Beanstalk.

Pour créer des ressources à l'aide d'un AWS CloudFormation modèle
  1. Clonez le référentiel d'échantillons ou téléchargez un modèle à l'aide des liens figurant dans le README.

  2. Ouvrez le fichier AWS CloudFormation console.

  3. Sélectionnez Créer la pile.

  4. Choisissez Télécharger un modèle sur Amazon S3.

  5. Choisissez Charger le fichier et chargez le fichier de modèle depuis votre ordinateur local.

  6. Choisissez Suivant et suivez les instructions pour créer une pile avec les ressources dans le modèle.

Lorsque la création de la pile est terminée, consultez l'onglet Sorties pour trouver l'VPCID et le sous-réseauIDs. Utilisez-les pour configurer la catégorie VPC de configuration réseau de l'assistant du nouvel environnement.

Publique VPC

AWS CloudFormation modèle vpc-public.yaml

Paramètres (charge équilibrée)
  • Visibilité de l'équilibreur de charge – Public

  • Sous-réseaux de l'équilibreur de charge – Public pour les deux

  • Adresse IP publique de l'instance – Activée

  • Sous-réseaux de l'instance – Public pour les deux

  • Groupes de sécurité de l'instance – Ajouter le groupe de sécurité par défaut

Paramètres (une seule instance)
  • Sous-réseaux de l'instance – Public pour un des deux

  • Groupes de sécurité de l'instance – Ajouter le groupe de sécurité par défaut

Une VPC disposition publique de base comprend un ou plusieurs sous-réseaux publics, une passerelle Internet et un groupe de sécurité par défaut qui autorise le trafic entre les ressources du. VPC Lorsque vous créez un environnement dans leVPC, Elastic Beanstalk crée des ressources supplémentaires qui varient en fonction du type d'environnement.

VPCressources
  • Instance unique – Elastic Beanstalk crée un groupe de sécurité pour l'instance d'application qui autorise le trafic sur le port 80 depuis Internet, et attribue une adresse IP Elastic à l'instance pour qu'elle soit associée à une adresse IP publique. Le nom de domaine de l'environnement est résolu avec l'adresse IP publique de l'instance.

  • Équilibrage de charge – Elastic Beanstalk crée un groupe de sécurité pour l'équilibreur de charge qui autorise le trafic sur le port 80 depuis Internet, et un groupe de sécurité pour les instances d'application qui autorisent le trafic depuis le groupe de sécurité de l'équilibreur de charge. Le nom de domaine de l'environnement est résolu avec le nom de domaine public de l'équilibreur de charge.

Cela est similaire à la façon dont Elastic Beanstalk gère le réseau lorsque vous utilisez la valeur par défaut. VPC La sécurité d'un sous-réseau public dépend des groupes de sécurité d'instance et d'équilibreur de charge créés par Elastic Beanstalk. Il s'agit de la configuration la moins coûteuse car elle ne nécessite pas de NAT passerelle.

Public/privé VPC

AWS CloudFormation modèle vpc-privatepublic.yaml

Paramètres (charge équilibrée)
  • Visibilité de l'équilibreur de charge – Public

  • Sous-réseaux de l'équilibreur de charge – Public pour les deux

  • Adresse IP publique de l'instance – Désactivée

  • Sous-réseaux de l'instance – Privé pour les deux

  • Groupes de sécurité de l'instance – Ajouter le groupe de sécurité par défaut

Pour plus de sécurité, ajoutez des sous-réseaux privés à votre afin de VPC créer une mise en page public-privé. Cette disposition nécessite un équilibreur de charge et une NAT passerelle dans les sous-réseaux publics, et vous permet d'exécuter vos instances d'application, votre base de données et toute autre ressource dans des sous-réseaux privés. Les instances situées dans des sous-réseaux privés ne peuvent communiquer avec Internet que via l'équilibreur de charge et NAT la passerelle.

Privé VPC

AWS CloudFormation modèle vpc-private.yaml

Paramètres (charge équilibrée)
  • Visibilité de l'équilibreur de charge – Privé

  • Sous-réseaux de l'équilibreur de charge – Les deux sous-réseaux privés

  • Adresse IP publique de l'instance – Désactivée

  • Sous-réseaux de l'instance – Privé pour les deux

  • Groupes de sécurité de l'instance – Ajouter le groupe de sécurité par défaut

Pour les applications internes qui ne doivent pas avoir d’accès depuis Internet, vous pouvez exécuter toutes les applications dans des sous-réseaux privés et configurer l'équilibreur de charge de façon à ce qu'il soit interne (remplacez la valeur de Load balancer visibility (Visibilité de l'équilibreur de charge) par Internal (Interne). Ce modèle crée un réseau VPC sans sous-réseaux publics ni passerelle Internet. Utilisez cette disposition pour les applications qui ne doivent être accessibles qu'à partir d'un support VPC ou d'une pièce jointeVPN.

Exécution d'un environnement Elastic Beanstalk dans un environnement privé VPC

Lorsque vous créez votre environnement Elastic Beanstalk dans VPC un environnement privé, celui-ci n'a pas accès à Internet. Votre application peut avoir besoin d'accéder au service Elastic Beanstalk ou à d'autres services. Votre environnement peut utiliser des rapports d'intégrité améliorés et, dans ce cas, les instances d'environnement envoient des informations d'intégrité au service d'intégrité amélioré. Et le code Elastic Beanstalk sur les instances de l'environnement envoie du trafic vers d'autres AWS services et autres types de trafic destinés à des entités non gouvernementales AWS points de terminaison (par exemple, pour télécharger des packages de dépendances pour votre application). Voici quelques étapes que vous devrez peut-être emprunter dans ce cas, pour vous assurer que votre environnement fonctionne correctement.

  • Configurez les VPC points de terminaison pour Elastic Beanstalk — Elastic Beanstalk et ses points de terminaison de support des services de santé VPC améliorés, qui garantissent que le trafic vers ces services reste sur le réseau Amazon et ne nécessite pas d'accès à Internet. Pour de plus amples informations, veuillez consulter Utilisation d'Elastic Beanstalk avec des points de VPC terminaison.

  • Configuration des VPC points de terminaison pour des services supplémentaires : les instances d'Elastic Beanstalk envoient du trafic vers plusieurs autres AWS services en votre nom : Amazon Simple Storage Service (Amazon S3), Amazon Simple Queue Service (AmazonSQS), AWS CloudFormation, et Amazon CloudWatch Logs. Vous devez également configurer les VPC points de terminaison pour ces services. Pour obtenir des informations détaillées sur les VPC points de terminaison, y compris les liens par service, consultez la section VPCPoints de terminaison dans le guide de l'utilisateur Amazon VPC.

    Note

    Momentanée AWS les services, y compris Elastic Beanstalk, prennent en charge les points de terminaison dans un VPC nombre limité de AWS Régions. Lorsque vous concevez votre VPC solution privée, vérifiez qu'Elastic Beanstalk et les autres services dépendants mentionnés ici prennent en charge les points de terminaison dans VPC AWS Région que vous choisissez.

  • Fournir une image Docker privée – Dans un environnement Docker, le code sur les instances de l'environnement peut essayer d'extraire votre image Docker configurée à partir d'Internet lors de la création de l'environnement et échouer. Pour éviter cet échec, créez une image Docker personnalisée dans votre environnement ou utilisez une image Docker stockée dans Amazon Elastic Container Registry ECR (Amazon) et configurez un VPC point de terminaison pour le service Amazon ECR.

  • Activer DNS les noms — Le code Elastic Beanstalk sur les instances d'environnement envoie du trafic à tous AWS services utilisant leurs points de terminaison publics. Pour garantir le bon acheminement de ce trafic, choisissez l'option Activer le DNS nom lorsque vous configurez tous les VPC points de terminaison de l'interface. Cela ajoute une DNS entrée dans votre fichier VPC qui mappe le point de terminaison du service public au point de VPC terminaison de l'interface.

    Important

    Si vous VPC n'êtes pas privé et que vous disposez d'un accès public à Internet, et si l'option Enable DNS name est désactivée pour un point de VPC terminaison, le trafic vers le service correspondant passe par l'Internet public. Ce n'est probablement pas votre intention. Il est facile de détecter ce problème avec un message privéVPC, car cela empêche ce trafic de passer et vous recevez des erreurs. Cependant, s'il s'agit d'une exposition publiqueVPC, vous n'avez aucune indication.

  • Inclure les dépendances de l'application – Si votre application a des dépendances telles que des packages d'exécution de langage, elle peut essayer de les télécharger et de les installer à partir d'Internet lors de la création de l'environnement et échouer. Pour éviter cet échec, incluez tous les packages de dépendance dans le bundle source de votre application.

  • Utiliser une version de plateforme actuelle – Assurez-vous que votre environnement utilise une version de plateforme qui a été publiée le 24 février 2020 ou plus tard. Plus précisément, utilisez une version de plateforme qui a été publiée avec ou après l'une de ces deux mises à jour : Linux Update 2020-02-28, Windows Update 2020-02-24.

    Note

    La raison pour laquelle une version mise à jour de la plateforme est nécessaire est que les anciennes versions présentaient un problème qui empêchait DNS les entrées créées par l'option Activer le DNS nom de fonctionner correctement pour AmazonSQS.