Activation de l'accès VPC pour le trafic sortant - AWS App Runner

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.

Activation de l'accès VPC pour le trafic sortant

Par défaut, votre AWS App Runner application peut envoyer des messages aux points de terminaison publics. Cela inclut vos propres solutions et tout autre site Web ou service Web public. Services AWS Votre application peut même envoyer des messages aux points de terminaison publics des applications qui s'exécutent dans un VPC depuis Amazon Virtual Private Cloud (Amazon VPC). Si vous ne configurez pas de VPC lorsque vous lancez votre environnement, App Runner utilise le VPC par défaut, qui est public.

Vous pouvez choisir de lancer votre environnement dans un VPC personnalisé afin de personnaliser les paramètres réseau et de sécurité pour le trafic sortant. Vous pouvez activer votre AWS App Runner service pour accéder aux applications qui s'exécutent dans un VPC privé depuis Amazon Virtual Private Cloud (Amazon VPC). Ensuite, votre application peut se connecter et envoyer des messages à d'autres applications hébergées dans un Amazon Virtual Private Cloud (Amazon VPC). Il s'agit par exemple d'une base de données Amazon RDS ElastiCache, d'Amazon et d'autres services privés hébergés dans un VPC privé.

Connecteur VPC

Vous pouvez associer votre service à un VPC en créant un point de terminaison VPC à partir de la console App Runner, appelé connecteur VPC. Pour créer un connecteur VPC, spécifiez le VPC, un ou plusieurs sous-réseaux et éventuellement un ou plusieurs groupes de sécurité. Après avoir configuré un connecteur VPC, vous pouvez l'utiliser avec un ou plusieurs services App Runner.

Latence unique

Si vous configurez votre service App Runner avec un connecteur VPC personnalisé pour le trafic sortant, il peut connaître une latence de démarrage unique de deux à cinq minutes. Le processus de démarrage attend que le connecteur VPC soit prêt à se connecter à d'autres ressources avant de définir l'état du service sur En cours d'exécution. Vous pouvez configurer un service avec un connecteur VPC personnalisé lorsque vous le créez pour la première fois, ou vous pouvez le faire ultérieurement en effectuant une mise à jour du service.

Notez que si vous réutilisez la même configuration de connecteur VPC pour un autre service, il n'y aura aucune latence. La configuration du connecteur VPC est basée sur la combinaison du groupe de sécurité et du sous-réseau. Pour une configuration de connecteur VPC donnée, la latence ne se produit qu'une seule fois, lors de la création initiale des ENI (interfaces réseau élastiques) hyperplane du connecteur VPC.

En savoir plus sur les connecteurs VPC personnalisés et Hyperplane AWS

Les connecteurs VPC d'App Runner sont basés sur AWS Hyperplane, le système réseau interne d'Amazon à l'origine de plusieurs AWS ressources, telles que Network Load Balancer, NAT Gateway et AWS. PrivateLink La technologie AWS Hyperplane fournit des capacités de débit élevé et de faible latence, ainsi qu'un degré de partage plus élevé. Un ENI Hyperplane est créé dans vos sous-réseaux lorsque vous créez un connecteur VPC et que vous l'associez à votre service. La configuration d'un connecteur VPC est basée sur une combinaison de groupe de sécurité et de sous-réseau, et vous pouvez référencer le même connecteur VPC sur plusieurs services App Runner. Par conséquent, les ENI Hyperplane sous-jacents sont partagés entre vos services App Runner. Ce partage est possible, même si vous augmentez le nombre de tâches requises pour gérer la charge de demandes, et permet une utilisation plus efficace de l'espace IP de votre VPC. Pour plus d'informations, consultez la section Présentation détaillée de la mise en réseau VPC d'AWS App Runner sur le blog AWS Container.

Sous-réseau

Chaque sous-réseau se trouve dans une zone de disponibilité spécifique. Pour une haute disponibilité, nous vous recommandons de sélectionner des sous-réseaux dans au moins trois zones de disponibilité. Si la région compte moins de trois zones de disponibilité, nous vous recommandons de sélectionner vos sous-réseaux dans toutes les zones de disponibilité prises en charge.

Lorsque vous sélectionnez un sous-réseau pour votre VPC, assurez-vous de choisir un sous-réseau privé et non un sous-réseau public. En effet, lorsque vous créez un connecteur VPC, le service App Runner crée une ENI Hyperplane dans chacun des sous-réseaux. Chaque ENI Hyperplane se voit attribuer une adresse IP privée uniquement et est étiquetée avec une étiquette de AWSAppRunnerManagedclé. Si vous choisissez un sous-réseau public, des erreurs se produiront lors de l'exécution de votre service App Runner. Toutefois, si votre service a besoin d'accéder à certains services disponibles sur Internet ou accessibles au public Services AWS, consultezConsidérations relatives à la sélection d'un sous-réseau .

Considérations relatives à la sélection d'un sous-réseau

  • Lorsque vous connectez votre service à un VPC, le trafic sortant n'a pas accès à l'Internet public. Tout le trafic sortant de votre application est dirigé via le VPC auquel votre service est connecté. Toutes les règles de mise en réseau du VPC s'appliquent au trafic sortant de votre application. Cela signifie que vos services ne peuvent pas accéder à l'Internet public et aux AWS API. Pour y accéder, effectuez l'une des opérations suivantes :

    • Connectez les sous-réseaux à Internet via une passerelle NAT.

    • Configurez les points de terminaison VPC Services AWS auxquels vous souhaitez accéder. Votre service reste dans le cadre d'Amazon VPC en utilisant. AWS PrivateLink

  • Certaines zones de disponibilité Régions AWS ne prennent pas en charge les sous-réseaux qui peuvent être utilisés avec les services App Runner. Si vous choisissez des sous-réseaux dans ces zones de disponibilité, votre service ne sera ni créé ni mis à jour. Dans ces situations, App Runner fournit un message d'erreur détaillé pointant vers les sous-réseaux et les zones de disponibilité non pris en charge. Dans ce cas, résolvez le problème en supprimant les sous-réseaux non pris en charge de votre demande, puis réessayez.

Groupe de sécurité

Vous pouvez éventuellement spécifier les groupes de sécurité auxquels App Runner accède AWS sous les sous-réseaux spécifiés. Si vous ne spécifiez aucun groupe de sécurité, App Runner utilise le groupe de sécurité par défaut du VPC. Le groupe de sécurité par défaut autorise tout le trafic sortant.

L'ajout d'un groupe de sécurité fournit une couche de sécurité supplémentaire aux connecteurs VCP, vous permettant ainsi de mieux contrôler le trafic réseau. Le connecteur VPC est uniquement utilisé pour les communications sortantes depuis votre application. Vous utilisez des règles de sortie pour autoriser les communications vers les points de terminaison de destination souhaités. Vous devez également vous assurer que tous les groupes de sécurité associés à la ressource de destination disposent des règles entrantes appropriées. Dans le cas contraire, ces ressources ne peuvent pas accepter le trafic provenant des groupes de sécurité du connecteur VPC.

Note

Lorsque vous associez votre service à un VPC, le trafic suivant n'est pas affecté :

  • Trafic entrant : les messages entrants reçus par votre application ne sont pas affectés par un VPC associé. Les messages sont acheminés via le nom de domaine public associé à votre service et n'interagissent pas avec le VPC.

  • Trafic d'App Runner : App Runner gère plusieurs actions en votre nom, telles que l'extraction du code source et des images, le transfert de journaux et la récupération de secrets. Le trafic généré par ces actions n'est pas acheminé via votre VPC.

Pour en savoir plus sur le mode d' AWS App Runner intégration avec Amazon VPC, consultez AWS App Runner VPC Networking.

Note

Pour le trafic sortant, App Runner ne prend actuellement en charge que l'IPv4.

Gérer l'accès au VPC

Note

Si vous créez un connecteur VPC pour le trafic sortant pour un service, le processus de démarrage du service qui suit connaîtra une latence unique. Vous pouvez définir cette configuration pour un nouveau service lorsque vous le créez, ou ultérieurement, avec une mise à jour du service. Pour plus d'informations, consultez le Latence unique chapitre de ce guide consacré à la mise en réseau avec App Runner.

Gérez l'accès VPC pour vos services App Runner à l'aide de l'une des méthodes suivantes :

App Runner console

Lorsque vous créez un service à l'aide de la console App Runner, ou lorsque vous mettez à jour sa configuration ultérieurement, vous pouvez choisir de configurer votre trafic sortant. Consultez la section Configuration réseau sur la page de la console. Pour le trafic réseau sortant, choisissez l'une des options suivantes :

  • Accès public : pour associer votre service à des points de terminaison publics ou à d'autres Services AWS.

  • VPC personnalisé : pour associer votre service à un VPC d'Amazon VPC. Votre application peut se connecter et envoyer des messages à d'autres applications hébergées dans un Amazon VPC.

Pour activer le VPC personnalisé
  1. Ouvrez la console App Runner, puis dans la liste des régions, sélectionnez votre Région AWS.

  2. Accédez à la section Réseau sous Configurer le service.

    Page de configuration de la console App Runner présentant les options réseau
  3. Choisissez VPC personnalisé, pour le trafic réseau sortant.

  4. Dans le volet de navigation, choisissez le connecteur VPC.

    Si vous avez créé les connecteurs VPC, la console affiche la liste des connecteurs VPC de votre compte. Vous pouvez choisir un connecteur VPC existant et choisir Next pour revoir votre configuration. Passez ensuite à la dernière étape. Vous pouvez également ajouter un nouveau connecteur VPC en procédant comme suit.

  5. Choisissez Ajouter pour créer un nouveau connecteur VPC pour votre service.

    La boîte de dialogue Ajouter un nouveau connecteur VPC s'ouvre ensuite.

    Console App Runner affichant la boîte de dialogue Ajouter un nouveau connecteur VPC
  6. Entrez un nom pour votre connecteur VPC et sélectionnez le VPC requis dans la liste disponible.

  7. Pour les sous-réseaux, sélectionnez un sous-réseau pour chaque zone de disponibilité à partir de laquelle vous prévoyez d'accéder au service App Runner. Pour une meilleure disponibilité, choisissez trois sous-réseaux. Ou, s'il existe moins de trois sous-réseaux, choisissez tous les sous-réseaux disponibles.

    Note

    Assurez-vous d'attribuer des sous-réseaux privés au connecteur VPC. Si vous attribuez des sous-réseaux publics au connecteur VPC, votre service ne parvient pas à être créé ou est annulé automatiquement lors d'une mise à jour.

  8. (Facultatif) Pour Groupe de sécurité, sélectionnez les groupes de sécurité à associer aux interfaces réseau des terminaux.

  9. (Facultatif) Pour ajouter une identification, choisissez Add new tag (Ajouter une identification) et saisissez la clé et la valeur de l’identification.

  10. Choisissez Ajouter.

    Les détails du connecteur VPC que vous avez créé apparaissent sous Connecteur VPC.

  11. Choisissez Suivant pour vérifier votre configuration, puis choisissez Créer et déployer.

    App Runner crée une ressource de connecteur VPC pour vous, puis l'associe à votre service. Si le service est créé avec succès, la console affiche le tableau de bord du service, avec une vue d'ensemble du nouveau service.

App Runner API or AWS CLI

Lorsque vous appelez les actions CreateServiceou UpdateServicel'API App Runner, utilisez le EgressConfiguration membre du NetworkConfiguration paramètre pour spécifier une ressource de connecteur VPC pour votre service.

Utilisez les actions d'API App Runner suivantes pour gérer les ressources de votre connecteur VPC.

  • CreateVpcConnector— Crée un nouveau connecteur VPC.

  • ListVpcConnectors— Renvoie la liste des connecteurs VPC associés à votre. Compte AWS La liste inclut des descriptions complètes.

  • DescribeVpcConnector— Renvoie une description complète d'un connecteur VPC.

  • DeleteVpcConnector— Supprime un connecteur VPC. Si vous atteignez le quota de connecteurs VPC pour votre Compte AWS, il se peut que vous deviez supprimer des connecteurs VPC inutiles.

Pour déployer une application sur App Runner disposant d'un accès sortant à un VPC, vous devez d'abord créer un connecteur VPC. Vous pouvez le faire en spécifiant un ou plusieurs sous-réseaux et groupes de sécurité à associer à l'application. Vous pouvez ensuite référencer le connecteur VPC dans Create ou UpdateServicevia la CLI, comme illustré dans l'exemple suivant :

cat > vpc-connector.json <<EOF { "VpcConnectorName": "my-vpc-connector", "Subnets": [ "subnet-a", "subnet-b", "subnet-c" ], "SecurityGroups": [ "sg-1", "sg-2" ] } EOF aws apprunner create-vpc-connector \ --cli-input-json file:///vpc-connector.json cat > service.json <<EOF { "ServiceName": "my-vpc-connected-service", "SourceConfiguration": { "ImageRepository": { "ImageIdentifier": "<ecr-image-identifier> ", "ImageConfiguration": { "Port": "8000" }, "ImageRepositoryType": "ECR" } }, "NetworkConfiguration": { "EgressConfiguration": { "EgressType": "VPC", "VpcConnectorArn": "arn:aws:apprunner:..../my-vpc-connector" } } } EOF aws apprunner create-service \ --cli-input-json file:///service.js