Mettre à jour un environnement - AWS Proton

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mettre à jour un environnement

Si leAWS Protonl'environnement est associé à une connexion à un compte d'environnement,nemettre à jour ou inclure leprotonServiceRoleArnparamètre pour mettre à jour ou se connecter à une connexion à un compte d'environnement.

Vous ne pouvez effectuer la mise à jour vers une nouvelle connexion au compte d'environnement que si les deux conditions suivantes sont remplies :

  • La connexion au compte d'environnement a été créée dans le même compte d'environnement que celui dans lequel la connexion au compte d'environnement actuel a été créée.

  • >La connexion au compte d'environnement est associée à l'environnement actuel.

Si l'environnementn'est pasassocié à une connexion à un compte d'environnement,nemettre à jour ou inclure leenvironmentAccountConnectionIdparamètre.

Vous pouvez mettre à jour l'un ou l'autreenvironmentAccountConnectionIdouprotonServiceRoleArnparamètre et valeur. Vous ne pouvez pas mettre à jour les deux.

Si votre environnement utilise un provisionnement autogéré,nemettre à jour leprovisioning-repositoryparamètre etomettreleenvironmentAccountConnectionIdetprotonServiceRoleArnparamètres.

Il existe quatre modes de mise à jour d'un environnement, comme décrit dans la liste suivante. Lorsque vous utilisez leAWS CLI, ledeployment-typele champ définit le mode. Lorsque vous utilisez la console, ces modes correspondent auModifier,Mettre à jour,Mise à jour mineure, etMise à jour majeureactions qui s'affichent depuisActions.

NONE

Dans ce mode, un déploiementnese produire. Seuls les paramètres de métadonnées demandés sont mis à jour.

CURRENT_VERSION

Dans ce mode, l'environnement est déployé et mis à jour avec les nouvelles spécifications que vous fournissez. Seuls les paramètres demandés sont mis à jour. Ne le faites pasincluez des paramètres de version mineurs ou majeurs lorsque vous utilisez cedeployment-type.

MINOR_VERSION

Dans ce mode, l'environnement est déployé et mis à jour avec la version mineure (la plus récente) publiée et recommandée de la version majeure actuellement utilisée par défaut. Vous pouvez également spécifier une version secondaire différente de la version principale actuellement utilisée.

MAJOR_VERSION

Dans ce mode, l'environnement est déployé et mis à jour avec la version majeure et mineure publiée et recommandée (la plus récente) du modèle actuel par défaut. Vous pouvez également spécifier une version principale différente qui est supérieure à la version principale utilisée et une version secondaire (facultatif).

Mettre à jour unAWSenvironnement de provisionnement géré

Le provisionnement standard n'est pris en charge que par les environnements qui fournissent avecAWS CloudFormation.

Utilisez la console ouAWS CLIpour mettre à jour votre environnement.

AWS Management Console
Mettez à jour un environnement à l'aide de la console comme indiqué dans les étapes suivantes.
  1. Choisissez l'une des deux étapes suivantes.
    1. Dans la liste des environnements.
      1. Dans leAWS Protonconsole, choisissezEnvironnements.

      2. Dans la liste des environnements, cliquez sur le bouton radio situé à gauche de l'environnement que vous souhaitez mettre à jour.

    2. Sur la page détaillée de l'environnement de la console.
      1. Dans leAWS Protonconsole, choisissezEnvironnements.

      2. Dans la liste des environnements, choisissez le nom de l'environnement que vous souhaitez mettre à jour.

  2. Choisissez l'une des 4 étapes suivantes pour mettre à jour votre environnement.
    1. Pour effectuer une modification qui ne nécessite pas le déploiement de l'environnement.
      1. Par exemple, pour modifier une description.

        Choisissez Edit (Modifier).

      2. Remplissez le formulaire et choisissezSuivant.

      3. Vérifiez votre modification et choisissezMettre à jour.

    2. Pour mettre à jour uniquement les entrées de métadonnées.
      1. ChoisissezActionspuisMettre à jour.

      2. Remplissez le formulaire et choisissezModifier.

      3. Remplissez les formulaires et choisissezSuivantjusqu'à ce que vous atteigniezRévisionpage.

      4. Vérifiez vos mises à jour et choisissezMettre à jour.

    3. Pour mettre à jour une nouvelle version mineure de son modèle d'environnement.
      1. ChoisissezActionspuisMise à jour mineure.

      2. Remplissez le formulaire et choisissezSuivant.

      3. Remplissez les formulaires et choisissezSuivantjusqu'à ce que vous atteigniezRévisionpage.

      4. Vérifiez vos mises à jour et choisissezMettre à jour.

    4. Pour effectuer une mise à jour vers une nouvelle version majeure de son modèle d'environnement.
      1. ChoisissezActionspuisMise à jour majeure.

      2. Remplissez le formulaire et choisissezSuivant.

      3. Remplissez les formulaires et choisissezSuivantjusqu'à ce que vous atteigniezRévisionpage.

      4. Vérifiez vos mises à jour et choisissezMettre à jour.

AWS CLI

Utilisez leAWS Proton AWS CLIpour mettre à jour un environnement vers une nouvelle version mineure.

Exécutez la commande suivante pour mettre à jour votre environnement :

$ aws proton update-environment \ --name "MySimpleEnv" \ --deployment-type "MINOR_VERSION" \ --template-major-version "1" \ --template-minor-version "1" \ --proton-service-role-arn arn:aws:iam::123456789012:role/service-role/ProtonServiceRole \ --spec "file:///spec.yaml"

Réponse :

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2021-04-02T17:29:55.472000+00:00", "deploymentStatus": "IN_PROGRESS", "lastDeploymentAttemptedAt": "2021-04-02T17:48:26.307000+00:00", "lastDeploymentSucceededAt": "2021-04-02T17:29:55.472000+00:00", "name": "MySimpleEnv", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "simple-env" } }

Exécutez la commande suivante pour obtenir et confirmer l'état :

$ aws proton get-environment \ --name "MySimpleEnv"

Réponse :

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2021-04-02T17:29:55.472000+00:00", "deploymentStatus": "SUCCEEDED", "environmentName": "MySimpleEnv", "lastDeploymentAttemptedAt": "2021-04-02T17:48:26.307000+00:00", "lastDeploymentSucceededAt": "2021-04-02T17:48:26.307000+00:00", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole", "spec": "proton: EnvironmentSpec\n\nspec:\n my_sample_input: hello\n my_other_sample_input: everybody\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "simple-env" } }

Mettre à jour un environnement de provisionnement autogéré

Le provisionnement autogéré n'est pris en charge que par les environnements qui approvisionnent avec Terraform.

Utilisez la console ouAWS CLIpour mettre à jour votre environnement.

AWS Management Console
Mettez à jour un environnement à l'aide de la console comme indiqué dans les étapes suivantes.
  1. Choisissez l'une des deux étapes suivantes.
    1. Dans la liste des environnements.
      1. Dans leAWS Protonconsole, choisissezEnvironnements.

      2. Dans la liste des environnements, cliquez sur le bouton radio situé à gauche du modèle d'environnement que vous souhaitez mettre à jour.

    2. Sur la page détaillée de l'environnement de la console.
      1. Dans leAWS Protonconsole, choisissezEnvironnements.

      2. Dans la liste des environnements, choisissez le nom de l'environnement que vous souhaitez mettre à jour.

  2. Choisissez l'une des 4 étapes suivantes pour mettre à jour votre environnement.
    1. Pour effectuer une modification qui ne nécessite pas le déploiement de l'environnement.
      1. Par exemple, pour modifier une description.

        Choisissez Edit (Modifier).

      2. Remplissez le formulaire et choisissezSuivant.

      3. Vérifiez votre modification et choisissezMettre à jour.

    2. Pour mettre à jour uniquement les entrées de métadonnées.
      1. ChoisissezActionspuisMettre à jour.

      2. Remplissez le formulaire et choisissezModifier.

      3. Remplissez les formulaires et choisissezSuivantjusqu'à ce que vous atteigniezRévisionpage.

      4. Vérifiez vos mises à jour et choisissezMettre à jour.

    3. Pour mettre à jour une nouvelle version mineure de son modèle d'environnement.
      1. ChoisissezActionspuisMise à jour mineure.

      2. Remplissez le formulaire et choisissezSuivant.

      3. Remplissez les formulaires et choisissezSuivantjusqu'à ce que vous atteigniezRévisionpage.

      4. Vérifiez vos mises à jour et choisissezMettre à jour.

    4. Pour effectuer une mise à jour vers une nouvelle version majeure de son modèle d'environnement.
      1. ChoisissezActionspuisMise à jour majeure.

      2. Remplissez le formulaire et choisissezSuivant.

      3. Remplissez les formulaires et choisissezSuivantjusqu'à ce que vous atteigniezRévisionpage.

      4. Vérifiez vos mises à jour et choisissezMettre à jour.

AWS CLI
Utilisez leAWS CLIpour mettre à jour un environnement Terraform vers une nouvelle version mineure avec un provisionnement autogéré.
  1. Exécutez la commande suivante pour mettre à jour votre environnement :

    $ aws proton update-environment \ --name "pr-environment" \ --deployment-type "MINOR_VERSION" \ --template-major-version "1" \ --template-minor-version "1" \ --provisioning-repository "branch=main,name=myrepos/env-repo,provider=GITHUB" \ --spec "file://env-spec-mod.yaml"

    Réponse :

    { "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/pr-environment", "createdAt": "2021-11-18T21:09:15.745000+00:00", "deploymentStatus": "IN_PROGRESS", "lastDeploymentAttemptedAt": "2021-11-18T21:25:41.998000+00:00", "lastDeploymentSucceededAt": "2021-11-18T21:09:15.745000+00:00", "name": "pr-environment", "provisioningRepository": { "arn": "arn:aws:proton:region-id:123456789012:repository/github:myrepos/env-repo", "branch": "main", "name": "myrepos/env-repo", "provider": "GITHUB" }, "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "pr-env-template" } }
  2. Exécutez la commande suivante pour obtenir et confirmer l'état :

    $ aws proton get-environment \ --name "pr-environment"

    Réponse :

    { "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/pr-environment", "createdAt": "2021-11-18T21:09:15.745000+00:00", "deploymentStatus": "SUCCEEDED", "lastDeploymentAttemptedAt": "2021-11-18T21:25:41.998000+00:00", "lastDeploymentSucceededAt": "2021-11-18T21:25:41.998000+00:00", "name": "pr-environment", "provisioningRepository": { "arn": "arn:aws:proton:region-id:123456789012:repository/github:myrepos/env-repo", "branch": "main", "name": "myrepos/env-repo", "provider": "GITHUB" }, "spec": "proton: EnvironmentSpec\nspec:\n ssm_parameter_value: \"test\"\n ssm_another_parameter_value: \"update\"\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "pr-env-template" } }
  3. Vérifiez la demande d'extraction envoyée parAWS Proton.

    • Si vous approuvez la demande, le provisionnement est en cours.

    • Si vous rejetez la demande, la création de l'environnement est annulée.

    • Si le délai d'expiration de la pull request est dépassé, la création de l'environnement n'est pas terminée.

  4. Fournir l'état de provisionnement àAWS Proton.

    $ aws proton notify-resource-deployment-status-change \ --resource-arn "arn:aws:proton:region-id:123456789012:environment/pr-environment" \ --status "SUCCEEDED"

Annuler un déploiement d'environnement en cours

Vous pouvez tenter d'annuler le déploiement d'une mise à jour d'environnement sideploymentStatusest dansIN_PROGRESS.AWS Protontente d'annuler le déploiement. Annulation réussien'est pasgaranti.

Lorsque vous annulez un déploiement de mise à jour,AWS Protontente d'annuler le déploiement comme indiqué dans les étapes suivantes.

AvecAWS-approvisionnement géré,AWS Protoneffectue les opérations suivantes :
  • Définit l'état du déploiement surCANCELLING.

  • Arrête le déploiement en cours et supprime toutes les nouvelles ressources créées par le déploiement lorsqueIN_PROGRESS.

  • Définit l'état du déploiement surCANCELLED.

  • Rétablit l'état de la ressource à ce qu'il était avant le début du déploiement.

Grâce au provisionnement autogéré,AWS Protoneffectue les opérations suivantes :
  • Tente de fermer la pull request pour empêcher la fusion des modifications apportées à votre référentiel.

  • Définit l'état du déploiement surCANCELLEDsi la pull request a été fermée avec succès.

Pour obtenir des instructions sur la façon d'annuler un déploiement d'environnement, voirCancelEnvironmentDeploymentdans leAWS ProtonRéférence d'API.

Vous pouvez utiliser la console ou l'interface de ligne de commande pour annuler les environnements en cours.

AWS Management Console

Utilisez la console pour annuler le déploiement d'une mise à jour d'environnement, comme indiqué dans les étapes suivantes.

  1. Dans leAWS Protonconsole, choisissezEnvironnementsdans le volet de navigation.

  2. Dans la liste des environnements, choisissez le nom de l'environnement contenant la mise à jour de déploiement que vous souhaitez annuler.

  3. Si l'état de votre déploiement de mises à jour estEn cours, sur la page détaillée de l'environnement, choisissezActionspuisAnnuler le déploiement.

  4. Une fenêtre modale vous invite à confirmer que vous souhaitez annuler. ChoisissezAnnuler le déploiement.

  5. L'état de votre déploiement de mises à jour est défini surAnnulationpuisAnnulépour terminer l'annulation.

AWS CLI

Utilisez leAWS Proton AWS CLIpour annuler un déploiement de mise à jour de l'environnement IN_PROGRESS vers une nouvelle version mineure 2.

Une condition d'attente est incluse dans le modèle utilisé pour cet exemple afin que l'annulation commence avant la réussite du déploiement de la mise à jour.

Exécutez la commande suivante pour annuler la mise à jour :

$ aws proton cancel-environment-deployment \ --environment-name "MySimpleEnv"

Réponse :

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2021-04-02T17:29:55.472000+00:00", "deploymentStatus": "CANCELLING", "lastDeploymentAttemptedAt": "2021-04-02T18:15:10.243000+00:00", "lastDeploymentSucceededAt": "2021-04-02T17:48:26.307000+00:00", "name": "MySimpleEnv", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole", "spec": "proton: EnvironmentSpec\n\nspec:\n my_sample_input: hello\n my_other_sample_input: everybody\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "simple-env" } }

Exécutez la commande suivante pour obtenir et confirmer l'état : »

$ aws proton get-environment \ --name "MySimpleEnv"

Réponse :

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2021-04-02T17:29:55.472000+00:00", "deploymentStatus": "CANCELLED", "deploymentStatusMessage": "User initiated cancellation.", "lastDeploymentAttemptedAt": "2021-04-02T18:15:10.243000+00:00", "lastDeploymentSucceededAt": "2021-04-02T17:48:26.307000+00:00", "name": "MySimpleEnv", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole", "spec": "proton: EnvironmentSpec\n\nspec:\n my_sample_input: hello\n my_other_sample_input: everybody\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "simple-env" } }