Charges de travail .NET sur AWS App Runner

MODULE 2

Module 2 : Principes fondamentaux d'AWS App Runner

 MODULE D'APPRENTISSAGE

Objectifs d'apprentissage

Dans ce module, vous allez :

  • Découvrir les principes fondamentaux d'AWS App Runner, notamment ses avantages, ses cas d'utilisation, ses fonctionnalités et son modèle de tarification.
  • Découvrir où trouver de la documentation et d'autres ressources.
  • Vous familiariser avec AWS App Runner dans la console de gestion AWS et découvrir comment créer, gérer et supprimer un service.

AWS App Runner est un service entièrement géré qui permet aux développeurs de déployer facilement et rapidement des applications web et des API conteneurisées, à grande échelle et sans aucune expérience préalable en matière d'infrastructure. Commencez avec votre code source ou une image de conteneur. App Runner crée et déploie automatiquement votre application web, équilibre la charge du trafic avec chiffrement, se met à l'échelle pour répondre à vos besoins, et permet à vos services de communiquer facilement avec les autres applications et services AWS qui s'exécutent dans un Amazon VPC privé. Avec App Runner, plutôt que de penser aux serveurs ou à la mise à l'échelle, vous avez plus de temps pour vous concentrer sur vos applications. 

 Durée

60 minutes 

Présentation d'AWS App Runner

AWS App Runner (ci-après « App Runner ») est un service entièrement géré qui permet aux développeurs de déployer facilement et rapidement des applications web et des API conteneurisées, à grande échelle et sans aucune expérience préalable en matière d'infrastructure. Si vous possédez une application Web ou un service Web, tel qu'un site Web, une API ou un microservice, il est éligible pour App Runner.

App Runner est un service premium pour les applications Web conteneurisées. Quand AWS décrit App Runner comme étant « entièrement géré », ce n'est pas une blague : si vous voulez que chaque détail soit géré pour vous, App Runner est le service qu'il vous faut. Comme AWS Lambda, votre seule responsabilité est de fournir votre code. Comme AWS Lambda, vous n'aurez pas (ou n'aurez pas besoin) de visibilité sur les instances et l'infrastructure EC2 sous-jacentes sur lesquelles s'exécute votre service.

Si vous ne maîtrisez pas les conteneurs, pas d'inquiétude : le processus de déploiement peut créer automatiquement un conteneur pour votre code. Si vous utilisez déjà des conteneurs, vous pouvez apporter vos conteneurs existants. App Runner se chargera de tout le reste : gestion du protocole TLS, mise en place d'un équilibreur de charge, contrôles de surveillance de l'état et mise à l'échelle automatique pour vous. En fait, App Runner gère votre conteneur avec AWS Fargate sur Amazon ECS, mais vous n'aurez jamais à interagir directement avec ces services.

Avantages

App Runner est facile à utiliser, se met automatiquement à l'échelle, permet de gagner du temps et fournit un environnement conforme.

Facilité d'utilisation

Vous pouvez créer et exécuter une application Web à l'échelle sécurisée en quelques clics avec AWS App Runner. Vous n'avez pas besoin d'expérience en matière de conteneurs, d'infrastructure, de configuration de serveurs, de mise en réseau, d'équilibrage de charge ou de pipelines de déploiement.

Se met à l'échelle en fonction du trafic

App Runner augmente et diminue facilement les ressources en fonction du trafic Web. Vous pouvez configurer un nombre minimum d'instances de conteneur pour éliminer les démarrages à froid et garantir une faible latence.

Vous fait gagner du temps

Vous n'aurez pas besoin de perdre du temps à allouer, configurer ou gérer les ressources et l'infrastructure avec App Runner. Les ressources et les composants d'infrastructure sont entièrement gérés par AWS et bénéficient de bonnes pratiques en matière de sécurité et de fonctionnement. Vous pouvez rester entièrement concentré sur votre application

Vous garantit un environnement conforme

Votre application App Runner peut se connecter aux services AWS, tels que les services de base de données, de cache et de file d'attente de messages, via Amazon VPC. Aucun sous-réseau public n'est nécessaire, ce qui vous permet de protéger les ressources de votre VPC.

Cas d'utilisation

Les cas d'utilisation d'AWS App Runner incluent des applications Web frontend et backend, des microservices, des API Web et un déploiement rapide.

Applications web frontend et backend

Vous pouvez héberger des sites Web, des services Web et des API dans App Runner.

Microservices et API

Avec App Runner, vous pouvez exécuter des milliers de microservices simultanément. Cela permet un couplage souple et chaque microservice peut se mettre à l'échelle indépendamment. 

Déploiement rapide

App Runner bénéficie des bonnes pratiques et technologies AWS pour déployer et exécuter vos conteneurs à grande échelle. Cela réduit les délais de mise sur le marché de nouvelles applications et fonctionnalités.

Fonctionnalités

Passons en revue les fonctionnalités du service AWS App Runner :

Connecteur VPC

Les services App Runner peuvent communiquer avec d'autres services AWS fonctionnant dans un Amazon Virtual Private Cloud (VPC) via des connecteurs VPC. Cela vous permet d'ajouter un support pour d'autres services sous le contrôle d'un Amazon VPC.

Auto Scaling

App Runner adapte automatiquement les instances de conteneur à la hausse ou à la baisse pour répondre au trafic, en fonction des contraintes que vous configurez.

Déploiements automatiques

App Runner peut créer et déployer automatiquement votre application lorsqu'elle change. Vous pouvez connecter App Runner à votre référentiel de code ou à un registre d'images de conteneurs tel que ECR. 

Gestion des certificats

App Runner inclut automatiquement le protocole TLS (Transport Layer Security). Aucune configuration n'est requise et les certificats sont automatiquement renouvelés.

Gestion des coûts

Vous pouvez contrôler les coûts en interrompant ou en reprenant facilement les applications via la console de gestion AWS, AWS CLI ou SDK AWS.

Équilibrage de charge

App Runner équilibre automatiquement la charge du trafic, garantissant ainsi fiabilité et haute disponibilité.

Journaux et métriques

Pour permettre la surveillance et l'optimisation de vos applications conteneurisées, App Runner fournit des journaux détaillés de construction, de déploiement et d'exécution. Un ensemble complet de métriques de calcul est également fourni par le biais de l'intégration intégrée à Amazon CloudWatch.

Limitations

App Runner n'est disponible que dans certaines régions, que vous pouvez consulter sur la page des points de terminaison et des quotas d'AWS App Runner. Si vous comptez utiliser App Runner avec d'autres services AWS, tels qu'un service de base de données ou de stockage, vous souhaiterez utiliser des régions qui prennent en charge tous vos services cibles afin qu'ils puissent être localisés au même endroit pour des raisons d'efficacité. Vous devez également prendre en compte les recommandations d'AWS concernant le choix d'une région, telles que la conformité aux réglementations locales et la proximité de l'emplacement de votre base d'utilisateurs.

Pas disponible dans toutes les régions

AWS App Runner n'est pas disponible dans toutes les régions AWS. Vous trouverez les régions actuellement prises en charge sur la page des points de terminaison et des quotas AWS App Runner.

Un conteneur par service

Dans App Runner, un service est associé à un conteneur, et à un seul conteneur. Vous pouvez exécuter plusieurs instances de ce conteneur en fonction du trafic, mais il est impossible de composer un service à partir de plusieurs conteneurs, comme vous pouvez le faire avec ECS ou EKS.

Quotas régionaux

Par défaut, vous pouvez créer un maximum de 10 configurations d'autoscaling, 10 connexions à des ressources tierces, 10 configurations d'observabilité, 10 services et 10 connecteurs VPC par région. Tous ces quotas sont ajustables. Vous pouvez demander une augmentation du quota de service à l'aide de AWS Service Quotes et AWS Support Center.

Modèle de tarification

App Runner facture les ressources de calcul et de mémoire. En outre, le déploiement automatisé et la création à partir du code source peuvent vous être facturés si vous choisissez d'utiliser ces fonctionnalités. Remarque : les taux et les exemples de tarification décrits ici sont basés sur les taux américains en vigueur en mai 2022. N'oubliez pas de consulter la page de tarification pour confirmer les tarifs et les autres détails du modèle de tarification. Notez que les tarifs peuvent varier en fonction de la région.

Lorsque vous créez votre application dans App Runner, vous configurez la quantité de mémoire et de processeur virtuel nécessaires. Un processeur virtuel (vCPU) est une unité de processeur égale à un fil d'un cœur de processeur. Vous spécifiez également la simultanéité, qui détermine le nombre maximum de requêtes simultanées que vos instances de conteneur actives doivent prendre en charge. Lorsque votre application est inactive, vous ne payez que pour la mémoire d'instance de conteneur provisionnée qui permet à votre application de rester active et prête à répondre rapidement à la demande suivante. Lorsque des demandes arrivent, vous payez pour le processeur virtuel et la mémoire consommés par les instances de conteneur actives pendant que votre application traite les demandes. Vous n'êtes facturé que lorsque votre application est en cours d'exécution, et vous pouvez suspendre et reprendre votre application via la console AWS. 

Instances de conteneur allouées

Une fois que vous déployez une application, la mémoire provisionnée dans chaque instance de conteneur vous est facturée. En conservant la mémoire provisionnée même en l'absence de trafic, App Runner s'assure de pouvoir répondre à la demande suivante avec une faible latence.

Au moment de la rédaction de cet article, les instances de conteneurs provisionnées coûtaient 0,007 USD/Go-heure aux États-Unis et en Europe.

Exemple de tarification : imaginez que vous avez déployé une instance de conteneur provisionnée qui nécessite 2 Go de mémoire et qui n'a encore aucun trafic. Cette instance de conteneur provisionnée de 2 Go coûte 1 x 2 Go x 0,007 USD = 0,34 USD par jour.

Instances de conteneur actives

Lorsque votre application traite des demandes, vos frais passent des instances de conteneur provisionnées aux instances de conteneur actives. Les instances de conteneur actives vous facturent les ressources de calcul et toute mémoire au-delà de ce qui est couvert par les instances de conteneur provisionnées.

Les instances de conteneur actives sont facturées au tarif de 0,064 USD/vCPU-heure. Les frais d'instance de conteneur sont facturés à la seconde, avec un minimum d'une minute pour les ressources du vCPU une fois qu'une instance de conteneur provisionnée commence à traiter les demandes.

Déploiements automatiques

Si vous optez pour les déploiements automatiques, les modifications apportées au code source d'une branche de déploiement génèrent des images de conteneur et déclenchent un déploiement. Les déploiements automatiques sont facturés 1 USD par application et par mois.

Frais de création

Vous payez des frais de création lorsque App Runner crée votre application à partir du code source. Le tarif est de 0,005 USD/minute de construction.

Exemple de tarification 1 : Test d'applications

Vous testez votre application pendant 2 heures par jour. Lorsqu'elle est active, votre application reçoit 2 demandes par seconde pendant une période de 2 heures. Votre application nécessite 2 Go de mémoire par instance de conteneur. Vous interrompez le service 22 heures par jour.

Vos frais quotidiens d'instance de conteneur provisionnée sont de 2 heures x 1 instance de conteneur provisionnée x (2 Go x 0,007 Go/heure), soit 0,03 USD. Vous n'êtes facturé que 2 heures par jour car vous suspendez l'application pendant les 22 heures restantes de chaque jour.

Vos frais quotidiens d'instance de conteneur active sont de 2 heures x 1 instance de conteneur active x [(1 vCPU x 0,064 USD par heure de vCPU)] — 2 heures x 1 instance de conteneur provisionnée x (2 Go x 0,007 USD) = 0,13 USD. Votre coût quotidien total est de 0,16 USD, soit 4,80 USD par mois.

Exemple de tarification 2 : API légère

Vous avez déployé une API Web légère sensible à la latence sur une instance de conteneur provisionnée dotée de 2 Go de mémoire. Chaque jour, vous recevez 80 demandes sporadiques sur une période de 8 heures.

App Runner gère l'instance de conteneur provisionnée (mémoire) 24 heures sur 24, facturée 2 Go x 0,007 Go de l'heure, soit 0,34 USD/jour.

App Runners s'adapte à une instance de conteneur active pendant 8 heures par jour lorsque des demandes arrivent. Les instances de conteneur actives sont facturées pour le calcul et la mémoire, moins les frais de mémoire des instances de conteneur provisionnées. La formule est ci-dessous et revient à 0,51 USD/jour.

8 heures × 1 instance de conteneur active × [(1 vCPU × 0,064 USD vCPU-heure) + (2 Go × 0,007 USD Go-heure)] - 8 heures x 1 instance de conteneur allouée x (2 Go × 0,007 USD Go-heure) = 0,51 USD

Les frais quotidiens totaux sont de 0,51 USD (instances de conteneur actives) + 0,34 USD (instances de conteneur provisionnées) = 0,85 USD, soit 25,50 USD par mois.

Exemple de tarification 3 : production en grandes quantités

Vous avez une application Web en production. Chaque instance de conteneur nécessite 2 Go de mémoire et peut traiter 80 requêtes/seconde. Le site est très fréquenté pendant la journée avec des demandes qui culminent à 800 requêtes/seconde pendant 3 heures. Pendant les 12 heures creuses, il y a 60 demandes par seconde. App Runner adapte l'application à 10 instances de conteneur actives aux heures de pointe et à une instance de conteneur active en dehors des heures de pointe. La mémoire d'instance de conteneur provisionnée est facturée 24 heures par jour.

L'instance de conteneur provisionnée (mémoire) est facturée 24 heures sur 24 à 2 Go x 0,007 USD Go par heure, soit 0,34 USD/jour.

Aux heures de pointe, 10 instances de conteneur actives sont nécessaires pour traiter 800 requêtes/seconde pendant 3 heures. Cela correspond à 10 instances de conteneur actives × 3 heures × [(1 vCPU × 0,064 USD vCPU-heure) + (2 Go x 0,007 USD Go-heure)] - 1 instance de conteneur allouée x 3 heures x (2 Go x 0,007 USD Go-heure) = 2,30 USD.

En dehors des périodes de pointe (12 heures), 1 instance de conteneur active gère les 60 requêtes/seconde. Cela correspond à 12 heures × 1 instance de conteneur active × [(1 vCPU × 0,064 USD vCPU-heure) + (2 Go × 0,007 USD Go-heure)] - 12 heures x 1 instance de conteneur allouée x (2 Go × 0,007 USD Go-heure) = 0,77 USD.

Au total, 2,30 USD (instances de conteneur actives en période de pointe) + 0,77 USD (instances de conteneur actives hors période de pointe) + 0,45 USD (instances de conteneur provisionnées quotidiennement) = 3,40 USD par jour, soit 102 USD par mois.

Référence : AWS App Runner | Tarification, processeur virtuel EC2

Flux de travail des développeurs

Dans cette section, vous découvrirez comment les développeurs travaillent avec App Runner. Suivez le processus ci-dessous pour créer un service App Runner pour votre application.

1. Ajouter une source

Au cours de cette étape, vous vous connectez à une image de conteneur ou à votre code source et sélectionnez les paramètres de déploiement. Lorsque vous créez un service App Runner, vous le connectez à une source. La source peut être une image de conteneur ou un référentiel de code source (illustré ci-dessous). Pour un dépôt de code source, tel qu'un dépôt GitHub, vous devez fournir les détails de connexion.

Même si votre application n'est pas conteneurisée, App Runner permet de créer automatiquement une image de conteneur. Lorsque vous associez votre référentiel de code source existant et fournissez éventuellement à App Runner vos commandes de création et de démarrage liées à l'exécution, App Runner conteneurise automatiquement votre application web et fournit une application web en cours d'exécution. La conteneurisation automatique est disponible pour les plateformes App Runner sélectionnées qui contiennent des environnements d'exécution et des frameworks pris en charge.

Référence : AWS App Runner | FAQ

Dans les paramètres de déploiement, vous pouvez choisir de déclencher les déploiements de mise à jour de votre application manuellement ou automatiquement. Si vous activez le déploiement automatique, App Runner créera et déploiera automatiquement votre application chaque fois que vous mettrez à jour votre code source ou votre image de conteneur.

2. Configurer les paramètres de construction et de service

Au cours de cette étape, vous configurez le processeur virtuel et la mémoire de votre conteneur, puis vous sélectionnez les options d'autoscaling et de surveillance de l'état. Si vous avez choisi de déployer à partir d'un référentiel de code source plutôt que d'un registre de conteneurs, vous allez également configurer les paramètres de génération. App Runner utilise ces paramètres par défaut pour vous, mais vous devez les comprendre et connaître les options qui s'offrent à vous pour personnaliser votre configuration.

Vous pouvez choisir de configurer les paramètres dans la console ou de fournir un fichier de configuration YAML dans votre référentiel de code source.

Dans les paramètres du service, vous allez donner un nom à votre service et définir la taille du processeur et de la mémoire de votre conteneur. Ces paramètres ont une incidence sur vos coûts. Vous pouvez également définir ici toutes les variables d'environnement nécessaires à votre application.

Vous pouvez configurer le comportement de mise à l'échelle automatique. La valeur par défaut est une seule instance de votre conteneur. App Runner peut étendre votre service à un plus grand nombre d'instances lorsqu'il reçoit plus de 80 demandes simultanées. Vous pouvez configurer le nombre maximum d'instances, ce qui vous permet de contrôler les coûts.

Les paramètres de surveillance de l'état vous permettent d'identifier un chemin Web sur lequel App Runner peut envoyer des demandes de surveillance de l'état. Par défaut, s'il y a 5 échecs consécutifs à la surveillance de l'état, l'instance est considérée comme défectueuse et App Runner la remplacera. Vous pouvez configurer le nombre de surveillance de l'état qui doivent échouer avant qu'App Runner ne décide que le service est défectueux, de 1 à 20.

Les paramètres de sécurité vous permettent de choisir le rôle IAM que l'instance utilisera. Si votre application a besoin de communiquer avec un autre service AWS, vous l'autorisez dans le rôle IAM. Ces paramètres vous permettent également de fournir éventuellement une clé gérée par le client (CMK) pour chiffrer le code source. 

3. Vérification et création

Au cours de cette étape, vous passez en revue et vérifiez tous vos paramètres. Une fois que vous avez cliqué sur Créer et déployer, App Runner crée votre service et déploie votre application.

4. Recevez une URL sécurisée

Enfin, vous recevez de la part d'AWS App Runner une URL sécurisée de votre service prêt à être utilisé pour la production. Le protocole HTTPS est configuré automatiquement pour vous.

Enfin, vous pouvez associer votre application à un domaine personnalisé si vous en possédez un. Vous serez guidé pour prouver que vous êtes propriétaire du domaine.

Gestion des services App Runner

Vous pouvez créer, déployer et gérer un service App Runner de plusieurs manières.

Console de gestion AWS

Depuis la console de gestion AWS, vous pouvez créer, déployer, configurer, surveiller et résilier les services App Runner. Vous accédez à la console AWS App Runner pour effectuer ces opérations.

Une fois qu'un service a été créé et déployé, vous pouvez sélectionner un service et consulter les détails du service dans les zones suivantes :

Présentation du service

Dans la section Présentation du service, vous pouvez voir le statut de votre application (par exemple, en cours d'exécution), l'URL du domaine par défaut, le Amazon Resource Name (ARN) du service et une URL « source ». Ce dernier vous amène au conteneur dans Amazon Elastic Container Registry (ECR) ou à votre référentiel de code source.

Journaux

Cet onglet affiche vos journaux de déploiement et le journal d'exécution des applications. App Runner recueille les résultats de vos applications et les diffuse vers CloudWatch Logs. Vous pouvez inclure tous les résultats que vous jugez utiles, tels que le détail des demandes adressées à un service Web.

Activité

L'onglet Activité affiche l'historique de votre service. App Runner utilise une liste d'opérations pour suivre l'activité de votre service App Runner. Une opération représente un appel asynchrone à une action d'API, telle que la création d'un service, la mise à jour d'une configuration et le déploiement d'un service.

Métriques

L'onglet Métriques affiche les statistiques de votre service, notamment les demandes, les réponses, la latence et le nombre d'instances actives.

Configuration

L'onglet Configuration affiche les détails de la configuration de votre service, notamment le nombre de processeurs virtuels et de mémoire, la mise à l'échelle automatique, la surveillance de l'état et la sécurité. Cliquez sur Modifier pour modifier votre configuration. Si nécessaire, vous pouvez contrôler le nombre de processeurs virtuels et de mémoire par instance, définir des variables d'environnement, personnaliser la mise à l'échelle automatique, configurer les surveillances de l'état, utiliser un rôle IAM personnalisé ou utiliser une clé de chiffrement personnalisée.

Surveillance et journalisation

La surveillance de votre application App Runner est essentielle pour maintenir la fiabilité, la disponibilité et les performances. Le recueil de données de surveillance à partir de tous les composants de votre solution AWS facilite le débogage en cas d'échec. App Runner recueille les journaux des applications à partir de votre code. Il s'intègre également à plusieurs services AWS pour surveiller les incidents de service et y répondre.

Alarmes Amazon CloudWatch

Vous pouvez utiliser les alarmes Amazon CloudWatch pour surveiller une métrique de service et recevoir une notification si les conditions que vous spécifiez sont remplies. Vous pouvez suivre une métrique de service sur une période donnée et définir un seuil pour recevoir une notification si la métrique dépasse le seuil pendant un certain nombre de périodes. Par exemple, vous pouvez être alerté lorsque l'utilisation du processeur dépasse 60 %.

Référence : Affichage des statistiques de service App Runner communiquées à CloudWatch

Journaux d'applications

App Runner recueille la sortie du code de votre application et la diffuse vers Amazon CloudWatch Logs. C'est vous qui décidez des éléments que vous souhaitez connecter à votre application, par exemple pour demander des informations à un service Web. Vous pouvez consulter ces journaux dans la console App Runner. Si vous utilisez Visual Studio, vous pouvez consulter les journaux CloudWatch depuis l'IDE si vous avez installé AWS Toolkit pour Visual Studio. 

Journaux d'action AWS CloudTrail

AWS CloudTrail enregistre les appels d'API relatifs aux services AWS et les suit en tant qu'événements. Vous pouvez consulter les événements dans la console AWS et, si vous le souhaitez, configurer les événements pour qu'ils soient écrits en continu dans un compartiment Amazon S3.

Référence : journaux CloudWatch, métriques CloudWatch, actions de l'API CloudTrail

Outil de déploiement AWS pour .NET

 L'outil de déploiement AWS pour .NET est un outil interactif pour l'interface de ligne de commande .NET et le AWS Toolkit pour Visual Studio qui permet de déployer des applications .NET avec un minimum de connaissances AWS et avec un minimum de clics ou de commandes. L'outil vous guide tout au long du déploiement. Vous pouvez créer et publier des applications Web .NET sur AWS App Runner à l'aide de cet outil à l'aide d'une seule commande, dotnet aws deploy.

Si vous utilisez Visual Studio comme IDE et que l'AWS Toolkit pour Visual Studio est installé, vous pouvez bénéficier de cette même fonctionnalité de déploiement guidé dans Visual Studio. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur votre projet et sélectionnez Publier sur AWS. Les pages de l'assistant vous guideront tout au long du déploiement

AWS Copilot

AWS Copilot est une interface de ligne de commande (CLI) open source qui peut être déployée sur AWS App Runner ainsi que sur Amazon ECS et AWS Fargate avec des pipelines de génération gérés. Copilot utilise Amazon CloudFormation en arrière-plan. Copilot peut être utilisé avec .NET ainsi qu'avec les applications Python et Node.js. 

En tant que développeur .NET, vous souhaiterez probablement utiliser Déploiement AWS pour .NET CLI pour déployer sur AWS App Runner à partir de la ligne de commande, mais vous pouvez choisir AWS Copilot si vous avez également des applications autres que .NET à déployer.

Voici à quoi cela ressemble lorsque vous déployez App Runner à l'aide de Copilot :

AWS CLI

L'interface de ligne de commande AWS contient des commandes permettant d'afficher et de gérer vos services AWS App Runner. Vous pouvez créer, répertorier et décrire des services et des artefacts connexes tels que des connecteurs VPC et des domaines personnalisés. Vous pouvez afficher et définir les paramètres de configuration. Vous pouvez commencer les déploiements. Vous pouvez suspendre ou reprendre les applications. Vous pouvez supprimer des services.

Connexion à d'autres services AWS

Par défaut, un service App Runner ne peut envoyer des messages qu'à des points de terminaison, tels que des sites Web publics et des services Web. Si votre application doit s'intégrer à d'autres services AWS sans passer par Internet, tels qu'une base de données Amazon RDS, une base de données Amazon DynamoDB ou Amazon ElastiCache, vous pouvez utiliser un connecteur VPC. Bien que vous n'ayez généralement pas besoin de comprendre l'infrastructure AWS pour utiliser App Runner, vous devez avoir une connaissance approfondie du Amazon Virtual Private Cloud (VPC), des sous-réseaux et de la sécurité pour utiliser les connecteurs VPC. Vous pouvez acquérir une compréhension de base des termes en lisant Qu'est-ce qu'Amazon VPC ? et comment fonctionne Amazon VPC.

Connecteurs VPC

Un connecteur VPC associe votre service App Runner à un VPC. Le connecteur VPC ne représente que la moitié de la connexion. Pour accéder à un autre service AWS, celui-ci doit également disposer d'une connexion au VPC. L'un des moyens d'y parvenir est d'utiliser un point de terminaison d'un VPC, une connexion privée ne nécessitant pas d'accès à Internet. Par exemple, le schéma ci-dessous montre une connexion entre un service App Runner et une base de données DynamoDB. Un connecteur VPC pour App Runner et un point de terminaison d'un VPC pour DynamoDB sont les deux liens vers le VPC qui permettent la communication. 

Vous pouvez configurer un connecteur VPC lorsque vous créez un service App Runner. Pour configurer un connecteur VPC, vous devez spécifier les éléments suivants :

  1. Le VPC auquel vous souhaitez vous connecter, tel que votre VPC par défaut
  2. .Les sous-réseaux à sélectionner. Pour une haute disponibilité, vous devez sélectionner des sous-réseaux dans au moins 3 zones de disponibilité.
  3. Il s'agit d'un groupe de sécurité par défaut.

Vous devez consulter l'expert en sécurité de votre organisation lors de la configuration des connecteurs VPC ou des points de terminaison d'un VPC.

Points de terminaison d'un VPC

Un point de terminaison d'un VPC vous permet de connecter en privé votre VPC aux services AWS pris en charge sans avoir besoin d'une passerelle Internet, d'un appareil NAT ou d'une connexion VPN. Les instances de votre VPC n'ont pas besoin d'adresses IP publiques pour communiquer avec les ressources du service. Le trafic entre votre VPC et l'autre service ne quitte pas le réseau Amazon.

Pour en savoir plus sur les points de terminaison d'un VPC, consultez le guide cadre AWS Well-Architected et les concepts AWS PrivateLink.

Vous pouvez créer un point de terminaison d'un VPC dans la console AWS en accédant à VPC > Endpoints et en cliquant sur Créer un point de terminaison. Pour créer un point de terminaison pour un service AWS, sélectionnez la catégorie Services AWS, puis recherchez et sélectionnez le service auquel vous souhaitez vous connecter.

Documentation et ressources

Ajoutez ces ressources à vos favoris, que vous souhaiterez utiliser à des fins de référence et d'apprentissage :

Les pages détaillées du produit AWS App Runner fournissent une présentation des services, des fonctionnalités, des tarifs, des ressources et des FAQ.

La page de documentation d'AWS App Runner contient des liens vers des ressources pour les développeurs, notamment le guide du développeur App Runner, la référence de l'interface de ligne de commande AWS, des didacticiels, des vidéos et des blogs.

Le guide du développeur d'AWS App Runner décrit l'architecture, le déploiement et l'observabilité.

La référence des commandes apprunner de l'AWS CLI. À partir de l'interface de ligne de commande AWS, vous pouvez créer des services, effectuer des déploiements manuels et répertorier l'état des services.

L'atelier Créer et déployer une application d'API Web Microsoft .NET Core sur AWS App Runner à l'aide de CloudFormation explique comment créer une application d'API Web Microsoft .NET avec une base de données Amazon Aurora avec App Runner.

La vidéo du webinaire AWS App Runner : Deep Dive est une présentation technique et une démonstration.

AWS App Runner : du code à une application web pouvant être mise à l'échelle et sécurisée en quelques minutes est un blog de Martin Beeby proposant une présentation détaillée.

Principaux points à retenir

Vous devriez maintenant être en mesure de présenter les avantages, les cas d'utilisation, les fonctionnalités et le modèle de tarification d'AWS App Runner.

Vous avez appris les quatre étapes du flux de travail des développeurs.

Vous avez appris à gérer les instances d'App Runner dans la console AWS, à utiliser les options de surveillance et de journalisation et à utiliser divers outils de ligne de commande.

Vous avez appris comment les connecteurs VPC et les points de terminaison d'un VPC fonctionnent ensemble pour connecter AWS App Runner à d'autres services AWS.

Pour les charges de travail .NET, le moyen le plus simple d'utiliser App Runner est d'utiliser des images de conteneur comme source. Lorsque vous utilisez des sources de référentiel de code, l'installation de .NET sur des instances nécessite un travail supplémentaire.

Conclusion

Dans ce module, vous avez appris les principes fondamentaux d'AWS App Runner. Dans la présentation du service, vous avez passé en revue les avantages, les cas d'utilisation, les fonctionnalités, les limites et le modèle de tarification d'App Runner. Vous avez découvert le flux de travail des développeurs et ce que vous pouvez configurer. Vous avez appris à gérer un service App Runner à partir de la console de gestion AWS et de divers outils.

Cette page vous a-t-elle été utile ?

Atelier pratique