AWSProton Guide de l'utilisateur - Guide de l'utilisateur

La page est créée Cyril Guerin
 
CONTINUER À LIRE
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