Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Otros casos de uso de scripts previos y posteriores en Data Lifecycle Manager
Además de utilizar scripts previos y posteriores para automatizar las instantáneas coherentes con la aplicación, puede utilizarlos de forma conjunta o individual para automatizar otras tareas administrativas antes o después de la creación de las instantáneas. Por ejemplo:
-
Puede usar un script previo para aplicar las revisiones antes de crear las instantáneas. Esto puede ser de utilidad para crear instantáneas después de aplicar las actualizaciones de software semanales o mensuales habituales.
nota
Si opta por ejecutar solo un script previo, la opción Instantáneas coherentes ante bloqueos predeterminadas está habilitada de forma predeterminada.
-
Puede usar un script posterior para aplicar las revisiones después de crear las instantáneas. Esto puede ser de utilidad para crear instantáneas antes de aplicar las actualizaciones de software semanales o mensuales habituales.
Introducción para otros casos de uso
En esta sección se explican los pasos que hay que seguir cuando se utilizan scripts previos o posteriores para casos de uso distintos de las instantáneas coherentes con la aplicación.
Preparación de las instancias de destino para los scripts previos o posteriores
-
Instale SSM Agent en las instancias de destino, si aún no está instalado. Si SSM Agent ya está instalado en las instancias de destino, omita este paso.
-
(Instancias de Linux) Instalación manual del agente SSM en EC2 instancias para Linux
-
(Instancias de Windows) Trabajando con el agente SSM en EC2 instancias de Windows Server
-
-
Asegúrese de que SSM Agent esté en ejecución. Para obtener más información, consulte Verificación del estado de SSM Agent e inicio del agente.
-
Configure Systems Manager para las EC2 instancias de Amazon. Para obtener más información, consulte Configuración de EC2 instancias de Systems Manager para Amazon en la Guía del AWS Systems Manager usuario.
Debe crear un documento de comandos de SSM que incluya los scripts previos o posteriores con los comandos que desee ejecutar.
Puede crear un documento de SSM utilizando la plantilla de documento de SSM vacía que aparece a continuación y agregar los comandos previos y posteriores al script en las secciones del documento correspondientes.
Tenga en cuenta lo siguiente:
-
Es su responsabilidad asegurarse de que el documento de SSM realice las acciones correctas y necesarias para su carga de trabajo.
-
El documento de SSM debe incluir los campos obligatorios para
allowedValues
, incluidospre-script
,post-script
ydry-run
. Amazon Data Lifecycle Manager ejecutará comandos en la instancia en función del contenido de esas secciones. Si su documento de SSM no incluye esas secciones, Amazon Data Lifecycle Manager lo considerará una ejecución fallida.
###===============================================================================### # 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."
nota
Este paso es necesario si:
-
Debe crear o actualizar una política de instantáneas con scripts previos o posteriores que utilice un rol de IAM personalizado.
-
La línea de comandos se utiliza para crear o actualizar una política de instantáneas habilitada para scripts previos o posteriores que utilice el rol predeterminado.
Si utilizas la consola para crear o actualizar una política de instantáneas previa o posterior a las secuencias de comandos que utilice la función predeterminada para gestionar las instantáneas (AWSDataLifecycleManagerDefaultRole), omita este paso. En este caso, adjuntamos automáticamente la política de AWSDataLifecycleManagerSSMFullacceso a esa función.
Debe asegurarse de que el rol de IAM que utilice para la política conceda permiso a Amazon Data Lifecycle Manager para realizar las acciones de SSM necesarias para ejecutar scripts previos y posteriores en las instancias incluidas en la política.
Amazon Data Lifecycle Manager proporciona una política gestionada (AWSDataLifecycleManagerSSMFullacceso) que incluye los permisos necesarios. Puede asociar esta política a su rol de IAM para administrar las instantáneas y asegurarse de que incluya los permisos.
importante
La política de AWSData LifecycleManager SSMFull acceso gestionado utiliza la clave de aws:ResourceTag
condición para restringir el acceso a documentos SSM específicos cuando se utilizan scripts previos y posteriores. Para permitir que Amazon Data Lifecycle Manager acceda a los documentos de SSM, debe asegurarse de que sus documentos de SSM estén etiquetados con DLMScriptsAccess:true
.
Como alternativa, puede crear manualmente una política personalizada o asignar los permisos necesarios directamente al rol de IAM que utilice. Puede utilizar los mismos permisos que se definen en la política de AWSData LifecycleManager SSMFull acceso gestionado; sin embargo, la clave de aws:ResourceTag
condición es opcional. Si decide no utilizar esa clave de condición, no tendrá que etiquetar sus documentos de SSM con DLMScriptsAccess:true
.
Utilice uno de los siguientes métodos para añadir la política de AWSDataLifecycleManagerSSMFullacceso a su función de IAM.