AWSPremiumSupport-PostgreSQLWorkloadReview - AWS Systems Manager Referencia del manual de automatización

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.

AWSPremiumSupport-PostgreSQLWorkloadReview

Descripción

El manual de procedimientos AWSPremiumSupport-PostgreSQLWorkloadReview captura varias instantáneas de las estadísticas de uso de base de datos de PostgreSQL de Amazon Relational Database Service (Amazon RDS). Las estadísticas recopiladas son necesarias para que un experto de AWS Support Proactive Services realice una revisión operativa. Las estadísticas se recopilan mediante un conjunto de scripts SQL y de intérprete de comandos personalizados. Estos scripts se descargan en una instancia temporal de Amazon Elastic Compute Cloud (Amazon EC2) creada por este runbook. Cuenta de AWS El manual de procedimientos requiere que proporcione credenciales mediante un secreto AWS Secrets Manager que contenga un par de clave-valor de nombre de usuario y contraseña. El nombre de usuario debe tener permisos para consultar las vistas y funciones de estadísticas estándar de PostgreSQL.

Este manual crea automáticamente los siguientes AWS recursos Cuenta de AWS mediante una pila. AWS CloudFormation Puede supervisar la creación de la pila mediante la consola AWS CloudFormation .

  • Una nube privada virtual (VPC) y una instancia de Amazon EC2 lanzadas en una subred privada de VPC con conectividad opcional a Internet mediante una puerta de enlace NAT.

  • Un rol AWS Identity and Access Management (IAM) asociado a la instancia temporal de Amazon EC2 con permisos para recuperar el valor secreto de Secrets Manager. El rol también proporciona permisos para cargar archivos en un bucket de Amazon Simple Storage Service (Amazon S3) que elija y, opcionalmente, en un caso. AWS Support

  • Una conexión de emparejamiento de VPC para permitir la conectividad entre la instancia de base de datos y la instancia temporal de Amazon EC2.

  • Puntos de conexión de VPC Systems Manager, Secrets Manager y Amazon S3 que están conectados a la VPC temporal.

  • Un período de mantenimiento con tareas registradas que inician y detienen periódicamente la instancia temporal de Amazon EC2, ejecutan scripts de recopilación de datos y suben archivos a un bucket de Amazon S3. También se crea un rol de IAM para la ventana de mantenimiento que proporciona permisos para realizar las tareas registradas.

Cuando se complete el runbook, se eliminará la AWS CloudFormation pila que se utilizó para crear los AWS recursos necesarios y el informe se cargará en el bucket de Amazon S3 que elija y, opcionalmente, en un AWS Support caso.

nota

De forma predeterminada, se conserva el volumen raíz de Amazon EBS de la instancia temporal de Amazon EC2. Puede invalidar esta configuración seleccionando el EbsVolumeDeleteOnTermination con el parámetro true.

Requisitos previos 

  • Suscripción a Enterprise Support Este manual de procedimientos y los diagnósticos y revisiones de la carga de trabajo de Proactive Services requieren una suscripción a Enterprise Support. Antes de utilizar este manual de procedimientos, póngase en contacto con su administrador técnico de cuentas (TAM) o con un especialista en TAM (STAM) para obtener instrucciones. Para obtener más información, consulte Servicios proactivos de AWS Support.

  • Cuenta y Región de AWS cuotas Asegúrese de no haber alcanzado el número máximo de instancias o VPC de Amazon EC2 que puede crear en su cuenta y región en las que utiliza este runbook. Si necesita solicitar un aumento de los límites, utilice el formulario de aumento de los límites de servicio.

  • Configuración de las bases de datos

    1. La base de datos que especifique en el parámetro DatabaseName debe tener la extensión pg_stat_statements configurada. Si no ha configurado pg_stat_statements en shared_preload_libraries, debe editar el valor en el grupo de parámetros de base de datos y aplicar los cambios. Los cambios en el parámetro shared_preload_libraries requieren que reinicie su instancia de base de datos. Para obtener más información, consulte Trabajo con los grupos de parámetros. Si se añade pg_stat_statements a shared_preload_libraries, se añadirá cierta sobrecarga de rendimiento. Sin embargo, esto es útil para realizar un seguimiento del rendimiento de las declaraciones individuales. Para obtener más información acerca de la extensión pg_stat_statements, consulte la documentación de PostgreSQL. Si no configura la extensión pg_stat_statements o si la extensión no está presente en la base de datos que se utiliza para la recopilación de estadísticas, el análisis a nivel de declaración no se presentará en la revisión operativa.

    2. Asegúrese de que los parámetros track_counts y track_activities no estén desactivados. Si estos parámetros están desactivados en el grupo de parámetros de la base de datos, no habrá estadísticas significativas disponibles. Para cambiar estos parámetros, deberá reiniciar su instancia de base de datos. Para obtener más información, consulte Uso de parámetros en su instancia de base de datos de Amazon RDS para PostgreSQL.

    3. Si el parámetro track_io_timing está desactivado, las estadísticas del nivel de E/S no se incluirán en la revisión operativa. El cambio track_io_timing requerirá reiniciar la instancia de base de datos y generará una sobrecarga de rendimiento adicional en función de la carga de trabajo de la instancia de base de datos. A pesar de la sobrecarga de rendimiento de las cargas de trabajo críticas, este parámetro proporciona información útil relacionada con el tiempo de E/S por consulta.

Facturación y cargos Se le Cuenta de AWS cobrarán los costos asociados a la instancia temporal de Amazon EC2, el volumen de Amazon EBS asociado, la puerta de enlace NAT y los datos transferidos durante la ejecución de esta automatización. De forma predeterminada, este manual de procedimientos crea una instancia de t3.micro Amazon Linux 2 para recopilar las estadísticas. El manual de procedimientos inicia y detiene la instancia entre los pasos para reducir los costos.

Seguridad y gobernanza de datos Este manual de procedimientos recopila estadísticas consultando las vistas y funciones estadísticas de PostgreSQL. Asegúrese de que las credenciales proporcionadas en el parámetro SecretId solo concedan permisos de solo lectura para las vistas y funciones de estadísticas. Como parte de la automatización, los scripts de recopilación se cargan en su bucket de Amazon S3 y se pueden encontrar en s3://DOC-EXAMPLE-BUCKET/automation execution id/queries/.

Estos scripts recopilan datos que un AWS especialista utiliza para revisar los indicadores clave de rendimiento a nivel de objeto. El script recopila información como el nombre de la tabla, el nombre del esquema y el nombre del índice. Si parte de esta información contiene información confidencial, como indicadores de ingresos, nombre de usuario, dirección de correo electrónico o cualquier otra información de identificación personal, le recomendamos que deje de revisar la carga de trabajo. Póngase en contacto con su AWS TAM para analizar un enfoque alternativo para la revisión de la carga de trabajo.

Asegúrese de contar con la aprobación y la autorización necesarias para compartir con usted las estadísticas y los metadatos recopilados por esta automatización AWS.

Consideraciones de seguridad Si establece el parámetro UpdateRdsSecurityGroup en yes, el manual de procedimientos actualiza el grupo de seguridad asociado a la instancia de base de datos para permitir el tráfico entrante desde la dirección IP privada de la instancia temporal de Amazon EC2.

Si establece el parámetro UpdateRdsRouteTable en yes, el manual de procedimientos actualiza la tabla de enrutamiento asociada a la subred en la que se ejecuta su instancia de base de datos para permitir el tráfico a la instancia temporal de Amazon EC2 a través de la conexión de emparejamiento de VPC.

Creación de usuarios Para permitir que el script de recopilación se conecte a su base de datos de Amazon RDS, debe configurar un usuario con permisos para leer las vistas de las estadísticas. Debe almacenar estas credenciales en Secrets Manager. Recomendamos crear un nuevo usuario dedicado para esta automatización. La creación de un usuario independiente le permite auditar y realizar un seguimiento de las actividades realizadas por esta automatización.

  1. Cree un nuevo usuario.

    psql -h <database_connection_endpoint> -p <database_port> -U <admin_user> -c "CREATE USER <user_name> PASSWORD '<password>';"

  2. Asegúrese de que este usuario solo pueda realizar conexiones de solo lectura.

    psql -h <database_connection_endpoint> -p <database_port> -U <admin_user> -c "ALTER USER <user_name> SET default_transaction_read_only=true;"

  3. Establezca límites a nivel de usuario.

    psql -h <database_connection_endpoint> -p <database_port> -U <admin_user> -c "ALTER USER <user_name> SET work_mem=4096;"

    psql -h <database_connection_endpoint> -p <database_port> -U <admin_user> -c "ALTER USER <user_name> SET statement_timeout=10000;"

    psql -h <database_connection_endpoint> -p <database_port> -U <admin_user> -c "ALTER USER <user_name> SET idle_in_transaction_session_timeout=60000;"

  4. Conceda permisos pg_monitor al nuevo usuario para que pueda acceder a las estadísticas de la base de datos. (El rol pg_monitor es miembro de pg_read_all_settings, pg_read_all_stats y pg_stat_scan_table.)

    psql -h <database_connection_endpoint> -p <database_port> -U <admin_user> -c "GRANT pg_monitor to <user_name>;"

Permisos añadidos al perfil de instancia temporal de Amazon EC2 por esta automatización de Systems Manager Los siguientes permisos se añaden al rol de IAM asociado a la instancia temporal de Amazon EC2. La política AmazonSSMManagedInstanceCore gestionada también está asociada al rol de IAM para permitir que Systems Manager gestione la instancia de Amazon EC2.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:DescribeTags" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "Effect": "Allow" }, { "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/automation execution id/*", "Effect": "Allow" }, { "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:region:account id:secret:secret id", "Effect": "Allow" }, { "Action": [ "support:AddAttachmentsToSet", "support:AddCommunicationToCase", "support:DescribeCases" ], "Resource": "*", "Effect": "Allow" } ] }

Permisos agregados a la ventana de mantenimiento temporal por esta automatización de Systems Manager Los siguientes permisos se agregan automáticamente al rol de IAM asociado a las tareas de mantenimiento de Windows. Las tareas de mantenimiento de Windows inician, detienen y envían comandos a la instancia temporal de Amazon EC2.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ssm:GetAutomationExecution", "ssm:ListCommands", "ssm:ListCommandInvocations", "ssm:GetCommandInvocation", "ssm:GetCalendarState", "ssm:CancelCommand", "ec2:DescribeInstanceStatus" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ssm:SendCommand", "ec2:StartInstances", "ec2:StopInstances", "ssm:StartAutomationExecution" ], "Resource": [ "arn:aws:ec2:region:account id:instance/temporary instance id", "arn:aws:ssm:*:*:document/AWS-RunShellScript", "arn:aws:ssm:*:*:automation-definition/AWS-StopEC2Instance:$DEFAULT", "arn:aws:ssm:*:*:automation-definition/AWS-StartEC2Instance:$DEFAULT" ], "Effect": "Allow" }, { "Condition": { "StringEquals": { "iam:PassedToService": "ssm.amazonaws.com" } }, "Action": "iam:PassRole", "Resource": "*", "Effect": "Allow" } ] }

Ejecuta esta automatización (consola)

Tipo de documento

Automatización

Propietario

Amazon

Plataformas

Bases de datos

Parámetros

  • AutomationAssumeRole

    Tipo: cadena

    Descripción: (opcional) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utiliza los permisos del usuario que comienza este manual de procedimientos.

  • BASE DE DATOS InstanceIdentifier

    Tipo: cadena

    Descripción: (obligatorio) ID de la instancia DB.

  • DatabaseName

    Tipo: cadena

    Descripción: (obligatorio) el nombre de la base de datos alojada en su instancia de base de datos.

  • SecretId

    Tipo: cadena

    Descripción: (obligatorio) el ARN de su secreto de Secrets Manager que contenga un par de clave-valor de nombre de usuario y contraseña. La AWS CloudFormation pila crea una política de IAM con permisos para la GetSecretValue operación en este ARN. Las credenciales se utilizan para permitir que la instancia temporal recopile las estadísticas de la base de datos. Póngase en contacto con su TAM o STAM para hablar sobre los permisos mínimos requeridos.

  • Acknowledge

    Tipo: cadena

    Descripción: (obligatorio) introduzca yes si reconoce que este manual de procedimientos creará recursos temporales en su cuenta para recopilar estadísticas de su instancia de base de datos. Le recomendamos que se ponga en contacto con su TAM o STAM antes de ejecutar esta automatización.

  • SupportCase

    Tipo: cadena

    Descripción: (opcional) El número de AWS Support caso proporcionado por su TAM o STAM. Si se proporciona, el manual de procedimientos actualiza el caso y adjunta los datos recopilados. Esta opción requiere que la instancia temporal de Amazon EC2 tenga conectividad a Internet para acceder al punto final de la AWS Support API. El parámetro AllowVpcInternetAccess debe estar establecido en true. El asunto del caso debe contener la frase AWSPremiumSupport-PostgreSQLWorkloadReview.

  • S3 BucketName

    Tipo: cadena

    Descripción: (obligatorio) el nombre del bucket de Amazon S3 de su cuenta en la que desea cargar los datos recopilados por la automatización. Verifique que la política del bucket no conceda permisos de lectura o escritura innecesarios a las entidades principales que no necesiten acceso al contenido del bucket. Recomendamos crear un nuevo bucket temporal de Amazon S3 para esta automatización. El manual de procedimientos proporciona permisos para la operación API de s3:PutObject al rol de IAM asociado a la instancia de Amazon EC2 temporal. Los archivos cargados se ubicarán en s3://bucket name/automation execution id/.

  • InstanceType

    Tipo: cadena

    Descripción: (opcional) el tipo de instancia temporal de Amazon EC2 que ejecutará los scripts SQL y de intérprete de comandos personalizados.

    Valores válidos: t2.micro | t2.small | t2.medium | t2.large | t3.micro | t3.small | t3.medium | t3.large

    Valor predeterminado: t3.micro

  • VpcCidr

    Tipo: cadena

    Descripción: (opcional) el rango de dirección IP en notación CIDR para la nueva VPC (por ejemplo, 172.31.0.0/16). Asegúrese de seleccionar un CIDR que no se superponga ni coincida con ninguna VPC existente con conectividad a su instancia de base de datos. La VPC más pequeña que puede crear utiliza una máscara de subred /28 y la VPC mayor utiliza una máscara de subred /16.

    Valor predeterminado: 172.31.0.0/16

  • StackResourcesNamePrefix

    Tipo: cadena

    Descripción: (opcional) El nombre, el prefijo y la etiqueta de los recursos de la AWS CloudFormation pila. El manual crea los recursos de la AWS CloudFormation pila utilizando este prefijo como parte del nombre y la etiqueta que se aplican a los recursos. La estructura del par clave-valor de etiqueta es StackResourcesNamePrefix:{{automation:EXECUTION_ID}}.

    Predeterminado: AWSPostgreSQLWorkloadReview

  • Programación

    Tipo: cadena

    Descripción: (opcional) el horario del período de mantenimiento. Especifica la frecuencia con la que la ventana de mantenimiento ejecuta las tareas. El valor predeterminado es 1 hour.

    Valores válidos: 15 minutes | 30 minutes | 1 hour | 2 hours | 4 hours | 6 hours | 12 hours | 1 day | 2 days | 4 days

    Valor predeterminado: 1 hora

  • Duración

    Tipo: entero

    Descripción: (opcional) el tiempo máximo, en minutos, que desea permitir que se ejecute la automatización. La duración máxima admitida es de 8640 minutos (6 días). El valor predeterminado es 4320 minutos (3 días).

    Valores válidos: 30-8640

    Predeterminado: 4320

  • UpdateRdsRouteTable

    Tipo: cadena

    Descripción: (opcional) si se establece en true, el manual de procedimientos actualiza la tabla de enrutamiento asociada a la subred en la que se ejecuta la instancia de base de datos. Se agrega una ruta IPv4 para enrutar el tráfico a la dirección IPV4 privada de la instancia temporal de Amazon EC2 a través de la conexión de emparejamiento de VPC recién creada.

    Valores válidos: true | false

    Predeterminado: false

  • AllowVpcInternetAccess

    Tipo: cadena

    Descripción: (opcional) Si se establece entrue, el runbook crea una puerta de enlace NAT para proporcionar conectividad a Internet a la instancia temporal de Amazon EC2 para comunicarse con el punto de enlace de AWS Support la API. Puede dejar este parámetro como false si solo quiere que el manual de procedimientos cargue la salida en su bucket de Amazon S3.

    Valores válidos: true | false

    Predeterminado: false

  • UpdateRdsSecurityGroup

    Tipo: cadena

    Descripción: (opcional) si se establece en true, el manual de procedimientos actualiza el grupo de seguridad asociado a su instancia de base de datos para permitir el tráfico desde la dirección IP privada de la instancia temporal.

    Valores válidos: Falso | Verdadero

    Predeterminado: false

  • EbsVolumeDeleteOnTermination

    Tipo: cadena

    Descripción: (Opcional) Si se establece entrue, el volumen raíz de la instancia temporal de Amazon EC2 se elimina una vez que el runbook complete y elimine la pila. AWS CloudFormation

    Valores válidos: Falso | Verdadero

    Predeterminado: false

Permisos de IAM necesarios

El parámetro AutomationAssumeRole requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.

  • cloudformation:CreateStack

  • cloudformation:DeleteStack

  • cloudformation:DescribeStackEvents

  • cloudformation:DescribeStackResource

  • cloudformation:DescribeStacks

  • cloudformation:UpdateStack

  • ec2:AcceptVpcPeeringConnection

  • ec2:AllocateAddress

  • ec2:AssociateRouteTable

  • ec2:AssociateVpcCidrBlock

  • ec2:AttachInternetGateway

  • ec2:AuthorizeSecurityGroupEgress

  • ec2:AuthorizeSecurityGroupIngress

  • ec2:CreateEgressOnlyInternetGateway

  • ec2:CreateInternetGateway

  • ec2:CreateNatGateway

  • ec2:CreateRoute

  • ec2:CreateRouteTable

  • ec2:CreateSecurityGroup

  • ec2:CreateSubnet

  • ec2:CreateTags

  • ec2:CreateVpc

  • ec2:CreateVpcEndpoint

  • ec2:CreateVpcPeeringConnection

  • ec2:DeleteEgressOnlyInternetGateway

  • ec2:DeleteInternetGateway

  • ec2:DeleteNatGateway

  • ec2:DeleteRoute

  • ec2:DeleteRouteTable

  • ec2:DeleteSecurityGroup

  • ec2:DeleteSubnet

  • ec2:DeleteTags

  • ec2:DeleteVpc

  • ec2:DeleteVpcEndpoints

  • ec2:DescribeAddresses

  • ec2:DescribeEgressOnlyInternetGateways

  • ec2:DescribeImages

  • ec2:DescribeInstances

  • ec2:DescribeInstanceStatus

  • ec2:DescribeInternetGateways

  • ec2:DescribeNatGateways

  • ec2:DescribeRouteTables

  • ec2:DescribeSecurityGroups

  • ec2:DescribeSubnets

  • ec2:DescribeVpcEndpoints

  • ec2:DescribeVpcPeeringConnections

  • ec2:DescribeVpcs

  • ec2:DetachInternetGateway

  • ec2:DisassociateRouteTable

  • ec2:DisassociateVpcCidrBlock

  • ec2:ModifySubnetAttribute

  • ec2:ModifyVpcAttribute

  • ec2:RebootInstances

  • ec2:ReleaseAddress

  • ec2:RevokeSecurityGroupEgress

  • ec2:RevokeSecurityGroupIngress

  • ec2:StartInstances

  • ec2:StopInstances

  • ec2:RunInstances

  • ec2:TerminateInstances

  • iam:AddRoleToInstanceProfile

  • iam:AttachRolePolicy

  • iam:CreateInstanceProfile

  • iam:CreateRole

  • iam:DeleteInstanceProfile

  • iam:DeleteRole

  • iam:DeleteRolePolicy

  • iam:DetachRolePolicy

  • iam:GetInstanceProfile

  • iam:GetRole

  • iam:GetRolePolicy

  • iam:PassRole

  • iam:PutRolePolicy

  • iam:RemoveRoleFromInstanceProfile

  • iam:TagPolicy

  • iam:TagRole

  • rds:DescribeDBInstances

  • s3:GetAccountPublicAccessBlock

  • s3:GetBucketAcl

  • s3:GetBucketPolicyStatus

  • s3:GetBucketPublicAccessBlock

  • s3:ListBucket

  • ssm:AddTagsToResource

  • ssm:CancelMaintenanceWindowExecution

  • ssm:CreateDocument

  • ssm:CreateMaintenanceWindow

  • ssm:DeleteDocument

  • ssm:DeleteMaintenanceWindow

  • ssm:DeregisterTaskFromMaintenanceWindow

  • ssm:DescribeAutomationExecutions

  • ssm:DescribeDocument

  • ssm:DescribeInstanceInformation

  • ssm:DescribeMaintenanceWindowExecutions

  • ssm:GetCalendarState

  • ssm:GetDocument

  • ssm:GetMaintenanceWindowExecution

  • ssm:GetParameters

  • ssm:ListCommandInvocations

  • ssm:ListCommands

  • ssm:ListTagsForResource

  • ssm:RegisterTaskWithMaintenanceWindow

  • ssm:RemoveTagsFromResource

  • ssm:SendCommand

  • support:AddAttachmentsToSet

  • support:AddCommunicationToCase

  • support:DescribeCases

Pasos de documentos

  1. aws:assertAwsResourceProperty: confirma que la instancia de base de datos está en estado available.

  2. aws:executeAwsApi: recopila detalles sobre la instancia de base de datos.

  3. aws:executeScript: comprueba si el bucket de Amazon S3 especificado en el campo S3BucketName permite permisos de acceso de lectura o escritura públicos o anónimos.

  4. aws:executeScript- Obtiene el contenido de la AWS CloudFormation plantilla del archivo adjunto del manual de automatización que se utiliza para crear los recursos temporales AWS en su archivo. Cuenta de AWS

  5. aws:createStack- Crea la AWS CloudFormation pila de recursos.

  6. aws:waitForAwsResourceProperty- Espera a que se ejecute la instancia de Amazon EC2 creada por AWS CloudFormation la plantilla.

  7. aws:executeAwsApi: obtiene los ID de la instancia temporal de Amazon EC2 y de la conexión de emparejamiento de VPC creada por AWS CloudFormation.

  8. aws:executeAwsApi: obtiene la dirección IP de la instancia temporal de Amazon EC2 para configurar la conectividad con su instancia de base de datos.

  9. aws:executeAwsApi: etiqueta el volumen de Amazon EBS adjunto a la instancia temporal de Amazon EC2.

  10. aws:waitForAwsResourceProperty: espera hasta que la instancia temporal de Amazon EC2 supere las comprobaciones de estado.

  11. aws:waitForAwsResourceProperty: espera hasta que Systems Manager gestione la instancia temporal de Amazon EC2. Si se agota el tiempo de espera de este paso o se produce un error, el manual de procedimientos reinicia la instancia.

    1. aws:executeAwsApi: reinicia la instancia temporal de Amazon EC2 si el paso anterior ha fallado o se ha agotado el tiempo de espera.

    2. aws:waitForAwsResourceProperty: espera hasta que Systems Manager gestione la instancia temporal de Amazon EC2 tras el reinicio.

  12. aws:runCommand: instala los requisitos de la aplicación recopiladora de metadatos en la instancia temporal de Amazon EC2.

  13. aws:runCommand: configura el acceso a la instancia de base de datos mediante la creación de un archivo de configuración en la instancia temporal de Amazon EC2.

  14. aws:executeAwsApi: crea una ventana de mantenimiento para ejecutar periódicamente la aplicación recopiladora de metadatos mediante Run Command. La ventana de mantenimiento inicia y detiene la instancia entre comandos.

  15. aws:waitForAwsResourceProperty- Espera a que la ventana de mantenimiento creada por la AWS CloudFormation plantilla esté lista.

  16. aws:executeAwsApi- Obtiene los ID de la ventana de mantenimiento y el calendario de cambios creados por AWS CloudFormation.

  17. aws:sleep: espera hasta la fecha de finalización del período de mantenimiento.

  18. aws:executeAwsApi: desactiva la ventana de mantenimiento.

  19. aws:executeScript: obtiene los resultados de las tareas ejecutadas durante el período de mantenimiento.

  20. aws:waitForAwsResourceProperty: espera a que el período de mantenimiento finalice la última tarea antes de continuar.

  21. aws:branch: ramifica el flujo de trabajo en función de si ha proporcionado un valor para el parámetro SupportCase.

    1. aws:changeInstanceState: inicia la instancia temporal de Amazon EC2 y espera a que se superen las comprobaciones de estado antes de cargar el informe.

    2. aws:waitForAwsResourceProperty: espera hasta que Systems Manager gestione la instancia temporal de Amazon EC2. Si se agota el tiempo de espera de este paso o se produce un error, el manual de procedimientos reinicia la instancia.

      1. aws:executeAwsApi: reinicia la instancia temporal de Amazon EC2 si el paso anterior ha fallado o se ha agotado el tiempo de espera.

      2. aws:waitForAwsResourceProperty: espera hasta que Systems Manager gestione la instancia temporal de Amazon EC2 tras el reinicio.

    3. aws:runCommand: adjunta el informe de metadatos al caso AWS Support si ha proporcionado un valor para el parámetro SupportCase. El script comprime y divide el informe en archivos de 5 MB. El número máximo de archivos que el script adjunta a un caso AWS Support es 12.

  22. aws:changeInstanceState- Detiene la instancia temporal de Amazon EC2 en caso de que la AWS CloudFormation pila no se elimine.

  23. aws:executeAwsApi- Describe los eventos de la AWS CloudFormation pila si los runbooks no pueden crear o actualizar la AWS CloudFormation pila.

  24. aws:waitForAwsResourceProperty- Espera a que la AWS CloudFormation pila esté en estado terminal antes de eliminarla.

  25. aws:executeAwsApi- Elimina la AWS CloudFormation pila excluyendo la ventana de mantenimiento. El volumen raíz de Amazon EBS asociado a la instancia temporal de Amazon EC2 se conserva si el valor del parámetro EbsVolumeDeleteOnTermination se estableció en false.