Ejemplo 1: creación de manuales de procedimientos principal y secundario
En el siguiente ejemplo, se muestra cómo crear dos manuales de procedimientos que apliquen revisiones a grupos etiquetados de instancias de Amazon Elastic Compute Cloud (Amazon EC2) por etapas. Estos manuales de procedimientos se utilizan en una relación de manuales de tipo principal-secundario, por la cual se usa el manual de procedimientos principal para iniciar una automatización de control de frecuencia del manual de procedimientos secundario. Para obtener más información acerca de las automatizaciones de control de frecuencia, consulte Ejecución de operaciones automatizadas a escala. Para obtener más información acerca de las acciones de automatización que se utilizan en este ejemplo, consulte Referencia de acciones de Automatización de Systems Manager.
Cree el manual de procedimientos secundario
En este manual de procedimientos de ejemplo, se aborda el siguiente escenario. Emily se desempeña como ingeniera en sistemas en AnyCompany Consultants, LLC. Debe configurar la aplicación de revisiones para grupos de instancias de Amazon Elastic Compute Cloud (Amazon EC2) que alojen bases de datos primarias y secundarias. Las aplicaciones acceden a estas bases de datos las 24 horas del día, por lo que una de las instancias de base de datos siempre debe estar disponible.
Ella decide que lo mejor que puede hacer es aplicar revisiones a las instancias por etapas. Primero se aplicará revisiones al grupo principal de instancias de base de datos y, luego, al grupo secundario. Además, para evitar incurrir en costos adicionales por dejar en ejecución instancias que se habían detenido anteriormente, Emily quiere que las instancias a las que se aplicaron revisiones se devuelvan a su estado original antes de que se apliquen las revisiones.
Emily identifica los grupos primarios y secundarios de instancias de base de datos a través de las etiquetas asociadas a las instancias. Ella decide crear un manual de procedimientos principal que inicia una automatización de control de frecuencia de un manual de procedimientos secundario. Al hacerlo, puede indicar como destino las etiquetas asociadas a los grupos primarios y secundarios de las instancias de base de datos y, a la vez, administrar la simultaneidad de las automatizaciones secundarias. Después de revisar los documentos disponibles de Systems Manager (SSM) para aplicar revisiones, elige el documento AWS-RunPatchBaseline
. Mediante el uso de este documento de SSM, sus colegas pueden revisar la información de conformidad de las revisiones asociados una vez finalizada la operación de aplicación de revisiones.
Para empezar a crear el contenido de su manual de procedimientos, Emily revisa las acciones de automatización disponibles y comienza a crear el contenido del manual de procedimientos secundario de la siguiente manera:
-
En primer lugar, proporciona valores para el esquema y la descripción del manual de procedimientos, y define los parámetros de entrada para el manual de procedimientos secundario.
A través del parámetro
AutomationAssumeRole
, Emily y sus colegas pueden utilizar un rol de IAM existente que permite a Automation realizar las acciones en el manual de procedimientos en su nombre. Emily utiliza el parámetroInstanceId
para determinar a qué instancia se le debe aplicar una revisión. De forma opcional, los parámetrosOperation
,RebootOption
ySnapshotId
se pueden utilizar para proporcionar valores a los parámetros del documento paraAWS-RunPatchBaseline
. Para evitar que se proporcionen valores no válidos a esos parámetros del documento, define losallowedValues
como se necesiten. -
Con los elementos de nivel superior definidos, Emily continúa con la creación de las acciones que componen los
mainSteps
del manual de procedimientos. El primer paso genera el estado actual de la instancia de destino especificada en el parámetro de entradaInstanceId
mediante la acciónaws:executeAwsApi
. La salida de esta acción se utiliza en acciones posteriores. -
En lugar de realizar un inicio manual y un seguimiento del estado original de cada instancia a la que se debe aplicar una revisión, Emily utiliza la salida de la acción anterior para bifurcar la automatización en función del estado de la instancia de destino. Esto permite que la automatización ejecute diferentes pasos dependiendo de las condiciones definidas en la acción
aws:branch
y, además, mejora la eficiencia general de la automatización sin intervención manual.Si el estado de la instancia ya es
running
, la automatización continúa con la aplicación de revisiones a la instancia con el documentoAWS-RunPatchBaseline
mediante la acciónaws:runCommand
.Si el estado de la instancia es
stopping
, la automatización realiza un sondeo para que la instancia alcance el estadostopped
con la acciónaws:waitForAwsResourceProperty
, activa la instancia con la acciónexecuteAwsApi
y realiza un sondeo para que la instancia alcance el estadorunning
antes de aplicarle revisiones.Si el estado de la instancia es
stopped
, la automatización activa la instancia y realiza un sondeo para que alcance el estadorunning
antes de aplicarle revisiones con las mismas acciones. -
Una vez finalizada la operación de aplicación de revisiones, Emily quiere que la automatización devuelva la instancia de destino al mismo estado en que estaba antes de que comenzara la automatización. Para hacerlo, usa la salida de la primera acción otra vez. La automatización se bifurca en función del estado original de la instancia de destino con la acción
aws:branch
. Si, anteriormente, la instancia estaba en cualquier estado distinto derunning
, se detiene. De lo contrario, si el estado de la instancia esrunning
, se termina la automatización. -
Emily revisa el contenido del manual de procedimientos secundario completado y crea el manual en la misma Cuenta de AWS y Región de AWS que las instancias de destino. Ya está lista para seguir con la creación del contenido del manual de procedimientos principal. A continuación, se muestra el contenido del manual de procedimientos secundario completado.
Para obtener más información acerca de las acciones de automatización que se utilizan en este ejemplo, consulte Referencia de acciones de Automatización de Systems Manager.
Crear el manual de procedimientos principal
En este manual de procedimientos de ejemplo, se continúa con el escenario descrito en la sección anterior. Ahora que Emily ha creado el manual de procedimientos secundario, comienza a generar el contenido del manual de procedimientos principal de la siguiente manera:
-
En primer lugar, proporciona valores para el esquema y la descripción del manual de procedimientos, y define los parámetros de entrada para el manual de procedimientos principal.
A través del parámetro
AutomationAssumeRole
, Emily y sus colegas pueden utilizar un rol de IAM existente que permite a Automation realizar las acciones en el manual de procedimientos en su nombre. Emily utiliza los parámetrosPatchGroupPrimaryKey
yPatchGroupPrimaryValue
para especificar la etiqueta asociada al grupo principal de instancias de base de datos a las cuales se aplicarán revisiones. Utiliza los parámetrosPatchGroupSecondaryKey
yPatchGroupSecondaryValue
para especificar la etiqueta asociada al grupo secundario de instancias de base de datos a las cuales se aplicarán revisiones. -
Con los elementos de nivel superior definidos, Emily continúa con la creación de las acciones que componen los
mainSteps
del manual de procedimientos.La primera acción inicia una automatización de control de frecuencia con el manual de procedimientos secundario que acaba de crear y que indica como destino instancias asociadas a la etiqueta que se especificó en los parámetros de entrada
PatchGroupPrimaryKey
yPatchGroupPrimaryValue
. Utiliza los valores proporcionados para los parámetros de entrada con el fin de especificar la clave y el valor de la etiqueta asociada al grupo principal de instancias de base de datos a las que desea aplicar revisiones.Una vez finalizada la primera automatización, la segunda acción inicia otra automatización de control de frecuencia con el manual de procedimientos secundario que indica como destino instancias asociadas a la etiqueta que se especificó en los parámetros de entrada
PatchGroupSecondaryKey
yPatchGroupSecondaryValue
. Utiliza los valores proporcionados para los parámetros de entrada con el fin de especificar la clave y el valor de la etiqueta asociada al grupo secundario de instancias de base de datos a las que desea aplicar revisiones. -
Emily revisa el contenido del manual de procedimientos principal completado y crea el manual en la misma Cuenta de AWS y Región de AWS que las instancias de destino. Ahora, está lista para probar sus manuales de procedimientos y así asegurarse de que la automatización funciona como desea antes de implementarlos en su entorno de producción. A continuación, se muestra el contenido del manual de procedimientos principal completado.
Para obtener más información acerca de las acciones de automatización que se utilizan en este ejemplo, consulte Referencia de acciones de Automatización de Systems Manager.