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.
Autres cas d'utilisation des scripts antérieurs et postérieurs à Data Lifecycle Manager
Outre l’automatisation des instantanés cohérents par rapport à l’application, vous pouvez utiliser les pré-scripts et les post-scripts ensemble ou séparément pour automatiser d’autres tâches administratives avant ou après la création des instantanés. Par exemple :
-
Utilisation d’un pré-script pour appliquer des correctifs avant la création d’instantanés. Cela peut vous aider à créer des instantanés après avoir appliqué vos mises à jour logicielles hebdomadaires ou mensuelles régulières.
Note
Si vous choisissez d’exécuter uniquement un pré-script, l’option Prise par défaut d’instantanés en cas de panne est activée par défaut.
-
Utilisation d’un post-script pour appliquer des correctifs après la création d’instantanés. Cela peut vous aider à créer des instantanés avant d’appliquer vos mises à jour logicielles hebdomadaires ou mensuelles régulières.
Démarrage pour d’autres cas d’utilisation
Cette section explique les étapes à suivre lorsque vous utilisez des pré-scripts et/ou des post-scripts pour des cas d’utilisation autres que des instantanés cohérents par rapport à l’application.
Pour préparer vos instances cibles pour les pré-scripts et/ou les post-scripts
-
Installez l’agent SSM sur vos instances cibles, s’il n’est pas déjà installé. Si l’agent SSM est déjà installé sur vos instances cibles, ignorez cette étape.
-
(Instances Linux) Installation manuelle de l'agent SSM sur les EC2 instances pour Linux
-
(instances Windows) Utilisation de l'agent SSM sur les EC2 instances pour Windows Server
-
-
Assurez-vous que l’agent SSM est en cours d’exécution. Pour plus d’informations, consultez Vérification du statut de l’SSM Agent et démarrage de l’agent.
-
Configurez Systems Manager pour les EC2 instances Amazon. Pour plus d'informations, consultez la section Configuration de Systems Manager pour les EC2 instances Amazon dans le Guide de AWS Systems Manager l'utilisateur.
Vous devez créer un document de commande SSM qui inclut les pré-scripts et/ou les post-scripts avec les commandes que vous souhaitez exécuter.
Vous pouvez créer un document SSM à l’aide du modèle de document SSM vide ci-dessous et ajouter vos commandes pré-script et post-script dans les sections de document appropriées.
Remarques :
-
Il est de votre responsabilité de vous assurer que le document SSM exécute les actions correctes et requises pour votre charge de travail.
-
Le document SSM doit inclure les champs obligatoires pour
allowedValues
, notammentpre-script
,post-script
etdry-run
. Amazon Data Lifecycle Manager exécutera des commandes sur votre instance en fonction du contenu de ces sections. Si votre document SSM ne contient pas ces sections, Amazon Data Lifecycle Manager le considérera comme un échec d’exécution.
###===============================================================================### # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # Permission is hereby granted, free of charge, to any person obtaining a copy of this # software and associated documentation files (the "Software"), to deal in the Software # without restriction, including without limitation the rights to use, copy, modify, # merge, publish, distribute, sublicense, and/or sell copies of the Software, and to # permit persons to whom the Software is furnished to do so. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A # PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ###===============================================================================### schemaVersion: '2.2' description: SSM Document Template for Amazon Data Lifecycle Manager Pre/Post script feature parameters: executionId: type: String default: None description: (Required) Specifies the unique identifier associated with a pre and/or post execution allowedPattern: ^(None|[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12})$ command: # Data Lifecycle Manager will trigger the pre-script and post-script actions during policy execution. # 'dry-run' option is intended for validating the document execution without triggering any commands # on the instance. The following allowedValues will allow Data Lifecycle Manager to successfully # trigger pre and post script actions. type: String default: 'dry-run' description: (Required) Specifies whether pre-script and/or post-script should be executed. allowedValues: - pre-script - post-script - dry-run mainSteps: - action: aws:runShellScript description: Run Database freeze/thaw commands name: run_pre_post_scripts precondition: StringEquals: - platformType - Linux inputs: runCommand: - | #!/bin/bash ###===============================================================================### ### Error Codes ###===============================================================================### # The following Error codes will inform Data Lifecycle Manager of the type of error # and help guide handling of the error. # The Error code will also be emitted via AWS Eventbridge events in the 'cause' field. # 1 Pre-script failed during execution - 201 # 2 Post-script failed during execution - 202 # 3 Auto thaw occurred before post-script was initiated - 203 # 4 Pre-script initiated while post-script was expected - 204 # 5 Post-script initiated while pre-script was expected - 205 # 6 Application not ready for pre or post-script initiation - 206 ###===============================================================================### ### Global variables ###===============================================================================### START=$(date +%s) # For testing this script locally, replace the below with OPERATION=$1. OPERATION={{ command }} # Add all pre-script actions to be performed within the function below execute_pre_script() { echo "INFO: Start execution of pre-script" } # Add all post-script actions to be performed within the function below execute_post_script() { echo "INFO: Start execution of post-script" } # Debug logging for parameters passed to the SSM document echo "INFO: ${OPERATION} starting at $(date) with executionId: ${EXECUTION_ID}" # Based on the command parameter value execute the function that supports # pre-script/post-script operation case ${OPERATION} in pre-script) execute_pre_script ;; post-script) execute_post_script ;; dry-run) echo "INFO: dry-run option invoked - taking no action" ;; *) echo "ERROR: Invalid command parameter passed. Please use either pre-script, post-script, dry-run." exit 1 # return failure ;; esac END=$(date +%s) # Debug Log for profiling the script time echo "INFO: ${OPERATION} completed at $(date). Total runtime: $((${END} - ${START})) seconds."
Note
Cette étape est nécessaire si :
-
vous créez ou mettez à jour une politique d’instantanés avec pré/post-scripts activés qui utilise un rôle IAM personnalisé ;
-
vous utilisez la ligne de commande pour créer ou mettre à jour une politique d’instantanés avec pré/post-scripts activés qui utilise la valeur par défaut.
Si vous utilisez la console pour créer ou mettre à jour une politique de capture d'écran activée avant ou après le script qui utilise le rôle par défaut pour la gestion des instantanés (AWSDataLifecycleManagerDefaultRole), ignorez cette étape. Dans ce cas, nous associons automatiquement la politique AWSDataLifecycleManagerSSMFulld'accès à ce rôle.
Vous devez vous assurer que ce rôle IAM que vous utilisez pour la politique accorde à Amazon Data Lifecycle Manager l’autorisation d’effectuer les actions SSM requises pour exécuter les pré-scripts et les post-scripts sur les instances ciblées par la politique.
Amazon Data Lifecycle Manager fournit une politique gérée (AWSDataLifecycleManagerSSMFullAccess) qui inclut les autorisations requises. Vous pouvez associer cette politique à votre rôle IAM pour gérer les instantanés afin de vous assurer qu’elle inclut les autorisations.
Important
La politique AWSData LifecycleManager SSMFull d'accès géré utilise la clé de aws:ResourceTag
condition pour restreindre l'accès à des documents SSM spécifiques lors de l'utilisation de scripts pré et post. Pour autoriser Amazon Data Lifecycle Manager à accéder aux documents SSM, vous devez vous assurer que vos documents SSM sont balisés avec DLMScriptsAccess:true
.
Vous pouvez également créer manuellement une politique personnalisée ou attribuer les autorisations requises directement au rôle IAM que vous utilisez. Vous pouvez utiliser les mêmes autorisations que celles définies dans la politique AWSData LifecycleManager SSMFull d'accès géré, mais la clé de aws:ResourceTag
condition est facultative. Si vous décidez de ne pas utiliser cette clé de condition, vous n’avez pas besoin de baliser vos documents SSM avec DLMScriptsAccess:true
.
Utilisez l'une des méthodes suivantes pour ajouter la politique AWSDataLifecycleManagerSSMFulld'accès à votre rôle IAM.