AWSPremiumSupport-ResizeNitroInstance - 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-ResizeNitroInstance

Descripción

El manual de procedimientos AWSPremiumSupport-ResizeNitroInstanceproporciona una solución automatizada para cambiar el tamaño de las instancias de Amazon Elastic Compute Cloud (Amazon EC2) creadas en el sistema Nitro.

Para reducir el riesgo potencial de pérdida de datos y tiempo de inactividad, el manual de procedimientos verifica lo siguiente:

  • El comportamiento de detención de instancias.

  • Si la instancia forma parte de un grupo de Amazon EC2 Auto Scaling y está en modo standby.

  • El estado y tenencia de la instancia.

  • El tipo de instancia al que quiere cambiar es compatible con la cantidad de interfaces de red actualmente conectadas a su instancia.

  • La arquitectura del procesador y el tipo de virtualización tanto para el tipo de instancia actual como para el de destino son los mismos.

  • Si la instancia está en ejecución, supera todas las comprobaciones de estado.

  • El tipo de instancia que ha seleccionado está disponible en la msma zona de disponibilidad elegida.

Si Amazon EC2 no supera las comprobaciones de estado después de cambiar el tipo de instancia, el manual de procedimientos regresa automáticamente al tipo de instancia anterior.

De forma predeterminada, este manual de procedimientos no cambiará el tipo de instancia si está en ejecución y hay volúmenes de almacén de instancias adjuntos. El manual de procedimientos tampoco cambiará el tipo de instancia si la instancia forma parte de una pila AWS CloudFormation. Si quiere cambiar alguno de estos comportamientos, especifique yespara los parámetros AllowInstanceStoreInstancesy AllowCloudFormationInstances.

El manual de procedimientos proporciona dos formas diferentes de especificar el tipo de instancia al que quiere cambiar:

  • Para las automatizaciones simples dirigidas a una sola instancia, especifique el tipo de instancia al que quiere cambiar mediante el parámetro TargetInstanceTypeFromParameter.

  • Para ejecutar automatizaciones a escala y cambiar el tipo de instancia de varias instancias, especifique el tipo de instancia mediante el parámetro TargetInstanceTypeFromTagValue. Para obtener información sobre la ejecución de automatizaciones a escala, consulte Ejecutar automatizaciones a escala.

Si no especifica un valor para ninguno de los parámetros, la automatización falla.

importante

El acceso a los manuales de procedimientos de AWSPremiumSupport-* requiere una suscripción Enterprise o Business Support. Para obtener más información, consulte Comparar AWS Supportplanes.

Consideraciones

  • Recomendamos hacer una copia de seguridad de la instancia antes de usar este manual de procedimientos.

  • Para obtener información sobre la compatibilidad para cambiar los tipos de instancia, consulte Compatibilidad para cambiar el tipo de instancia.

  • Si la automatización falla y regresa al tipo de instancia original, consulte Cómo solucionar problemas al cambiar el tipo de instancia.

  • Para cambiar el tipo de instancia, es necesario que el manual de procedimientos detenga su instancia. Los datos guardados en la memoria o en el almacén de instancias se perderán cuando se detenga una instancia. Además, se libera cualquier dirección IPv4 pública asignada automáticamente. Para obtener información sobre lo que ocurre cuando detiene una instancia, consulte Detener y terminar una instancia.

  • Con el parámetro SkipInstancesWithTagKey, puede omitir las instancias a las que se haya aplicado una clave de etiqueta específica de Amazon EC2.

Ejecuta esta automatización (consola)

Tipo de documento

Automation

Propietario

Amazon

Plataformas

Linux, Windows

Parámetros

  • AutomationAssumeRole

    Tipo: String

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

  • Acknowledge

    Tipo: String

    Descripción: (Obligatorio) Introduzca yespara confirmar que su instancia se detendrá si se está ejecutando actualmente.

  • AllowInstanceStoreInstances

    Tipo: String

    Valores válidos: no | yes

    Valor predeterminado: no

    Descripción: (Opcional) Si especifica yes, permite que el manual de procedimientos se ejecute en instancias que tengan volúmenes de almacén de instancias adjuntos.

  • AllowCloudFormationInstances

    Tipo: String

    Valores válidos: no | yes

    Valor predeterminado: no

    Descripción: (Opcional) Si especifica yes, el manual de procedimientos se ejecuta en instancias que forman parte de una pila AWS CloudFormation.

  • DryRun

    Tipo: String

    Valores válidos: no | yes

    Valor predeterminado: no

    Descripción: (Opcional) Si especifica yes, el manual de procedimientos valida los requisitos de cambio de tamaño sin realizar cambios en el tipo de instancia.

  • InstanceId

    Tipo: String

    Descripción: (Obligatorio) ID de la instancia Amazon EC2 de la que quiera cambiar el tipo.

  • SkipInstancesWithTagKey

    Tipo: String

    Descripción: (Opcional) La automatización omite una instancia de destino si la clave de etiqueta que especifique se aplica a la instancia.

  • SleepTime

    Tipo: String

    Predeterminado: 3

    Descripción: (Opcional) El número de segundos que debe permanecer inactivo este manual de procedimientos una vez finalizado.

  • TagInstance

    Tipo: String

    Descripción: (Opcional) Etiquete las instancias con la clave y el valor que prefiera con el siguiente formato: Key=ChangingType,Value=True. Esta opción le permite realizar un seguimiento de las instancias a las que se ha dirigido este manual de procedimientos. Las claves y los valores de las etiquetas distinguen entre mayúsculas y minúsculas.

  • TargetInstanceTypeFromParameter

    Tipo: String

    Descripción: (Opcional) El tipo de instancia al que quiere cambiar su instancia. Deje este parámetro en blanco si quiere usar el valor de la clave de etiqueta proporcionada en el parámetro TargetInstanceTypeFromTagValue.

  • TargetInstanceTypeFromTagValue

    Tipo: String

    Descripción: (Opcional) La clave de etiqueta que se aplica a las instancias de destino cuyo valor contiene el tipo de instancia al que desea cambiar. Si no especifica un valor para el TargetInstanceTypeFromParameterparámetro, anula cualquier valor que especifique para el parámetro .

Permisos de IAM necesarios

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

  • autoscaling:DescribeAutoScalingInstances

  • cloudformation:DescribeStackResources

  • ssm:GetAutomationExecution

  • ssm:DescribeAutomationExecutions

  • ec2:DescribeInstanceAttribute

  • ec2:DescribeInstances

  • ec2:DescribeInstanceStatus

  • ec2:DescribeInstanceTypeOfferings

  • ec2:DescribeInstanceTypes

  • ec2:DescribeTags

  • ec2:ModifyInstanceAttribute

  • ec2:StartInstances

  • ec2:StopInstances

Pasos de documentos

  1. aws:assertAwsResourceProperty: Garantiza que la instancia de Amazon EC2 no esté etiquetada con la clave de etiqueta de recurso especificada en el parámetro SkipInstancesWithTagKey. Si se encuentra la clave de etiqueta aplicada a la instancia, se produce un error en el paso y finaliza la automatización.

  2. aws:assertAwsResourceProperty: Confirma que el estado de la instancia de Amazon EC2 de destino es running, pending, stoppedo stopping. De lo contrario, la automatización finaliza.

  3. aws:executeAwsApi: Recopila las propiedades de la instancia de Amazon EC2.

  4. aws:executeAwsApi: Recopila detalles sobre el tipo de instancia de Amazon EC2 actual.

  5. aws:branch: Comprueba si el tipo de instancia actual y el tipo de instancia especificado en el parámetro TargetInstanceTypeFromParameterson iguales. Si lo son, la automatización finaliza.

  6. aws:assertAwsResourceProperty: Garantiza que la instancia se ejecute en el sistema Nitro.

  7. aws:branch: Garantiza que el tipo de volumen raíz de la instancia de Amazon EC2 sea un volumen de Amazon Elastic Block Store (Amazon EBS).

  8. aws:assertAwsResourceProperty: Confirma que el comportamiento de cierre de la instancia sea stopy no terminate.

  9. aws:branch: Garantiza que la instancia de Amazon EC2 no sea una instancia de spot.

  10. aws:branch: Garantiza que la tenencia de la instancia de Amazon EC2 sea la predeterminada y no el host dedicado o la instancia dedicada.

  11. aws:executeScript: Confirma que solo hay una automatización de este manual de procedimientos dirigida al ID de la instancia actual. Si ya hay otra automatización en curso dirigida a la misma instancia, la automatización regresa un error y finaliza.

  12. aws:branch: Ramifica la automatización en función del estado de la instancia de Amazon EC2.

    1. En caso de stoppedo stopping, la automatización se ejecuta aws:waitForAwsResourcePropertyhasta que la instancia de Amazon EC2 se detenga por completo.

    2. En caso de runningo pending, la automatización se ejecuta aws:waitForAwsResourcePropertyhasta que la instancia de Amazon EC2 supere las comprobaciones de estado.

  13. aws:assertAwsResourceProperty: Confirma que la instancia de Amazon EC2 no forma parte de un grupo de escalado automático mediante una llamada a la operación de DescribeAutoScalingInstancesAPI. Si la instancia forma parte de un grupo de escalado automático, asegúrese de que la instancia de Amazon EC2 esté en modo standby.

  14. aws:branch: Ramifica la automatización en función de si desea que la automatización compruebe si la instancia de Amazon EC2 forma parte de una pila AWS CloudFormation:

    1. aws:executeScript Garantiza que la instancia de Amazon EC2 no forme parte de una pila AWS CloudFormationmediante una llamada a la operación de DescribeStackResourcesAPI.

  15. aws:executeAwsApi: Regresa una lista de tipos de instancias con el mismo tipo de arquitectura de procesador y tipo de virtualización y que admite el número de interfaces de red actualmente conectadas a la instancia de destino.

  16. aws:executeAwsApi: Obtiene el valor del tipo de instancia de destino a partir de la clave de etiqueta especificada en el parámetro TargetInstanceTypeFromTagValue.

  17. aws:executeScript: Confirma que los tipos de instancia actual y de destino son compatibles. Garantiza que el tipo de instancia de destino esté disponible en la misma subred. Comprueba que la entidad principal que inició el manual de procedimientos tiene permisos para cambiar el tipo de instancia y detener e iniciar la instancia si se estaba ejecutando.

  18. aws:branch: Ramifica la automatización en función de si el valor del parámetro DryRunestá establecido en yes. Si yes, la automatización finaliza.

  19. aws:branch: Comprueba si el tipo de instancia original y el de destino son iguales. Si son iguales, la automatización finaliza.

  20. aws:executeAwsApi: Obtiene el estado actual de la instancia.

  21. aws:changeInstanceState: Crea la instancia de Amazon EC2.

  22. aws:changeInstanceState: Obliga a la instancia a detenerse si está atascada en el estado stopping.

  23. aws:executeAwsApi: Cambia el tipo de instancia por el tipo de instancia de destino.

  24. aws:sleep: Espera 3 segundos después de cambiar el tipo de instancia para lograr una coherencia definitiva.

  25. aws:branch: Ramifica la automatización en función del estado de la instancia anterior. Si se estaba running, se inicia la instancia.

    1. aws:changeInstanceState: Inicia la instancia de Amazon EC2 si se estaba ejecutando antes de cambiar el tipo de instancia.

    2. aws:waitForAwsResourceProperty: Espera a que la instancia de Amazon EC2 supere las comprobaciones de estado. Si la instancia no supera las comprobaciones de estado, la instancia cambia de regreso a su tipo de instancia original.

      1. aws:changeInstanceState: Detiene la instancia de Amazon EC2 antes de cambiarla a su tipo de instancia original.

      2. aws:changeInstanceState: Obliga a la instancia de Amazon EC2 a detenerse antes de cambiarla a su tipo de instancia original en caso de que se quede atascada en un estado de parada.

      3. aws:executeAwsApi: Cambia la instancia de Amazon EC2 a su tipo original.

      4. aws:sleep: Espera 3 segundos después de cambiar el tipo de instancia para lograr una coherencia definitiva.

      5. aws:changeInstanceState: Inicia la instancia de Amazon EC2 si se estaba ejecutando antes de cambiar el tipo de instancia.

      6. aws:waitForAwsResourceProperty: Espera a que la instancia de Amazon EC2 supere las comprobaciones de estado.

  26. aws:sleep: Espera antes de finalizar el manual de procedimientos.