AWSProton Guide de l'utilisateur - Guide de l'utilisateur
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
AWSProton Guide de l'utilisateur
AWSProton Guide de l'utilisateur AWSProton: Guide de l'utilisateur Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Les marques commerciales et la présentation commerciale d'Amazon ne peuvent pas être utilisées en relation avec un produit ou un service extérieur à Amazon, d'une manière susceptible d'entraîner une confusion chez les clients, ou d'une manière qui dénigre ou discrédite Amazon. Toutes les autres marques commerciales qui ne sont pas la propriété d'Amazon sont la propriété de leurs propriétaires respectifs, qui peuvent ou non être affiliés ou connectés à Amazon, ou sponsorisés par Amazon.
AWSProton Guide de l'utilisateur Table of Contents Présentation d'AWSProton ................................................................................................................... 1 AWSProton pour les développeurs ................................................................................................ 1 Configuration de ................................................................................................................................. 3 Configuration d'avec IAM ............................................................................................................. 3 S'inscrire à AWS ................................................................................................................ 3 Créer un utilisateur IAM ....................................................................................................... 3 Configuration avecAWSProton ...................................................................................................... 4 Configuration d'une connexion au référentiel ........................................................................... 4 Configuration d'avec l'AWS CLI ............................................................................................ 5 Démarrage avecAWSProton ................................................................................................................. 6 Prerequisites .............................................................................................................................. 6 Mise en route avec la console ...................................................................................................... 6 Étape 1 : Configurer un exemple de référentiel source .............................................................. 6 Étape 2 : Création d'un service ............................................................................................. 7 Étape 3 : Modifier un service ................................................................................................ 7 Étape 4 : Suppression d'un service ........................................................................................ 8 Démarrage avec l'interface de ligne de commande .......................................................................... 8 AWSServices Proton ........................................................................................................................... 9 Création .................................................................................................................................... 9 Modèles de service ............................................................................................................. 9 Création d'un service ......................................................................................................... 10 Vue ......................................................................................................................................... 13 Modifier ................................................................................................................................... 14 Modifier la description du service ........................................................................................ 15 Ajouter ou supprimer des instances de service ...................................................................... 16 Delete ..................................................................................................................................... 20 Afficher les instances ................................................................................................................ 21 Update .................................................................................................................................... 22 Mettre à jour une ...................................................................................................................... 25 Surveillance ..................................................................................................................................... 30 AutomationAWSProton avec EventBridge ..................................................................................... 30 Types d'événements .......................................................................................................... 30 AWSExemples d'événements Proton ................................................................................... 32 Tutoriel Event Bridge : Envoyer des alertes Amazon Simple Notification Service pourAWSChangements d'état du service Proton ............................................................................ 33 Prerequisites .................................................................................................................... 33 Étape 1 : Créer et s'abonner à une rubrique Amazon SNS ...................................................... 33 Étape 2 : Enregistrer une règle d'événement ......................................................................... 34 Étape 3 : Testez la règle de votre événement ........................................................................ 34 Étape 4 : Nettoyage ........................................................................................................... 35 Sécurité ........................................................................................................................................... 37 Identity and Access Management ................................................................................................ 37 Audience ......................................................................................................................... 38 Authentification avec des identités ....................................................................................... 38 Gestion de l'accès à l'aide de stratégies ............................................................................... 40 Fonctionnement d'AWS Proton avec IAM ............................................................................. 42 Exemples de stratégies ...................................................................................................... 47 politiques gérées par AWS ................................................................................................. 54 Dépannage ...................................................................................................................... 57 Configuration et analyse des vulnérabilités ................................................................................... 59 Protection des données ............................................................................................................. 60 Chiffrement côté serveur au repos ....................................................................................... 60 Chiffrement en transit ........................................................................................................ 61 AWS Protongestion des clés de chiffrement .......................................................................... 61 iii
AWSProton Guide de l'utilisateur Contexte de chiffrement AWS Proton ................................................................................... 61 Sécurité de l'infrastructure .......................................................................................................... 62 Points de terminaison d'un V ( AWS PrivateLink ) .................................................................. 62 Journalisation et surveillance ...................................................................................................... 64 Résilience ................................................................................................................................ 64 AWSSauvegardes Proton ................................................................................................... 65 Bonnes pratiques de sécurité ..................................................................................................... 65 Utilisation du contrôle d'accès IAM ...................................................................................... 65 N'incorporez pas d'informations d'identification dans vos modèles et packs de modèles ................ 65 Utiliser le chiffrement pour protéger les données sensibles ...................................................... 66 UtiliserAWS CloudTrailPour afficher et journaliser les appels API .............................................. 66 Balisage .......................................................................................................................................... 67 AWStagging ............................................................................................................................. 67 AWSBalisage Proton ................................................................................................................. 67 AWSProtonAWSBalises gérées ........................................................................................... 68 Balise gérée par le client ................................................................................................... 69 Créez des balises en utilisant la console .............................................................................. 69 Créez des balises en utilisant leAWSProtonAWS CLI ............................................................. 70 AWSQuotas de Proton ...................................................................................................................... 71 Historique du document ..................................................................................................................... 72 Glossaire AWS ................................................................................................................................. 73 .................................................................................................................................................... lxxiv iv
AWSProton Guide de l'utilisateur AWSProton pour les développeurs Présentation d'AWSProton ? AWSProton est : • Provisionnement automatisé de l'infrastructure et déploiement d'applications sans serveur et de conteneurs LeAWSLe service Proton est un cadre d'automatisation à deux volets. Les administrateurs créent versionnésModèle de servicequi définissent une infrastructure standardisée et des outils de déploiement pour les applications sans serveur et basées sur conteneur. Ensuite, vous pouvez sélectionner l'un desModèle de servicepour automatiser vos déploiements d'applications ou de services. AWSProton identifie tous lesInstances de servicequi utilisent unModèleversion pour vous. En tant que développeur, vous pouvez demanderAWSProton pour mettre à jour uneInstance de serviceà la dernière version d'Modèle de service. • Infrastructure normalisée Les équipes de plateforme peuvent utiliserAWSProton et modèles d'infrastructure sous forme de code versionnés pour définir et gérer les piles d'applications standard contenant l'architecture, les ressources d'infrastructure et le pipeline de déploiement de logiciels CI/CD. • Déploiement intégrés avec CI/CD Lorsque les développeurs utilisent leAWSInterface en libre-service Proton pour sélectionner unModèle de service, ils sélectionnent une définition de pile d'applications standardisée pour leurs déploiements de code.AWS Proton provisionne automatiquement les ressources, configure le pipeline CI/CD et déploie le code dans l'infrastructure définie. AWSProton pour les développeurs En tant que développeur, vous sélectionnez unModèle de servicethatAWSProton utilise pour créer uneServicequi déploie et gère votre application dans unInstance de service. UnAWSProtonServiceest une instanciation d'unModèle de service, qui comprend normalement plusieursInstances de serviceet unpipeline. Le schéma suivant est une visualisation de l'AWSConcepts de Proton discutés dans le paragraphe précédent. Il offre également un aperçu général d'uneAWSFlux de travail Proton. 1
AWSProton Guide de l'utilisateur AWSProton pour les développeurs En tant queAdministrateur, vous créez et enregistrez uneModèle d'environnementavecAWSProton, qui définit les ressources partagées. AWSProton déploie une ou plusieursEnvironnements, basé sur unModèle d'environnement. En tant queAdministrateur, vous créez et enregistrez uneModèle de serviceavecAWSProton, qui définit l'infrastructure connexe, la surveillance et les ressources CI/CD ainsi queModèle d'environnement. En tant queDéveloppeurs, vous sélectionnez unModèle de serviceet fournissez un lien vers votreCode sourcerepository. AWSProton déploie l'Serviceavec unPipeline CI/CDpour vosInstances de service. AWSProton déploie et gère leServiceet l'Instances de servicequi exécutent leCode sourcetel qu'il a été défini dans laModèle de service. AInstance de serviceest une instanciation de laModèle de servicedans unEnvironnementpour une seule étape d'unPipeline(par exemple Prod). 2
AWSProton Guide de l'utilisateur Configuration d'avec IAM Configuration de Effectuez les tâches de cette section afin que vous puissiez créerAWSProton pour déployer vos applications. Rubriques • Configuration d'avec IAM (p. 3) • Configuration avecAWSProton (p. 4) Configuration d'avec IAM Lorsque vous créez un compteAWS, vosAWSest automatiquement inscrit à tous les services dansAWS, y comprisAWSProton. Seuls les services et les ressources que vous utilisez vous sont facturés. Note Vous et votre équipe, y compris les administrateurs et les développeurs, devez tous être sous le même compte. S'inscrire à AWS Si vous n'avez pas de compte Compte AWS , procédez comme suit pour en créer un. Pour s'inscrire à un Compte AWS 1. Ouvrez https://portal.aws.amazon.com/billing/signup. 2. Suivez les instructions en ligne. Dans le cadre de la procédure d'inscription, vous recevrez un appel téléphonique et vous saisirez un code de vérification en utilisant le clavier numérique du téléphone. Créer un utilisateur IAM Pour créer un administrateur pour vous-même et ajouter l'utilisateur à un groupe d'administrateurs (console) 1. Connectez-vous à la console IAM en tant que propriétaire du compte en choisissant Root user (Utilisateur racine) et en saisissant l'adresse e-mail de votre Compte AWS . Sur la page suivante, saisissez votre mot de passe. Note Nous vous recommandons vivement de respecter la bonne pratique qui consiste à avoir recours à l'utilisateur IAM Administrator suivant et protéger les informations d'identification de l'utilisateur racine. Connectez-vous en tant qu'utilisateur racine pour effectuer certaines tâches de gestion des comptes et des services. 2. Dans le panneau de navigation, choisissez Utilisateurs, puis Add user (Ajouter un utilisateur). 3. Dans User name (Nom d'utilisateur), entrez Administrator. 3
AWSProton Guide de l'utilisateur Configuration avecAWSProton 4. Cochez la case à côté de AWS Management Console access (accès à la console). Puis, sélectionnez Custom password (Mot de passe personnalisé, et entrez votre nouveau mot de passe dans la zone de texte. 5. (Facultatif) Par défaut, AWS oblige le nouvel utilisateur à créer un nouveau mot de passe lors de sa première connexion. Décochez la case en regard de User must create a new password at next sign-in (L'utilisateur doit créer un nouveau mot de passe à sa prochaine connexion) pour autoriser le nouvel utilisateur à réinitialiser son mot de passe une fois qu'il s'est connecté. 6. Choisissez Next (Suivant) Permissions (Autorisations). 7. Sous Set permissions (Accorder des autorisations), choisissez Add user to group (Ajouter un utilisateur au groupe). 8. Choisissez Create group. 9. Dans la boîte de dialogue Create group (Créer un groupe), pour Group name (Nom du groupe), tapez Administrators. 10. Choisissez Filter policies (Filtrer les stratégies), puis sélectionnez AWS managed - job function (Fonction professionnelle gérée par AWS) pour filtrer le contenu de la table. 11. Dans la liste des stratégies, cochez la case AdministratorAccess. Choisissez ensuite Create group. Note Vous devez activer l'accès des rôles et utilisateurs IAM à la facturation avant de pouvoir utiliser les autorisations AdministratorAccess pour accéder à la console AWS Billing and Cost Management. Pour ce faire, suivez les instructions de l'étape 1 du didacticiel portant sur comment déléguer l'accès à la console de facturation. 12. De retour dans la liste des groupes, activez la case à cocher du nouveau groupe. Choisissez Refresh si nécessaire pour afficher le groupe dans la liste. 13. Choisissez Next (Suivant) Tags (Balises). 14. (Facultatif) Ajoutez des métadonnées à l'utilisateur en associant les balises sous forme de paires clé-valeur. Pour de plus amples informations sur l'utilisation des balises dans IAM, veuillez consulter Balisage des utilisateurs et des rôles IAM dans le Guide de l'utilisateur IAM. 15. Choisissez Next (Suivant) Vérificationpour afficher la liste des membres du groupe à ajouter au nouvel utilisateur. Une fois que vous êtes prêt à continuer, choisissez Create user. Vous pouvez utiliser ce même processus pour créer d'autres groupes et utilisateurs et pour accorder à vos utilisateurs l'accès aux ressources de votre Compte AWS . Pour savoir comment utiliser des stratégies qui limitent les autorisations d'accès des utilisateurs à des ressources AWS spécifiques, veuillez consulter Gestion des accès et Exemples de stratégies. Configuration avecAWSProton Vous devez configurer une connexion au référentiel pour créer des services avec des modèles de service qui incluent un pipeline de services. Vérifiez que vous avez installé l'AWS CLIsi vous envisagez de l'utiliser pour faireAWSAppels vers l'API Proton. Configuration d'une connexion au référentiel Pour créer un service, vous commencez par sélectionner un modèle de service qui définit votre infrastructure de services. Dans la console, vous fournissez des entrées au modèle lorsque vous créez un service à partir d'un modèle de service. Si vous sélectionnez un modèle de service qui inclut unAWSProton service pipeline, vous devez fournir le nom et la branche de votre référentiel de code, ainsi qu'un ARN 4
AWSProton Guide de l'utilisateur Configuration d'avec l'AWS CLI de connexion au référentiel.AWS Proton utilise la connexion du référentiel pour signaler le service et le pipeline en réponse à vos validations de code source. C'est l'une des actionsPrerequisites (p. 6)pour suivre les étapes deMise en route avec le kit AWS Management Console (p. 6). Configurer une connexion au référentiel. ConnexionAWSProton vers votre référentiel de code avec les connexions AWS CodeStar pour demander unAWSPipeline de service Proton lorsqu'une nouvelle poussée est effectuée vers votre référentiel. Vous pouvez vous connecter aux référentiels Bitbucket, GitHub, GitHub Enterprise et GitHub Enterprise Server avec des connexions AWS CodeStar. Pour de plus amples informations, veuillez consulterConnexions AWS CodeStardans le AWS CodePipelineGuide de l'utilisateur. 1. Ouverture d'AWSConsole Proton. 2. Dans le volet de navigation, sélectionnezParamètrespuisConnexions sourcepour vous amener à l'ConnexionsPage deOutils pour développeurs Paramètres. La page affiche une liste des connexions au référentiel. 3. ChoisissezCréer une connexionet suivez les instructions à l'écran. Configuration d'avec l'AWS CLI Pour utiliser le pluginAWS CLIà faireAWSAppels vers l'API Proton, vérifiez que vous avez installé la version la plus récente duAWS CLI. Pour de plus amples informations, veuillez consulterhttps:// docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html 5
AWSProton Guide de l'utilisateur Prerequisites Démarrage avecAWSProton Démarrer avecAWSProton dans la console ou à l'aide duAWSINTERFACE DE LIGNE DE COMMANDE Rubriques • Prerequisites (p. 6) • Mise en route avec le kit AWS Management Console (p. 6) • Démarrage avec le pluginAWSProtonAWS CLI (p. 8) Prerequisites Avant de commencerÉtape 1, Créer un service, assurez-vous de respecter les prérequis suivants. • Vous disposez d'un compte IAM avec des autorisations d'administrateur. Pour de plus amples informations, veuillez consulter Configuration de (p. 3). • Vous disposez d'une connexion au référentiel. Pour plus d'informations, consultez Configuration d'une connexion au référentiel (p. 4). AWS Proton utilise la connexion du référentiel pour signaler le service et le pipeline en réponse à vos validations de code source. • Vous avez une connaissance pratique deAWSet avec l'utilisation de laAWS Management Console. • Vous êtes connecté à votreAWS. • Vous ou votre administrateur avez créé l'exemple de modèle de service fargate nomméMon service Fargate. Pour de plus amples informations, veuillez consulterMise en routedans leAWSGuide de l'administrateur Proton. Mise en route avec le kit AWS Management Console Démarrer avecAWSProton • Créez et affichez un service. • Déployez un service. • Supprimez un service. Étape 1 : Configurer un exemple de référentiel source Configurer un référentiel. DansMise en route, vous créez un service à partir d'un modèle de service qui inclut un pipeline de service. Vous fournissez un chemin d'accès à votre référentiel de code source d'échantillon forked et à votre connexion au référentiel Amazon Resource Name (ARN) en tant qu'entrées lorsque vous créez votre service. Signaux de connexion de votre dépôtAWSProton sur le nouveau code source commits. • Fourchez l'exempleAWSexemple de référentielque vous utilisez comme code source pour déployer avecAWSProton dansMise en route. 6
AWSProton Guide de l'utilisateur Étape 2 : Création d'un service Étape 2 : Création d'un service 1. Ouverture d'AWSConsole Proton. 2. Dans le volet de navigation, choisissezServices. 3. DansServicesPage, choisissezCréer un service. 4. DansChoix d'un modèle de service, sélectionnez laMon service FargateEn choisissant le bouton radio dans le coin supérieur droit de la carte modèle. Si ce modèle n'est pas répertorié, contactez votre administrateur ou suivez lesConfiguration d'andMise en routedans lesAWSGuide de l'administrateur Proton. 5. ChoisissezConfigurationDans le coin inférieur droit de la page. 6. DansConfigurer le service, dans laParamètres du service, entrez le nom du servicemy-service. 7. (Facultatif) Entrez une description du service. 8. DansParamètres du référentiel de services, entrez le nom de laBrancheandID du référentiel(repo- username/repo-name) où vous avez forgé leCode source (p. 4). 9. PourConnexion au référentiel, choisissez votre connexion au référentiel dans la liste. Passez ensuite à l'étape suivante ou choisissezSuivant. 10. (Facultatif) Dans laBalises, choisissezAjouter une nouvelle baliseet entrez une clé et une valeur pour créer une balise gérée par le client. Sélectionnez ensuite Next. 11. DansConfigurer les paramètres personnalisés, dans laInstances de service, dans la sectionNouvelle instance, suivez les étapes suivantes pour fournir des valeurs personnalisées pour vos paramètres d'instance de service. a. Entrez le nom de l'instancemy-app-service. b. Choix de l'environnementmy-fargate-environmentpour votre instance de service. c. Conservez les valeurs par défaut dans les autres paramètres d'instance. d. Conservez les valeurs par défaut pourEntrées pipeline. e. ChoisissezSuivantet passez en revue vos entrées. f. ChoisissezCréeret consultez l'état et les détails de votre service. 12. Dans la page de détails du service, affichez l'état de votre instance de service et de votre pipeline en sélectionnant l'optionPrésentationandPipelineOnglets. Sur ces pages, vous pouvez également afficherAWSet les balises gérées par le client.AWS Proton crée automatiquementAWSles balises gérées pour vous. ChoisissezGérer les balisespour créer et modifier des balises gérées par le client. Pour plus d'informations sur le balisage, consultez AWSRessources Proton et balisage (p. 67). 13. Après que le service estActif, dans laPrésentation, dans l'ongletInstances de service, choisissez le nom de votre instance de service,mon-service. Vous êtes maintenant sur la page détaillée de l'instance de service. 14. Pour afficher votre application, dans laOutputs, copiez laServiceEndPointvers votre navigateur. Vous voyez unAWSProton graphique dans la page web. 15. Une fois le service créé, dans le panneau de navigation, choisissezServicesPour afficher la liste de vos services. Étape 3 : Modifier un service 1. Lorsque l'état de votre service estActif, effectuez une petite mise à jour du code source de votre référentiel en changeant 'AWSProton' à 'AWSPROTON' pour le graphique dansindex.html. Valider la mise à jour pour inviter votre pipeline à effectuer la mise à jour vers votre instance de service. 7
AWSProton Guide de l'utilisateur Étape 4 : Suppression d'un service Le pipeline extrait la mise à jour. La mise à jour est incluse dans le prochain déploiement de votre instance de service. 2. Revenez à laAWSConsole Proton. 3. DansServices, choisissez le nom du service.mon-service. Vous êtes maintenant sur la page des détails du service pourmon-service. 4. Cliquez sur l'ongletPipelinesOnglet. 5. DansOutputs, choisissez laPipelineEndPointLien. Vous accédez alors à la page de votre pipeline de service. 6. ChoisissezCréer des versions d’Pour forcer la mise à jour. 7. Accédez à votre service dans laAWSConsole Proton pour afficher le statut de votre instance de service et de votre application au fur et à mesure que la mise à jour est déployée. Étape 4 : Suppression d'un service 1. Dans le volet de navigation, choisissezServices. 2. DansServices, choisissez le nom du service.mon-service. Vous êtes maintenant sur la page des détails du service pourmon-service. 3. Dans le coin supérieur droit de la page, choisissezActionspuisSupprimer. 4. Un modal vous invite à confirmer l'action de suppression. 5. Suivez les instructions et choisissezOui, supprimer. Démarrage avec le pluginAWSProtonAWS CLI Pour commencer à utiliser laAWS CLI, parcourez ce qui suitAWS CLIsur GitHub. • Plusieurs services partagent unAWSEnvironment Proton • Service Web à charge équilibrée à l'aide d'Amazon ECS et AWS Fargate • Microservices utilisant Amazon ECS et AWS Fargate 8
AWSProton Guide de l'utilisateur Création AWSServices Proton UnAWSLe service Proton est une instanciation d'un modèle de service, comprenant généralement plusieurs instances de service et un pipeline. UnAWSL'instance de service Proton est une instanciation d'un modèle de service dans un environnement spécifique. Un modèle de service est une définition complète de l'infrastructure et du pipeline de services optionnel pour unAWSservice Proton. Les environnements représentent l'ensemble de ressources et de stratégies partagées quiAWSLes services Proton sont déployés dans. Ils peuvent contenir toutes les ressources qui devraient être partagées entreAWSLes instances de service Proton, telles que les VPC, les clusters et les équilibreurs de charge partagés ou les passerelles API. Une fois vos instances de service déployées, elles peuvent être mises à jour par des poussées de code source qui invitent le pipeline CI/CD ou par l'adoption de nouvelles versions de son modèle de service.AWS Proton vous avertit lorsque de nouvelles versions de son modèle de service sont disponibles afin que vous puissiez mettre à jour vos services vers une nouvelle version. Lorsque votre service est mis à jour,AWSProton redéploie les instances de service et de service. Les sections suivantes couvrent l'utilisation deAWSOpérations de création, d'affichage, de modification et de suppression du service Proton. Pour plus d'informations, consultez leAWSRéférence d'API Proton Service. Rubriques • Création d'un service (p. 9) • Affichage des données de service (p. 13) • Modification d'un service (p. 14) • Delete (p. 20) • Afficher les données d'instance de service (p. 21) • Mettre à jour une instance de service (p. 22) • Mettre à jour un pipeline de services (p. 25) Création d'un service Pour déployer une application avecAWSProton, en tant que développeur, vous pouvez utiliser leAWSConsole Proton ou leAWS CLI. Avec l'une ou l'autre méthode, vous ne devez fournir que les entrées suivantes. 1. Le nom d'unAWSModèle de service Proton publié par votre équipe de plateforme. 2. Un nom pour le service. 3. Nombre d'instances de service que vous souhaitez déployer. 4. Une sélection d'environnements que vous souhaitez utiliser. 5. Une connexion à votre référentiel de codes si vous utilisez un modèle de service qui inclut un pipeline de services (facultatif). Modèles de service Les versions principales et mineures des modèles de service sont disponibles. Lorsque vous utilisez la console, vous sélectionnez la dernièreRecommendedversion majeure et mineure du modèle de service. Lorsque vous utilisez l'AWS CLIet que vous spécifiez uniquement la version principale du modèle de 9
AWSProton Guide de l'utilisateur Création d'un service service, vous spécifiez implicitement la dernière versionRecommendedversion mineure du modèle de service pour la version principale que vous avez spécifiée. Ce qui suit décrit la différence entre les versions principales et mineures des modèles et leur utilisation. • Les nouvelles versions d'un modèle deviennentRecommendeddès qu'ils sont approuvés par un membre de votre équipe de plateforme. Cela signifie que de nouveaux services sont créés à l'aide de cette version et que vous êtes invité à mettre à jour les services existants vers la nouvelle version. • À traversAWSProton, votre équipe de plateforme peut automatiquement mettre à jour les instances de service vers une nouvelle version mineure d'un modèle de service. Les versions mineures doivent être rétrocompatibles. • Étant donné que les versions majeures exigent que vous fournissiez de nouvelles entrées dans le cadre du processus de mise à jour, vous devez mettre à jour votre service vers une version majeure de son modèle de service. Versions majeuresne sont pasrétrocompatible. Création d'un service Lorsque vous créez un service, vous avez le choix entre deux types de modèles de service différents, comme illustré dans la liste suivante. • Modèle de service qui inclut un pipeline de services (par défaut). • Un modèle de service quine le fait pasinclure un pipeline de services. Vous devez créer au moins une instance de service lorsque vous créez votre service. Une instance de service et un pipeline optionnel appartiennent à un service. Vous ne pouvez créer ou supprimer une instance ou un pipeline que dans le contexte du service.createanddeleteActions. Pour savoir comment ajouter et supprimer des instances d'un service, consultezModification d'un service (p. 14). Créez un service à l'aide de la console. Lorsque vous utilisez la console, vous pouvez fournir vos entrées de service directement àAWSProton tel que décrit dansDémarrage avecAWSProton (p. 6).AWS Proton crée un fichier YAML à partir de vos entrées vers la console. Il est disponible au téléchargement sur la page détaillée du serviceActionsdéroulant, une fois que votre service est créé. Lorsque vousne le fait pasVous voulez utiliser unAWSPipeline de service Proton, choisissez un modèle marqué parExclut un pipeline. Créer un service avec unAWSPipeline de service Proton utilisant l'interface de ligne de commande. Lorsque vous utilisez l'AWS CLI, vous spécifiez des entrées de service dans un fichier formaté YAML,.aws-proton/service.yaml, situé dans votre répertoire de code source. Si vous souhaitez utiliser un modèle de service qui possèdepipelineProvisioning: "CUSTOMER_MANAGED",ne pasincluez lepipeline:dans votre spécification etne pasinclure--repository-connection- arn,--repository-id, et--branch-nameparamètres dans votrecreate-servicecommande. Utilisation de l'get-service-templatecommande pour voir sipipelineProvisioninga la valeur"CUSTOMER_MANAGED". L'exemple suivant montre comment utiliser l'interface de ligne de commande pour afficher le schéma.requiredandoptionalparamètres que vous fournissez des valeurs dans votre fichier de spécifications. Le schéma se trouve dans la réponseschemasortie. Commande: aws proton get-service-template-version --template-name "fargate-service" --major- version "1" --minor-version "0" Réponse: 10
AWSProton Guide de l'utilisateur Création d'un service { "serviceTemplateMinorVersion": { "arn": "arn:aws:proton:us-west-2:123456789012:service-template/fargate- service:1.0", "compatibleEnvironmentTemplates": [ { "majorVersion": "1", "templateName": "simple-env" } ], "createdAt": "2020-11-11T23:02:57.912000+00:00", "description": "Version 1", "lastModifiedAt": "2020-11-11T23:02:57.912000+00:00", "majorVersion": "1", "minorVersion": "0", "schema": "schema:\n format:\n openapi: \"3.0.0\"\n pipeline_input_type: \"MyPipelineInputType\"\n service_input_type: \"MyServiceInstanceInputType\"\n\n types:\n MyPipelineInputType:\n type: object\n description: \"Pipeline input properties\"\n required:\n - my_sample_pipeline_required_input \n properties:\n my_sample_pipeline_optional_input:\n type: string\n description: \"This is a sample input\"\n default: \"hello world\"\n my_sample_pipeline_required_input:\n type: string\n description: \"Another sample input\"\n\n MyServiceInstanceInputType:\n type: object\n description: \"Service instance input properties\"\n required:\n - my_sample_service_instance_required_input\n properties:\n my_sample_service_instance_optional_input:\n type: string\n description: \"This is a sample input\"\n default: \"hello world\"\n my_sample_service_instance_required_input:\n type: string\n description: \"Another sample input\"", "status": "DRAFT", "statusMessage": "", "templateName": "fargate-service" } } Le schéma formaté de la réponse est illustré dans l'exemple suivant, pour plus de commodité. Schema schema: format: openapi: "3.0.0" pipeline_input_type: "MyPipelineInputType" service_input_type: "MyServiceInstanceInputType" types: MyPipelineInputType: type: object description: "Pipeline input properties" required: - my_sample_pipeline_required_input properties: my_sample_pipeline_optional_input: # parameter type: string description: "This is a sample input" default: "hello world" my_sample_pipeline_required_input: # parameter type: string description: "Another sample input" MyServiceInstanceInputType: type: object description: "Service instance input properties" required: - my_sample_service_instance_required_input properties: 11
AWSProton Guide de l'utilisateur Création d'un service my_sample_service_instance_optional_input: # parameter type: string description: "This is a sample input" default: "hello world" my_sample_service_instance_required_input: # parameter type: string description: "Another sample input" L'exemple de spécification suivant inclut des valeurs de paramètres pour un pipeline de services et une instance, basées sur le fichier de schéma. Spécifications : proton: ServiceSpec pipeline: my_sample_pipeline_required_input: "hello" my_sample_pipeline_optional_input: "bye" instances: - name: "acme-network-dev" environment: "ENV_NAME" spec: my_sample_service_instance_required_input: "hi" my_sample_service_instance_optional_input: "ho" Créez un service tel que défini par un modèle de service en spécifiant le nom, l'ARN de connexion au référentiel, l'ID du référentiel, la branche du référentiel, le nom du modèle, la spécification, les versions principales et mineures, la description (facultatif) et les balises (facultatives), comme indiqué dans la commande et la réponse suivantes. Commande: aws proton create-service --name "simple-svc" --branch-name "mainline" --template- major-version "1" --template-name "fargate-service" --repository-connection-arn "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef- EXAMPLE11111" --repository-id "myorg/myapp" --spec "file://spec.yaml" Réponse: { "service": { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService", "createdAt": "2020-11-18T19:50:27.460000+00:00", "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00", "name": "MySimpleService", "repositoryConnectionArn": "arn:aws:codestar-connections:region- id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "repositoryId": "myorg/myapp", "status": "CREATE_IN_PROGRESS", "templateName": "fargate-service" } } Création d'un serviceWITWIunAWSPipeline de service Proton en utilisant l'interface de ligne de commande. L'exemple de spécification suivantne le fait pasinclure des entrées pour un pipeline de services. Spécifications : 12
AWSProton Guide de l'utilisateur Vue proton: ServiceSpec instances: - name: "acme-network-dev" environment: "ENV_NAME" spec: my_sample_service_instance_required_input: "hi" my_sample_service_instance_optional_input: "ho" Pour créer un serviceWITWIunAWSPipeline de service Proton, vous fournissez le chemin d'accès à unspec.yamlet vousne le fait pasincluez les paramètres du référentiel comme illustré dans l'exemple suivant. Commande: aws proton create-service --name "MySimpleServiceNoPipeline" --template-major-version "1" --template-name "fargate-service" --spec "file://spec-no-pipeline.yaml" Réponse: { "service": { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleServiceNoPipeline", "createdAt": "2020-11-18T19:50:27.460000+00:00", "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00", "name": "MySimpleServiceNoPipeline", "templateName": "fargate-service-no-pipeline", "status": "CREATE_IN_PROGRESS" } } Affichage des données de service Vous pouvez afficher les données des détails de service à l'aide de la console ou de l'AWS CLI. Vous pouvez afficher des listes de services avec des détails et afficher des services individuels avec des données détaillées à l'aide duAWSConsole Proton. 1. Pour afficher la liste des services, choisissezServices. 2. Pour afficher les données détaillées, choisissez le nom de votre service. Affichez les détails de votre service. Vous pouvez également utiliser l'AWS CLIpourAWSProtongetoulisteopérations, comme illustré dans l'exemple suivant qui inclut un pipeline de service. Vous pouvez obtenir ou répertorier des services. Commande: aws proton get-service --name "simple-svc" Réponse: { "service": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc", "branchName": "mainline", 13
AWSProton Guide de l'utilisateur Modifier "createdAt": "2020-11-28T22:40:50.512000+00:00", "lastModifiedAt": "2020-11-28T22:44:51.207000+00:00", "name": "simple-svc", "pipeline": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline/ a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "createdAt": "2020-11-28T22:40:50.512000+00:00", "deploymentStatus": "SUCCEEDED", "lastDeploymentAttemptedAt": "2020-11-28T22:40:50.512000+00:00", "lastDeploymentSucceededAt": "2020-11-28T22:40:50.512000+00:00", "spec": "proton: ServiceSpec\npipeline:\n my_sample_pipeline_required_input: hello\n my_sample_pipeline_optional_input: bye\ninstances:\n- name: instance-svc-simple\n environment: my-simple-env\n spec:\n my_sample_service_instance_required_input: hi\n my_sample_service_instance_optional_input: ho\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "svc-simple" }, "repositoryConnectionArn": "arn:aws:codestar-connections:region- id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "repositoryId": "myorg/myapp", "spec": "proton: ServiceSpec\npipeline:\n my_sample_pipeline_required_input: hello \n my_sample_pipeline_optional_input: bye\ninstances:\n- name: instance-svc-simple\n environment: my-simple-env\n spec:\n my_sample_service_instance_required_input: hi\n my_sample_service_instance_optional_input: ho\n", "status": "ACTIVE", "templateName": "svc-simple" } } L'exemple suivant montre comment utiliser leget-servicepour afficher les détails d'un service quine le fait pasVous disposez d'unAWSPipeline de service Proton. Commande: aws proton get-service --name "simple-svc-without-pipeline" Réponse: { "service": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc-without-pipeline", "createdAt": "2020-11-28T22:40:50.512000+00:00", "lastModifiedAt": "2020-11-28T22:44:51.207000+00:00", "name": "simple-svc-without-pipeline", "spec": "proton: ServiceSpec\ninstances:\n- name: instance-svc-simple\n environment: my-simple-env\n spec:\n my_sample_service_instance_required_input: hi\n my_sample_service_instance_optional_input: ho\n", "status": "ACTIVE", "templateName": "svc-simple-no-pipeline" } } Modification d'un service Vous pouvez apporter les modifications suivantes à un service. • Modifiez la description du service. • Modifiez un service en ajoutant et en supprimant des instances de service. 14
AWSProton Guide de l'utilisateur Modifier la description du service Modifier la description du service Modifiez un service à l'aide de la console comme décrit dans les étapes suivantes. Dans la liste des services. 1. DansAWSConsole Proton, choisissezServices. 2. Dans la liste des services, sélectionnez la case d'option située à gauche du service à mettre à jour. 3. Choisissez Edit. 4. DansConfigurer le service, remplissez le formulaire et choisissezSuivant. 5. DansConfigurer des paramètres personnalisés, choisissezSuivant. 6. Passez en revue vos modifications et choisissezEnregistrez les modifications. Sur la page des détails du service. 1. DansAWSConsole Proton, choisissezServices. 2. Dans la liste des services, choisissez le nom du service à modifier. 3. Sur la page des détails du service, sélectionnezModifier. 4. DansConfigurer le service, remplissez le formulaire et choisissezSuivant. 5. DansConfigurer des paramètres personnalisés, choisissezSuivant. 6. Passez en revue vos modifications et choisissezEnregistrez les modifications. Vous pouvez également utiliser l'AWS CLIpour modifier une description comme indiqué dans l'exemple suivant de commande et de réponse. Commande: aws proton update-service --name "MySimpleService" --description "Edit by updating description" Réponse: { "service": { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService", "branchName": "main", "createdAt": "2021-03-12T22:39:42.318000+00:00", "description": "Edit by updating description", "lastModifiedAt": "2021-03-12T22:44:21.975000+00:00", "name": "MySimpleService", "repositoryConnectionArn": "arn:aws:codestar-connections:region- id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "repositoryId": "my-repository/myorg-myapp", "status": "ACTIVE", "templateName": "fargate-service" } } 15
AWSProton Guide de l'utilisateur Ajouter ou supprimer des instances de service Modifier en ajoutant ou en supprimant des instances de service Pour unAWSService Proton, vous pouvez ajouter ou supprimer des instances de service en soumettant une version modifiéespec (p. 17), si votre demanden'est pasfabriqué dans les conditions suivantes.AWS Proton échoue à votre demande dans ces conditions. • Votre service et votre pipeline sont déjà en cours de modification ou de suppression lorsque vous soumettez la demande de modification. • Votre éditionspecinclut des modifications qui modifient le pipeline de services ou les instances de service existantes quine sont pasà supprimer. Les instances ayant échoué de suppression sont des instances de service dans leDELETE_FAILEDétat. Lorsque vous demandez une modification de service,AWSProton tente de supprimer les instances ayant échoué pour vous, dans le cadre du processus de modification. Si l'une de vos instances de service n'a pas pu être supprimée, il se peut que des ressources soient associées aux instances, même si elles ne sont pas visibles depuis la console ouAWS CLI. Vérifiez les ressources de votre infrastructure d'instance ayant échoué à la suppression et nettoyez-les de manière à ce queAWSProton peut les enlever pour vous. Ajouter ou supprimer des instances de service Pour connaître le quota d'instances de service pour un service, voirAWSQuotas de Proton (p. 71). Vous devez également conserver au moins une instance de service pour votre service après sa création. Au cours du processus de mise à jour,AWSProton compte les instances de service existantes et les instances à ajouter ou à supprimer. Les instances ayant échoué de suppression sont incluses dans ce compte, et vous devez en tenir compte lorsque vous modifiez votrespec. Une fois que vous avez soumis une modification de service pour supprimer et ajouter des instances de service,AWSProton entreprend les actions suivantes. • Définit le service surUPDATE_IN_PROGRESS. • Si le service dispose d'un pipeline, définit son statut surIN_PROGRESSet bloque les actions de pipeline. • Définit toutes les instances de service devant être supprimées surDELETE_IN_PROGRESS. • Bloque les actions de service. • Bloque les actions sur les instances de service marquées pour suppression. • Crée de nouvelles instances de service. • Supprime les instances que vous avez répertoriées pour suppression. • Tentatives de suppression des instances ayant échoué de suppression. • Une fois les ajouts et les suppressions terminés, réapprovisionnez le pipeline de services (s'il y en a un), définit votre service surACTIVEet permet des actions de service et de pipeline. AWSProton tente de remédier aux modes de défaillance comme suit. • Si une ou plusieurs instances de servicen'a pas pu être créé,AWSProton essaie de déprovisionner toutes les instances de service nouvellement créées et rétablit l'optionspecdans l'état précédent. C'estne le fait passupprimer toutes les instances de service, etne le fait pasmodifier le pipeline de quelque manière que ce soit. • Si une ou plusieurs instances de servicen'a pas pu être supprimé,AWSProton réapprovisionne le pipeline sans les instances supprimées. Lespecest mis à jour pour inclure les instances ajoutées et pour exclure les instances marquées pour suppression. • Si l'icônele provisionnement du pipeline échoue, un retour en arrièren'est pasa tenté et le service et le pipeline reflètent tous deux un état de mise à jour échoué. 16
Vous pouvez aussi lire