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 l' AWS Proton environnement est associé à une connexion à un compte d'environnement, ne mettez pas à jour ni n'incluez le protonServiceRoleArn paramètre pour mettre à jour ou vous connecter à une connexion à un compte d'environnement.

Vous ne pouvez effectuer une mise à jour vers une nouvelle connexion à un compte d'environnement que si les deux conditions suivantes sont réunies :

  • 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'environnement n'est pas associé à une connexion à un compte d'environnement, ne mettez pas à jour ou n'incluez pas le environmentAccountConnectionId paramètre.

Vous pouvez mettre à jour le protonServiceRoleArn paramètre environmentAccountConnectionId ou la valeur. Vous ne pouvez pas mettre à jour les deux.

Si votre environnement utilise le provisionnement autogéré, ne mettez pas à jour le provisioning-repository paramètre et omettez les environmentAccountConnectionId paramètres et. protonServiceRoleArn

Il existe quatre modes de mise à jour d'un environnement, comme décrit dans la liste suivante. Lorsque vous utilisez le AWS CLI, le deployment-type champ définit le mode. Lorsque vous utilisez la console, ces modes correspondent aux actions Modifier, Mettre à jour, Mettre à jour mineure et Mettre à jour majeure qui se trouvent dans la liste déroulante Actions.

NONE

Dans ce mode, aucun déploiement n'a lieu. 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. N'incluez pas de paramètres de version mineure ou majeure lorsque vous l'utilisezdeployment-type.

MINOR_VERSION

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

MAJOR_VERSION

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

Mettre à jour un AWS environnement de provisionnement géré

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

Utilisez la console ou AWS CLI pour 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 2 étapes suivantes.
    1. Dans la liste des environnements.
      1. Dans la AWS Proton console, choisissez Environments.

      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 console.
      1. Dans la AWS Proton console, choisissez Environments.

      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 de déploiement dans un environnement.
      1. Par exemple, pour modifier une description.

        Choisissez Modifier.

      2. Remplissez le formulaire et choisissez Next.

      3. Vérifiez votre modification et choisissez Mettre à jour.

    2. Pour mettre à jour les entrées de métadonnées uniquement.
      1. Choisissez Actions, puis Mettre à jour.

      2. Remplissez le formulaire et choisissez Modifier.

      3. Remplissez les formulaires et choisissez Suivant jusqu'à ce que vous atteigniez la page d'évaluation.

      4. Passez en revue vos mises à jour et choisissez Mettre à jour.

    3. Pour mettre à jour une nouvelle version mineure de son modèle d'environnement.
      1. Choisissez Actions, puis Mettre à jour un mineur.

      2. Remplissez le formulaire et choisissez Next.

      3. Remplissez les formulaires et choisissez Suivant jusqu'à ce que vous atteigniez la page d'évaluation.

      4. Passez en revue vos mises à jour et choisissez Mettre à jour.

    4. Pour mettre à jour une nouvelle version majeure de son modèle d'environnement.
      1. Choisissez Actions, puis Mettre à jour en majeur.

      2. Remplissez le formulaire et choisissez Next.

      3. Remplissez les formulaires et choisissez Suivant jusqu'à ce que vous atteigniez la page d'évaluation.

      4. Passez en revue vos mises à jour et choisissez Mettre à jour.

AWS CLI

Utilisez le AWS Proton AWS CLI pour 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 le statut :

$ 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 fournissent des ressources avec Terraform.

Utilisez la console ou AWS CLI pour 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 2 étapes suivantes.
    1. Dans la liste des environnements.
      1. Dans la AWS Proton console, choisissez Environments.

      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 console.
      1. Dans la AWS Proton console, choisissez Environments.

      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 de déploiement dans un environnement.
      1. Par exemple, pour modifier une description.

        Choisissez Modifier.

      2. Remplissez le formulaire et choisissez Next.

      3. Vérifiez votre modification et choisissez Mettre à jour.

    2. Pour mettre à jour les entrées de métadonnées uniquement.
      1. Choisissez Actions, puis Mettre à jour.

      2. Remplissez le formulaire et choisissez Modifier.

      3. Remplissez les formulaires et choisissez Suivant jusqu'à ce que vous atteigniez la page d'évaluation.

      4. Passez en revue vos mises à jour et choisissez Mettre à jour.

    3. Pour mettre à jour une nouvelle version mineure de son modèle d'environnement.
      1. Choisissez Actions, puis Mettre à jour un mineur.

      2. Remplissez le formulaire et choisissez Next.

      3. Remplissez les formulaires et choisissez Suivant jusqu'à ce que vous atteigniez la page d'évaluation.

      4. Passez en revue vos mises à jour et choisissez Mettre à jour.

    4. Pour mettre à jour une nouvelle version majeure de son modèle d'environnement.
      1. Choisissez Actions, puis Mettre à jour en majeur.

      2. Remplissez le formulaire et choisissez Next.

      3. Remplissez les formulaires et choisissez Suivant jusqu'à ce que vous atteigniez la page d'évaluation.

      4. Passez en revue vos mises à jour et choisissez Mettre à jour.

AWS CLI
Utilisez le AWS CLI pour 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 le statut :

    $ 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. Passez en revue la pull request envoyée par AWS 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. Indiquez le statut 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 essayer d'annuler le déploiement d'une mise à jour d'environnement si elle deploymentStatus existeIN_PROGRESS. AWS Proton tente d'annuler le déploiement. L'annulation réussie n'est pas garantie.

Lorsque vous annulez le déploiement d'une mise à jour, AWS Proton tente d'annuler le déploiement comme indiqué dans les étapes suivantes.

Avec AWS-managed provisioning, AWS Proton effectue les opérations suivantes :
  • Définit l'état de déploiement surCANCELLING.

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

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

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

Avec le provisionnement autogéré, AWS Proton effectue les opérations suivantes :
  • Tente de fermer la pull request pour empêcher la fusion des modifications apportées à votre dépôt.

  • Définit l'état de déploiement CANCELLED comme si la pull request a été correctement fermée.

Pour obtenir des instructions sur la façon d'annuler le déploiement d'un environnement, reportez-vous CancelEnvironmentDeploymentà la section AWS Proton APIRéférence.

Vous pouvez utiliser la console ou CLI annuler des 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 la AWS Proton console, choisissez Environments dans 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 du déploiement de votre mise à jour est En cours, sur la page détaillée de l'environnement, choisissez Actions, puis Annuler le déploiement.

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

  5. L'état du déploiement de votre mise à jour est défini sur Annulation, puis sur Annulé pour terminer l'annulation.

AWS CLI

Utilisez le AWS Proton AWS CLI pour annuler le déploiement d'une mise à jour de PROGRESS l'environnement IN_ 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 que le déploiement de la mise à jour ne réussisse.

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 le statut : »

$ 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" } }