Travailler avec des stratégies de déploiement - AWS AppConfig

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.

Travailler avec des stratégies de déploiement

Une stratégie de déploiement vous permet d'apporter lentement les modifications aux environnements de production en quelques minutes ou heures. Une stratégie de AWS AppConfig déploiement définit les aspects importants suivants d'un déploiement de configuration.

Paramètre Description

Type de déploiement

Le type de déploiement définit le mode de déploiement ou de déploiement de la configuration. AWS AppConfig prend en charge les types de déploiement linéaire et exponentiel.

  • Linéaire : pour ce type, AWS AppConfig traite le déploiement par incréments du facteur de croissance répartis uniformément sur le déploiement. Voici un exemple de calendrier pour un déploiement de 10 heures utilisant une croissance linéaire de 20 % :

    Temps écoulé Progression du déploiement

    0 heure

    0 %

    2 heures

    20 %

    4 heures

    40 %

    6 heures

    60 %

    8 heures

    80 %

    10 heures

    100 %

  • Exponentiel : pour ce type, AWS AppConfig traite le déploiement de manière exponentielle à l'aide de la formule suivante : G*(2^N). Dans cette formule, G est le pourcentage d'étape spécifié par l'utilisateur et N est le nombre d'étapes jusqu'à ce que la configuration soit déployée sur toutes les cibles. Par exemple, si vous spécifiez un facteur de croissance de 2, le système déploie la configuration comme suit :

    2*(2^0) 2*(2^1) 2*(2^2)

    Exprimé numériquement, le déploiement se déroule comme suit : 2 % des cibles, 4 % des cibles, 8 % des cibles, et cela se poursuit jusqu'à ce que la configuration ait été déployée sur toutes les cibles.

Pourcentage d'étape (facteur de croissance)

Ce paramètre spécifie le pourcentage de mandataires à cibler à chaque étape du déploiement.

Note

Dans le SDK et la Référence d'API AWS AppConfig, step percentage est appelé growth factor.

Temps de déploiement

Ce paramètre indique la durée pendant laquelle les AWS AppConfig déploiements sur les hôtes sont effectués. Il ne s'agit pas d'une valeur de délai d'attente. Il s'agit d'une fenêtre horaire au cours de laquelle le déploiement est géré à intervalles réguliers.

Temps d'attente

Ce paramètre indique la durée pendant laquelle Amazon AWS AppConfig surveille les CloudWatch alarmes après le déploiement de la configuration sur 100 % de ses cibles, avant de considérer que le déploiement est terminé. Si une alarme est déclenchée pendant cette période, AWS AppConfig annule le déploiement. Vous devez configurer les autorisations pour AWS AppConfig revenir en arrière en fonction des CloudWatch alarmes. Pour plus d’informations, consultez (Facultatif) Configurer les autorisations de restauration en fonction des alarmes CloudWatch .

Vous pouvez choisir une stratégie prédéfinie incluse AWS AppConfig ou créer la vôtre.

Stratégies de déploiement prédéfinies

AWS AppConfig inclut des stratégies de déploiement prédéfinies pour vous aider à déployer rapidement une configuration. Au lieu de créer vos propres stratégies, vous pouvez choisir l'une des options suivantes lorsque vous déployez une configuration.

Stratégie de déploiement Description

AppConfig. Linéaire 20 PercentEvery à 6 minutes

AWS recommandé :

Cette stratégie déploie la configuration sur 20 % de toutes les cibles toutes les six minutes pour un déploiement de 30 minutes. Le système surveille les CloudWatch alarmes Amazon pendant 30 minutes. Si aucune alarme n'est reçue pendant cette période, le déploiement est terminé. Si une alarme est déclenchée pendant cette période, AWS AppConfig annule le déploiement.

Nous recommandons d'utiliser cette stratégie pour les déploiements de production, car elle est conforme aux AWS meilleures pratiques et met davantage l'accent sur la sécurité des déploiements en raison de sa longue durée et de son temps de cuisson.

AppConfig. Canary 10 % 20 minutes

AWS recommandé :

Cette stratégie traite le déploiement de manière exponentielle en utilisant un facteur de croissance de 10 % sur 20 minutes. Le système surveille les CloudWatch alarmes pendant 10 minutes. Si aucune alarme n'est reçue pendant cette période, le déploiement est terminé. Si une alarme est déclenchée pendant cette période, AWS AppConfig annule le déploiement.

Nous recommandons d'utiliser cette stratégie pour les déploiements de production car elle est conforme aux AWS meilleures pratiques en matière de déploiements de configuration.

AppConfig.AllAtOnce

Quick :

Cette stratégie déploie immédiatement la configuration sur toutes les cibles. Le système surveille les CloudWatch alarmes pendant 10 minutes. Si aucune alarme n'est reçue pendant cette période, le déploiement est terminé. Si une alarme est déclenchée pendant cette période, AWS AppConfig annule le déploiement.

AppConfig. Linéaire 50 30 secondes PercentEvery

Tests et démonstration :

Cette stratégie déploie la configuration sur la moitié de toutes les cibles toutes les 30 secondes pour un déploiement d'une minute. Le système surveille les CloudWatch alarmes Amazon pendant 1 minute. Si aucune alarme n'est reçue pendant cette période, le déploiement est terminé. Si une alarme est déclenchée pendant cette période, AWS AppConfig annule le déploiement.

Nous vous recommandons d'utiliser cette stratégie uniquement à des fins de test ou de démonstration, car elle a une courte durée et un temps d'attente.

Création d'une stratégie de déploiement

Si vous ne souhaitez pas utiliser l'une des stratégies de déploiement prédéfinies, vous pouvez créer la vôtre. Vous pouvez créer un maximum de 20 stratégies de déploiement. Lorsque vous déployez une configuration, vous pouvez choisir la stratégie de déploiement qui convient le mieux à l'application et à l'environnement.

Création d'une stratégie de AWS AppConfig déploiement (console)

Utilisez la procédure suivante pour créer une stratégie de AWS AppConfig déploiement à l'aide de la AWS Systems Manager console.

Pour créer une stratégie de déploiement
  1. Ouvrez la AWS Systems Manager console à l'adresse https://console.aws.amazon.com/systems-manager/appconfig/.

  2. Dans le volet de navigation, choisissez Stratégies de déploiement, puis sélectionnez Créer une stratégie de déploiement.

  3. Pour Name (Nom), entrez un nom pour la stratégie de déploiement.

  4. Pour Description, entrez des informations sur la stratégie de déploiement.

  5. Pour Type de déploiement, choisissez un type.

  6. Pour Step percentage (Pourcentage d'étape), choisissez le pourcentage de mandataires à cibler à chaque étape du déploiement.

  7. Dans la zone Deployment time (Temps de déploiement), entrez la durée totale du déploiement en minutes ou en heures.

  8. Pour le temps de cuisson, entrez le temps total, en minutes ou en heures, nécessaire pour surveiller les CloudWatch alarmes Amazon avant de passer à l'étape suivante d'un déploiement ou avant de considérer le déploiement comme terminé.

  9. Dans la section Tags (Balises) entrez une clé et une valeur facultative. Vous pouvez spécifier un maximum de 50 balises par ressource.

  10. Choisissez Create deployment strategy (Créer une stratégie de déploiement).

Important

Si vous avez créé un profil de configuration pour AWS CodePipeline, vous devez créer un pipeline dans CodePipeline lequel vous AWS AppConfig spécifiez le fournisseur de déploiement. Vous n'avez pas besoin de jouerDéploiement d'une configuration. Toutefois, vous devez configurer un client pour recevoir les mises à jour de configuration des applications, comme décrit dansRécupération de configurations en appelant directement des API. Pour plus d'informations sur la création d'un pipeline AWS AppConfig spécifié comme fournisseur de déploiement, voir Tutoriel : Création d'un pipeline utilisé AWS AppConfig comme fournisseur de déploiement dans le Guide de AWS CodePipeline l'utilisateur.

Passez à Déploiement d'une configuration.

Création d'une stratégie de AWS AppConfig déploiement (ligne de commande)

La procédure suivante décrit comment utiliser AWS CLI (sous Linux ou Windows) ou comment AWS Tools for PowerShell créer une stratégie de AWS AppConfig déploiement.

Pour créer une stratégie de déploiement étape par étape
  1. Ouvrez le AWS CLI.

  2. Exécutez la commande suivante pour créer une stratégie de déploiement.

    Linux
    aws appconfig create-deployment-strategy \ --name A_name_for_the_deployment_strategy \ --description A_description_of_the_deployment_strategy \ --deployment-duration-in-minutes Total_amount_of_time_for_a_deployment_to_last \ --final-bake-time-in-minutes Amount_of_time_AWS AppConfig_monitors_for_alarms_before_considering_the_deployment_to_be_complete \ --growth-factor The_percentage_of_targets_to_receive_a_deployed_configuration_during_each_interval \ --growth-type The_linear_or_exponential_algorithm_used_to_define_how_percentage_grows_over_time \ --replicate-to To_save_the_deployment_strategy_to_a_Systems_Manager_(SSM)_document \ --tags User_defined_key_value_pair_metadata_of_the_deployment_strategy
    Windows
    aws appconfig create-deployment-strategy ^ --name A_name_for_the_deployment_strategy ^ --description A_description_of_the_deployment_strategy ^ --deployment-duration-in-minutes Total_amount_of_time_for_a_deployment_to_last ^ --final-bake-time-in-minutes Amount_of_time_AWS AppConfig_monitors_for_alarms_before_considering_the_deployment_to_be_complete ^ --growth-factor The_percentage_of_targets_to_receive_a_deployed_configuration_during_each_interval ^ --growth-type The_linear_or_exponential_algorithm_used_to_define_how_percentage_grows_over_time ^ --name A_name_for_the_deployment_strategy ^ --replicate-to To_save_the_deployment_strategy_to_a_Systems_Manager_(SSM)_document ^ --tags User_defined_key_value_pair_metadata_of_the_deployment_strategy
    PowerShell
    New-APPCDeploymentStrategy ` --Name A_name_for_the_deployment_strategy ` --Description A_description_of_the_deployment_strategy ` --DeploymentDurationInMinutes Total_amount_of_time_for_a_deployment_to_last ` --FinalBakeTimeInMinutes Amount_of_time_AWS AppConfig_monitors_for_alarms_before_considering_the_deployment_to_be_complete ` --GrowthFactor The_percentage_of_targets_to_receive_a_deployed_configuration_during_each_interval ` --GrowthType The_linear_or_exponential_algorithm_used_to_define_how_percentage_grows_over_time ` --ReplicateTo To_save_the_deployment_strategy_to_a_Systems_Manager_(SSM)_document ` --Tag Hashtable_type_User_defined_key_value_pair_metadata_of_the_deployment_strategy

    Le système retourne des informations telles que les suivantes.

    Linux
    {
       "Id": "Id of the deployment strategy",
       "Name": "Name of the deployment strategy",
       "Description": "Description of the deployment strategy",
       "DeploymentDurationInMinutes": "Total amount of time the deployment lasted",
       "GrowthType": "The linear or exponential algorithm used to define how percentage grew over time",
       "GrowthFactor": "The percentage of targets that received a deployed configuration during each interval",  
       "FinalBakeTimeInMinutes": "The amount of time AWS AppConfig monitored for alarms before considering the deployment to be complete",
       "ReplicateTo": "The Systems Manager (SSM) document where the deployment strategy is saved"
    }
    Windows
    {
       "Id": "Id of the deployment strategy",
       "Name": "Name of the deployment strategy",
       "Description": "Description of the deployment strategy",
       "DeploymentDurationInMinutes": "Total amount of time the deployment lasted",
       "GrowthType": "The linear or exponential algorithm used to define how percentage grew over time",
       "GrowthFactor": "The percentage of targets that received a deployed configuration during each interval",  
       "FinalBakeTimeInMinutes": "The amount of time AWS AppConfig monitored for alarms before considering the deployment to be complete",
       "ReplicateTo": "The Systems Manager (SSM) document where the deployment strategy is saved"
    }
    PowerShell
    ContentLength               : Runtime of the command
    DeploymentDurationInMinutes : Total amount of time the deployment lasted
    Description                 : Description of the deployment strategy
    FinalBakeTimeInMinutes      : The amount of time AWS AppConfig monitored for alarms before considering the deployment to be complete
    GrowthFactor                : The percentage of targets that received a deployed configuration during each interval
    GrowthType                  : The linear or exponential algorithm used to define how percentage grew over time
    HttpStatusCode              : HTTP Status of the runtime
    Id                          : The deployment strategy ID
    Name                        : Name of the deployment strategy
    ReplicateTo                 : The Systems Manager (SSM) document where the deployment strategy is saved
    ResponseMetadata            : Runtime Metadata