Ejemplos de Auto Scaling utilizando herramientas para PowerShell - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

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.

Ejemplos de Auto Scaling utilizando herramientas para PowerShell

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el AWS Tools for PowerShell uso de Auto Scaling.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código se muestra cómo usar Add-ASLoadBalancer.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se asocia el equilibrador de carga especificado al grupo de escalado automático especificado.

Add-ASLoadBalancer -LoadBalancerName my-lb -AutoScalingGroupName my-asg
  • Para API obtener más información, consulte AttachLoadBalancersla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Complete-ASLifecycleAction.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se completa la acción del ciclo de vida especificada.

Complete-ASLifecycleAction -LifecycleHookName myLifecycleHook -AutoScalingGroupName my-asg -LifecycleActionResult CONTINUE -LifecycleActionToken bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635
  • Para API obtener más información, consulte CompleteLifecycleActionla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Disable-ASMetricsCollection.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se deshabilita la supervisión de las métricas especificadas para el grupo de escalado automático especificado.

Disable-ASMetricsCollection -AutoScalingGroupName my-asg -Metric @("GroupMinSize", "GroupMaxSize")

Ejemplo 2: En este ejemplo se deshabilita la supervisión de todas las métricas del grupo de escalado automático especificado.

Disable-ASMetricsCollection -AutoScalingGroupName my-asg
  • Para API obtener más información, consulte DisableMetricsCollectionla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Dismount-ASInstance.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo, se desasocia la instancia especificada del grupo de escalado automático especificado y se reduce la capacidad deseada para que Auto Scaling no inicialice una instancia de sustitución.

Dismount-ASInstance -InstanceId i-93633f9b -AutoScalingGroupName my-asg -ShouldDecrementDesiredCapacity $true

Salida:

ActivityId : 06733445-ce94-4039-be1b-b9f1866e276e AutoScalingGroupName : my-asg Cause : At 2015-11-20T22:34:59Z instance i-93633f9b was detached in response to a user request, shrinking the capacity from 2 to 1. Description : Detaching EC2 instance: i-93633f9b Details : {"Availability Zone":"us-west-2b","Subnet ID":"subnet-5264e837"} EndTime : Progress : 50 StartTime : 11/20/2015 2:34:59 PM StatusCode : InProgress StatusMessage :

Ejemplo 2: En este ejemplo, se separa la instancia especificada del grupo de escalado automático especificado sin reducir la capacidad deseada. Auto Scaling inicializa una instancia de sustitución.

Dismount-ASInstance -InstanceId i-7bf746a2 -AutoScalingGroupName my-asg -ShouldDecrementDesiredCapacity $false

Salida:

ActivityId : f43a3cd4-d38c-4af7-9fe0-d76ec2307b6d AutoScalingGroupName : my-asg Cause : At 2015-11-20T22:34:59Z instance i-7bf746a2 was detached in response to a user request. Description : Detaching EC2 instance: i-7bf746a2 Details : {"Availability Zone":"us-west-2b","Subnet ID":"subnet-5264e837"} EndTime : Progress : 50 StartTime : 11/20/2015 2:34:59 PM StatusCode : InProgress StatusMessage :
  • Para API obtener más información, consulte DetachInstancesla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Dismount-ASLoadBalancer.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se desasocia el equilibrador de carga especificado del grupo de escalado automático especificado.

Dismount-ASLoadBalancer -LoadBalancerName my-lb -AutoScalingGroupName my-asg
  • Para API obtener más información, consulte DetachLoadBalancersla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Enable-ASMetricsCollection.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se habilita la supervisión de las métricas especificadas para el grupo de escalado automático especificado.

Enable-ASMetricsCollection -Metric @("GroupMinSize", "GroupMaxSize") -AutoScalingGroupName my-asg -Granularity 1Minute

Ejemplo 2: En este ejemplo se habilita la supervisión de todas las métricas del grupo de escalado automático especificado.

Enable-ASMetricsCollection -AutoScalingGroupName my-asg -Granularity 1Minute
  • Para API obtener más información, consulte EnableMetricsCollectionla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Enter-ASStandby.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo, se pone la instancia especificada en modo de espera y se reduce la capacidad deseada para que Auto Scaling no inicialice una instancia de sustitución.

Enter-ASStandby -InstanceId i-93633f9b -AutoScalingGroupName my-asg -ShouldDecrementDesiredCapacity $true

Salida:

ActivityId : e36a5a54-ced6-4df8-bd19-708e2a59a649 AutoScalingGroupName : my-asg Cause : At 2015-11-22T15:48:06Z instance i-95b8484f was moved to standby in response to a user request, shrinking the capacity from 2 to 1. Description : Moving EC2 instance to Standby: i-95b8484f Details : {"Availability Zone":"us-west-2b","Subnet ID":"subnet-5264e837"} EndTime : Progress : 50 StartTime : 11/22/2015 7:48:06 AM StatusCode : InProgress StatusMessage :

Ejemplo 2: En este ejemplo, se pone la instancia especificada en modo de espera sin reducir la capacidad deseada. Auto Scaling inicializa una instancia de sustitución.

Enter-ASStandby -InstanceId i-93633f9b -AutoScalingGroupName my-asg -ShouldDecrementDesiredCapacity $false

Salida:

ActivityId : e36a5a54-ced6-4df8-bd19-708e2a59a649 AutoScalingGroupName : my-asg Cause : At 2015-11-22T15:48:06Z instance i-95b8484f was moved to standby in response to a user request. Description : Moving EC2 instance to Standby: i-95b8484f Details : {"Availability Zone":"us-west-2b","Subnet ID":"subnet-5264e837"} EndTime : Progress : 50 StartTime : 11/22/2015 7:48:06 AM StatusCode : InProgress StatusMessage :
  • Para API obtener más información, consulte EnterStandbyla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Exit-ASStandby.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se saca la instancia especificada del modo de espera.

Exit-ASStandby -InstanceId i-93633f9b -AutoScalingGroupName my-asg

Salida:

ActivityId : 1833d3e8-e32f-454e-b731-0670ad4c6934 AutoScalingGroupName : my-asg Cause : At 2015-11-22T15:51:21Z instance i-95b8484f was moved out of standby in response to a user request, increasing the capacity from 1 to 2. Description : Moving EC2 instance out of Standby: i-95b8484f Details : {"Availability Zone":"us-west-2b","Subnet ID":"subnet-5264e837"} EndTime : Progress : 30 StartTime : 11/22/2015 7:51:21 AM StatusCode : PreInService StatusMessage :
  • Para API obtener más información, consulte ExitStandbyla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Get-ASAccountLimit.

Herramientas para PowerShell

Ejemplo 1: Este ejemplo describe los límites de recursos de Auto Scaling para su AWS cuenta.

Get-ASAccountLimit

Salida:

MaxNumberOfAutoScalingGroups : 20 MaxNumberOfLaunchConfigurations : 100

En el siguiente ejemplo de código se muestra cómo usar Get-ASAdjustmentType.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se describen los tipos de ajuste que son compatibles con el escalado automático.

Get-ASAdjustmentType

Salida:

Type ---- ChangeInCapacity ExactCapacity PercentChangeInCapacity
  • Para API obtener más información, consulte DescribeAdjustmentTypesla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Get-ASAutoScalingGroup.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se enumeran los nombres de los grupos de escalado automático.

Get-ASAutoScalingGroup | format-table -property AutoScalingGroupName

Salida:

AutoScalingGroupName -------------------- my-asg-1 my-asg-2 my-asg-3 my-asg-4 my-asg-5 my-asg-6

Ejemplo 2: En este ejemplo, se describe el grupo de escalado automático especificado.

Get-ASAutoScalingGroup -AutoScalingGroupName my-asg-1

Salida:

AutoScalingGroupARN : arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480 f03:autoScalingGroupName/my-asg-1 AutoScalingGroupName : my-asg-1 AvailabilityZones : {us-west-2b, us-west-2a} CreatedTime : 3/1/2015 9:05:31 AM DefaultCooldown : 300 DesiredCapacity : 2 EnabledMetrics : {} HealthCheckGracePeriod : 300 HealthCheckType : EC2 Instances : {my-lc} LaunchConfigurationName : my-lc LoadBalancerNames : {} MaxSize : 0 MinSize : 0 PlacementGroup : Status : SuspendedProcesses : {} Tags : {} TerminationPolicies : {Default} VPCZoneIdentifier : subnet-e4f33493,subnet-5264e837

Ejemplo 3: En este ejemplo, se describen los dos grupos de escalado automático especificados.

Get-ASAutoScalingGroup -AutoScalingGroupName @("my-asg-1", "my-asg-2")

Ejemplo 4: En este ejemplo, se describen las instancias de escalado automático para el grupo de escalado automático especificado.

(Get-ASAutoScalingGroup -AutoScalingGroupName my-asg-1).Instances

Ejemplo 5: En este ejemplo se describen todos los grupos de escalado automático.

Get-ASAutoScalingGroup

Ejemplo 6: Este LaunchTemplate ejemplo describe el grupo de Auto Scaling especificado. En este ejemplo, se supone que las «Opciones de compra de instancias» están configuradas en «Adherirse a la plantilla de inicialización». En caso de que esta opción esté configurada como «Combinar opciones de compra y tipos de instancias», se LaunchTemplate puede acceder a ella mediante»MixedInstancesPolicy. LaunchTemplate«propiedad.

(Get-ASAutoScalingGroup -AutoScalingGroupName my-ag-1).LaunchTemplate

Salida:

LaunchTemplateId LaunchTemplateName Version ---------------- ------------------ ------- lt-06095fd619cb40371 test-launch-template $Default

En el siguiente ejemplo de código se muestra cómo usar Get-ASAutoScalingInstance.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se enumeran las instancias IDs de Auto Scaling.

Get-ASAutoScalingInstance | format-table -property InstanceId

Salida:

InstanceId ---------- i-12345678 i-87654321 i-abcd1234

Ejemplo 2: En este ejemplo se describe la instancia de escalado automático especificada.

Get-ASAutoScalingInstance -InstanceId i-12345678

Salida:

AutoScalingGroupName : my-asg AvailabilityZone : us-west-2b HealthStatus : HEALTHY InstanceId : i-12345678 LaunchConfigurationName : my-lc LifecycleState : InService

Ejemplo 3: En este ejemplo se describen las dos instancias de escalado automático especificadas.

Get-ASAutoScalingInstance -InstanceId @("i-12345678", "i-87654321")

Ejemplo 4: En este ejemplo, se describen las instancias de escalado automático para el grupo de escalado automático especificado.

(Get-ASAutoScalingGroup -AutoScalingGroupName my-asg).Instances | Get-ASAutoScalingInstance

Ejemplo 5: En este ejemplo se describen todas las instancias de escalado automático.

Get-ASAutoScalingInstance

En el siguiente ejemplo de código se muestra cómo usar Get-ASAutoScalingNotificationType.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se enumeran los tipos de notificaciones que son compatibles con el escalado automático.

Get-ASAutoScalingNotificationType

Salida:

autoscaling:EC2_INSTANCE_LAUNCH autoscaling:EC2_INSTANCE_LAUNCH_ERROR autoscaling:EC2_INSTANCE_TERMINATE autoscaling:EC2_INSTANCE_TERMINATE_ERROR autoscaling:TEST_NOTIFICATION

En el siguiente ejemplo de código se muestra cómo usar Get-ASLaunchConfiguration.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se muestran los nombres de las configuraciones de inicialización.

Get-ASLaunchConfiguration | format-table -property LaunchConfigurationName

Salida:

LaunchConfigurationName ----------------------- my-lc-1 my-lc-2 my-lc-3 my-lc-4 my-lc-5

Ejemplo 2: En este ejemplo se describe la configuración de inicialización especificada.

Get-ASLaunchConfiguration -LaunchConfigurationName my-lc-1

Salida:

AssociatePublicIpAddress : True BlockDeviceMappings : {/dev/xvda} ClassicLinkVPCId : ClassicLinkVPCSecurityGroups : {} CreatedTime : 12/12/2014 3:22:08 PM EbsOptimized : False IamInstanceProfile : ImageId : ami-043a5034 InstanceMonitoring : Amazon.AutoScaling.Model.InstanceMonitoring InstanceType : t2.micro KernelId : KeyName : LaunchConfigurationARN : arn:aws:autoscaling:us-west-2:123456789012:launchConfiguration:7e5f31e4-693b-4604-9322- e6f68d7fafad:launchConfigurationName/my-lc-1 LaunchConfigurationName : my-lc-1 PlacementTenancy : RamdiskId : SecurityGroups : {sg-67ef0308} SpotPrice : UserData :

Ejemplo 3: En este ejemplo se describen las dos configuraciones de inicialización especificadas.

Get-ASLaunchConfiguration -LaunchConfigurationName @("my-lc-1", "my-lc-2")

Ejemplo 4: En este ejemplo se describen todas las configuraciones de inicialización.

Get-ASLaunchConfiguration

En el siguiente ejemplo de código se muestra cómo usar Get-ASLifecycleHook.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se describe el enlace de ciclo de vida especificado.

Get-ASLifecycleHook -AutoScalingGroupName my-asg -LifecycleHookName myLifecycleHook

Salida:

AutoScalingGroupName : my-asg DefaultResult : ABANDON GlobalTimeout : 172800 HeartbeatTimeout : 3600 LifecycleHookName : myLifecycleHook LifecycleTransition : auto-scaling:EC2_INSTANCE_LAUNCHING NotificationMetadata : NotificationTargetARN : arn:aws:sns:us-west-2:123456789012:my-topic RoleARN : arn:aws:iam::123456789012:role/my-iam-role

Ejemplo 2: En este ejemplo se describen los enlaces de ciclo de vida del grupo de escalado automático especificado.

Get-ASLifecycleHook -AutoScalingGroupName my-asg

Ejemplo 3: En este ejemplo se describen todos los enlaces de ciclo de vida para todos los grupos de escalado automático.

Get-ASLifecycleHook
  • Para API obtener más información, consulte DescribeLifecycleHooksla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Get-ASLifecycleHookType.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se enumeran los tipos de enlaces de ciclo de vida compatibles con el escalado automático.

Get-ASLifecycleHookType

Salida:

autoscaling:EC2_INSTANCE_LAUNCHING auto-scaling:EC2_INSTANCE_TERMINATING

En el siguiente ejemplo de código se muestra cómo usar Get-ASLoadBalancer.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se describen los equilibradores de carga del grupo de escalado automático especificado.

Get-ASLoadBalancer -AutoScalingGroupName my-asg

Salida:

LoadBalancerName State ---------------- ----- my-lb Added
  • Para API obtener más información, consulte DescribeLoadBalancersla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Get-ASMetricCollectionType.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se enumeran los tipos de recopilación de métricas que admite el escalado automático.

(Get-ASMetricCollectionType).Metrics

Salida:

Metric ------ GroupMinSize GroupMaxSize GroupDesiredCapacity GroupInServiceInstances GroupPendingInstances GroupTerminatingInstances GroupStandbyInstances GroupTotalInstances

Ejemplo 2: En este ejemplo se enumeran las granularidades correspondientes.

(Get-ASMetricCollectionType).Granularities

Salida:

Granularity ----------- 1Minute

En el siguiente ejemplo de código se muestra cómo usar Get-ASNotificationConfiguration.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se describen las acciones de notificación asociadas al grupo de escalado automático especificado.

Get-ASNotificationConfiguration -AutoScalingGroupName my-asg | format-list

Salida:

AutoScalingGroupName : my-asg NotificationType : auto-scaling:EC2_INSTANCE_LAUNCH TopicARN : arn:aws:sns:us-west-2:123456789012:my-topic AutoScalingGroupName : my-asg NotificationType : auto-scaling:EC2_INSTANCE_TERMINATE TopicARN : arn:aws:sns:us-west-2:123456789012:my-topic

Ejemplo 2: En este ejemplo se describen las acciones de notificación asociadas a todos los grupos de escalado automático.

Get-ASNotificationConfiguration

En el siguiente ejemplo de código se muestra cómo usar Get-ASPolicy.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo, se describen todas las políticas para el grupo de escalado automático especificado.

Get-ASPolicy -AutoScalingGroupName my-asg

Salida:

AdjustmentType : ChangeInCapacity Alarms : {} AutoScalingGroupName : my-asg Cooldown : 0 EstimatedInstanceWarmup : 0 MetricAggregationType : MinAdjustmentMagnitude : 0 MinAdjustmentStep : 0 PolicyARN : arn:aws:auto-scaling:us-west-2:123456789012:scalingPolicy:aa3836ab-5462-42c7-adab-e1d769fc24ef :autoScalingGroupName/my-asg:policyName/myScaleInPolicy PolicyName : myScaleInPolicy PolicyType : SimpleScaling ScalingAdjustment : -1 StepAdjustments : {}

Ejemplo 2: En este ejemplo se describen las políticas especificadas para el grupo de escalado automático especificado.

Get-ASPolicy -AutoScalingGroupName my-asg -PolicyName @("myScaleOutPolicy", "myScaleInPolicy")

Ejemplo 3: En este ejemplo se describen todas las políticas para todos los grupos de escalado automático.

Get-ASPolicy
  • Para API obtener más información, consulte DescribePoliciesla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Get-ASScalingActivity.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo, se describen actividades de escalado de las últimas de seis semanas para el grupo de escalado automático especificado.

Get-ASScalingActivity -AutoScalingGroupName my-asg

Salida:

ActivityId : 063308ae-aa22-4a9b-94f4-9fae4EXAMPLE AutoScalingGroupName : my-asg Cause : At 2015-11-22T15:45:16Z a user request explicitly set group desired capacity changing the desired capacity from 1 to 2. At 2015-11-22T15:45:34Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 1 to 2. Description : Launching a new EC2 instance: i-26e715fc Details : {"Availability Zone":"us-west-2b","Subnet ID":"subnet-5264e837"} EndTime : 11/22/2015 7:46:09 AM Progress : 100 StartTime : 11/22/2015 7:45:35 AM StatusCode : Successful StatusMessage : ActivityId : ce719997-086d-4c73-a2f1-ab703EXAMPLE AutoScalingGroupName : my-asg Cause : At 2015-11-20T22:57:53Z a user request created an AutoScalingGroup changing the desired capacity from 0 to 1. At 2015-11-20T22:57:58Z an instance was started in response to a difference betwe en desired and actual capacity, increasing the capacity from 0 to 1. Description : Launching a new EC2 instance: i-93633f9b Details : {"Availability Zone":"us-west-2b","Subnet ID":"subnet-5264e837"} EndTime : 11/20/2015 2:58:32 PM Progress : 100 StartTime : 11/20/2015 2:57:59 PM StatusCode : Successful StatusMessage :

Ejemplo 2: En este ejemplo se describe la actividad de escalado especificada.

Get-ASScalingActivity -ActivityId "063308ae-aa22-4a9b-94f4-9fae4EXAMPLE"

Ejemplo 3: En este ejemplo se describen las actividades de escalado de las últimas seis semanas para todos los grupos de escalado automático.

Get-ASScalingActivity

En el siguiente ejemplo de código se muestra cómo usar Get-ASScalingProcessType.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se enumeran los tipos de procesos que admite el escalado automático.

Get-ASScalingProcessType

Salida:

ProcessName ----------- AZRebalance AddToLoadBalancer AlarmNotification HealthCheck Launch ReplaceUnhealthy ScheduledActions Terminate

En el siguiente ejemplo de código se muestra cómo usar Get-ASScheduledAction.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo, se describen las acciones de escalado programadas para el grupo de escalado automático especificado.

Get-ASScheduledAction -AutoScalingGroupName my-asg

Salida:

AutoScalingGroupName : my-asg DesiredCapacity : 10 EndTime : MaxSize : MinSize : Recurrence : ScheduledActionARN : arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8a4c5f24-6ec6-4306-a2dd-f7 2c3af3a4d6:autoScalingGroupName/my-asg:scheduledActionName/myScheduledAction ScheduledActionName : myScheduledAction StartTime : 11/30/2015 8:00:00 AM Time : 11/30/2015 8:00:00 AM

Ejemplo 2: En este ejemplo, se describen las acciones de escalado programadas especificadas.

Get-ASScheduledAction -ScheduledActionName @("myScheduledScaleOut", "myScheduledScaleIn")

Ejemplo 3: En este ejemplo, se describen las acciones de escalado programadas que comienzan a la hora especificada.

Get-ASScheduledAction -StartTime "2015-12-01T08:00:00Z"

Ejemplo 4: En este ejemplo, se describen las acciones de escalado programadas que finalizan a la hora especificada.

Get-ASScheduledAction -EndTime "2015-12-30T08:00:00Z"

Ejemplo 5: En este ejemplo, se describen las acciones de escalado programadas para todos los grupos de escalado automático.

Get-ASScheduledAction
  • Para API obtener más información, consulte DescribeScheduledActionsla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Get-ASTag.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se describen las etiquetas con un valor clave de «myTag» o «myTag2». Los valores posibles para el nombre del filtro son auto-scaling-group «», «clave», «valor» y «propagate-at-launch». La sintaxis utilizada en este ejemplo requiere PowerShell la versión 3 o posterior.

Get-ASTag -Filter @( @{ Name="key"; Values=@("myTag", "myTag2") } )

Salida:

Key : myTag2 PropagateAtLaunch : True ResourceId : my-asg ResourceType : auto-scaling-group Value : myTagValue2 Key : myTag PropagateAtLaunch : True ResourceId : my-asg ResourceType : auto-scaling-group Value : myTagValue

Ejemplo 2: Con la PowerShell versión 2, debe usar New-Object para crear el filtro para el parámetro Filter.

$keys = New-Object string[] 2 $keys[0] = "myTag" $keys[1] = "myTag2" $filter = New-Object Amazon.AutoScaling.Model.Filter $filter.Name = "key" $filter.Values = $keys Get-ASTag -Filter @( $filter )

Ejemplo 3: En este ejemplo se describen todas las etiquetas para todos los grupos de escalado automático.

Get-ASTag
  • Para API obtener más información, consulte AWS Tools for PowerShell Cmdlet DescribeTagsReference.

En el siguiente ejemplo de código se muestra cómo usar Get-ASTerminationPolicyType.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se enumeran las políticas de terminación compatibles con el escalado automático.

Get-ASTerminationPolicyType

Salida:

ClosestToNextInstanceHour Default NewestInstance OldestInstance OldestLaunchConfiguration

En el siguiente ejemplo de código se muestra cómo usar Mount-ASInstance.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo, se asocia la instancia especificada al grupo de escalado automático especificado. El escalado automático aumenta automáticamente la capacidad deseada del grupo de escalado automático.

Mount-ASInstance -InstanceId i-93633f9b -AutoScalingGroupName my-asg
  • Para API obtener más información, consulte AttachInstancesla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar New-ASAutoScalingGroup.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se crea un grupo de escalado automático con el nombre y los atributos especificados. La capacidad deseada por defecto es el tamaño mínimo. Por lo tanto, este grupo de escalado automático inicializa dos instancias, una en cada una de las dos zonas de disponibilidad especificadas.

New-ASAutoScalingGroup -AutoScalingGroupName my-asg -LaunchConfigurationName my-lc -MinSize 2 -MaxSize 6 -AvailabilityZone @("us-west-2a", "us-west-2b")
  • Para API obtener más información, consulte CreateAutoScalingGroupla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar New-ASLaunchConfiguration.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se crea una configuración de inicialización denominada «my-lc». Las EC2 instancias lanzadas por los grupos de Auto Scaling que utilizan esta configuración de lanzamiento utilizan el tipo de instanciaAMI, el grupo de seguridad y el IAM rol especificados.

New-ASLaunchConfiguration -LaunchConfigurationName my-lc -InstanceType "m3.medium" -ImageId "ami-12345678" -SecurityGroup "sg-12345678" -IamInstanceProfile "myIamRole"

En el siguiente ejemplo de código se muestra cómo usar Remove-ASAutoScalingGroup.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se elimina el grupo de escalado automático especificado si no tiene instancias en ejecución. Se le solicitará una confirmación antes de continuar con la operación.

Remove-ASAutoScalingGroup -AutoScalingGroupName my-asg

Salida:

Confirm Are you sure you want to perform this action? Performing operation "Remove-ASAutoScalingGroup (DeleteAutoScalingGroup)" on Target "my-asg". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):

Ejemplo 2: Si especifica el parámetro Force, no se le solicitará una confirmación antes de continuar con la operación.

Remove-ASAutoScalingGroup -AutoScalingGroupName my-asg -Force

Ejemplo 3: En este ejemplo se elimina el grupo de escalado automático especificado y se finalizan todas las instancias en ejecución que contenga.

Remove-ASAutoScalingGroup -AutoScalingGroupName my-asg -ForceDelete $true -Force
  • Para API obtener más información, consulte DeleteAutoScalingGroupla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Remove-ASLaunchConfiguration.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se elimina la configuración de inicialización especificada si no está asociada a un grupo de escalado automático. Se le solicitará una confirmación antes de continuar con la operación.

Remove-ASLaunchConfiguration -LaunchConfigurationName my-lc

Salida:

Confirm Are you sure you want to perform this action? Performing operation "Remove-ASLaunchConfiguration (DeleteLaunchConfiguration)" on Target "my-lc". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):

Ejemplo 2: Si especifica el parámetro Force, no se le solicitará una confirmación antes de continuar con la operación.

Remove-ASLaunchConfiguration -LaunchConfigurationName my-lc -Force

En el siguiente ejemplo de código se muestra cómo usar Remove-ASLifecycleHook.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se elimina el enlace de ciclo de vida especificado para el grupo de escalado automático especificado. Se le solicitará una confirmación antes de continuar con la operación.

Remove-ASLifecycleHook -AutoScalingGroupName my-asg -LifecycleHookName myLifecycleHook

Salida:

Confirm Are you sure you want to perform this action? Performing operation "Remove-ASLifecycleHook (DeleteLifecycleHook)" on Target "myLifecycleHook". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):

Ejemplo 2: Si especifica el parámetro Force, no se le solicitará una confirmación antes de continuar con la operación.

Remove-ASLifecycleHook -AutoScalingGroupName my-asg -LifecycleHookName myLifecycleHook -Force
  • Para API obtener más información, consulte DeleteLifecycleHookla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Remove-ASNotificationConfiguration.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se elimina la acción de notificación especificada. Se le solicitará una confirmación antes de continuar con la operación.

Remove-ASNotificationConfiguration -AutoScalingGroupName my-asg -TopicARN "arn:aws:sns:us-west-2:123456789012:my-topic"

Salida:

Confirm Are you sure you want to perform this action? Performing operation "Remove-ASNotificationConfiguration (DeleteNotificationConfiguration)" on Target "arn:aws:sns:us-west-2:123456789012:my-topic". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):

Ejemplo 2: Si especifica el parámetro Force, no se le solicitará una confirmación antes de continuar con la operación.

Remove-ASNotificationConfiguration -AutoScalingGroupName my-asg -TopicARN "arn:aws:sns:us-west-2:123456789012:my-topic" -Force

En el siguiente ejemplo de código se muestra cómo usar Remove-ASPolicy.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se elimina la política especificada para el grupo de escalado automático especificado. Se le solicitará una confirmación antes de continuar con la operación.

Remove-ASPolicy -AutoScalingGroupName my-asg -PolicyName myScaleInPolicy

Salida:

Confirm Are you sure you want to perform this action? Performing operation "Remove-ASPolicy (DeletePolicy)" on Target "myScaleInPolicy". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):

Ejemplo 2: Si especifica el parámetro Force, no se le solicitará una confirmación antes de continuar con la operación.

Remove-ASPolicy -AutoScalingGroupName my-asg -PolicyName myScaleInPolicy -Force
  • Para API obtener más información, consulte DeletePolicyla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Remove-ASScheduledAction.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se elimina la acción programada especificada para el grupo de escalado automático especificado. Se le solicitará una confirmación antes de continuar con la operación.

Remove-ASScheduledAction -AutoScalingGroupName my-asg -ScheduledAction "myScheduledAction"

Salida:

Confirm Are you sure you want to perform this action? Performing operation "Remove-ASScheduledAction (DeleteScheduledAction)" on Target "myScheduledAction". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):

Ejemplo 2: Si especifica el parámetro Force, no se le solicitará una confirmación antes de continuar con la operación.

Remove-ASScheduledAction -AutoScalingGroupName my-asg -ScheduledAction "myScheduledAction" -Force
  • Para API obtener más información, consulte DeleteScheduledActionla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Remove-ASTag.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se elimina la etiqueta especificada del grupo de escalado automático especificado. Se le solicitará una confirmación antes de continuar con la operación. La sintaxis utilizada en este ejemplo requiere PowerShell la versión 3 o posterior.

Remove-ASTag -Tag @( @{ResourceType="auto-scaling-group"; ResourceId="my-asg"; Key="myTag" } )

Salida:

Confirm Are you sure you want to perform this action? Performing the operation "Remove-ASTag (DeleteTags)" on target "Amazon.AutoScaling.Model.Tag". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):

Ejemplo 2: Si especifica el parámetro Force, no se le solicitará una confirmación antes de continuar con la operación.

Remove-ASTag -Tag @( @{ResourceType="auto-scaling-group"; ResourceId="my-asg"; Key="myTag" } ) -Force

Ejemplo 3: Con la versión 2 de PowerShell, debe usar New-Object para crear la etiqueta para el parámetro Etiqueta.

$tag = New-Object Amazon.AutoScaling.Model.Tag $tag.ResourceType = "auto-scaling-group" $tag.ResourceId = "my-asg" $tag.Key = "myTag" Remove-ASTag -Tag $tag -Force
  • Para API obtener más información, consulte DeleteTagsla referencia del AWS Tools for PowerShell cmdlet.

En el siguiente ejemplo de código se muestra cómo usar Resume-ASProcess.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se reanuda el proceso de escalado automático especificado para el grupo de escalado automático especificado.

Resume-ASProcess -AutoScalingGroupName my-asg -ScalingProcess "AlarmNotification"

Ejemplo 2: En este ejemplo se reanudan todos los procesos de escalado automático suspendidos para el grupo de escalado automático especificado.

Resume-ASProcess -AutoScalingGroupName my-asg
  • Para API obtener más información, consulte ResumeProcessesla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Set-ASDesiredCapacity.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se establece el tamaño del grupo de escalado automático especificado.

Set-ASDesiredCapacity -AutoScalingGroupName my-asg -DesiredCapacity 2

Ejemplo 2: En este ejemplo se establece el tamaño del grupo de escalado automático especificado y espera a que finalice el período de recuperación antes de escalar al nuevo tamaño.

Set-ASDesiredCapacity -AutoScalingGroupName my-asg -DesiredCapacity 2 -HonorCooldown $true
  • Para API obtener más información, consulte SetDesiredCapacityla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Set-ASInstanceHealth.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo, se establece el estado de la instancia especificada en «Mal estado», por lo que queda fuera de servicio. El escalado automático finaliza y reemplaza la instancia.

Set-ASInstanceHealth -HealthStatus Unhealthy -InstanceId i-93633f9b

Ejemplo 2: En este ejemplo, se establece el estado de la instancia especificada en «Buen estado» y se mantiene en servicio. No se respeta ningún periodo de gracia de la comprobación de estado para un grupo de escalado automático.

Set-ASInstanceHealth -HealthStatus Healthy -InstanceId i-93633f9b -ShouldRespectGracePeriod $false
  • Para API obtener más información, consulte SetInstanceHealthla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Set-ASInstanceProtection.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se habilita la protección de instancias para la instancia especificada.

Set-ASInstanceProtection -AutoScalingGroupName my-asg -InstanceId i-12345678 -ProtectedFromScaleIn $true

Ejemplo 2: En este ejemplo se deshabilita la protección de instancias para la instancia especificada.

Set-ASInstanceProtection -AutoScalingGroupName my-asg -InstanceId i-12345678 -ProtectedFromScaleIn $false
  • Para API obtener más información, consulte SetInstanceProtectionla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Set-ASTag.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se agrega una etiqueta única al grupo de escalado automático especificado. La clave de la etiqueta es 'myTag' y el valor de la etiqueta es 'myTagValue'. Auto Scaling propaga esta etiqueta a las EC2 instancias posteriores lanzadas por el grupo Auto Scaling. La sintaxis utilizada en este ejemplo requiere la PowerShell versión 3 o posterior.

Set-ASTag -Tag @( @{ResourceType="auto-scaling-group"; ResourceId="my-asg"; Key="myTag"; Value="myTagValue"; PropagateAtLaunch=$true} )

Ejemplo 2: Con la PowerShell versión 2, debe usar New-Object para crear la etiqueta para el parámetro Tag.

$tag = New-Object Amazon.AutoScaling.Model.Tag $tag.ResourceType = "auto-scaling-group" $tag.ResourceId = "my-asg" $tag.Key = "myTag" $tag.Value = "myTagValue" $tag.PropagateAtLaunch = $true Set-ASTag -Tag $tag
  • Para API obtener más información, consulte AWS Tools for PowerShell Cmdlet CreateOrUpdateTagsReference.

En el siguiente ejemplo de código se muestra cómo usar Start-ASPolicy.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se ejecuta la política especificada para el grupo de escalado automático especificado.

Start-ASPolicy -AutoScalingGroupName my-asg -PolicyName "myScaleInPolicy"

Ejemplo 2: En este ejemplo se ejecuta la política especificada para el grupo de escalado automático especificado, después de esperar a que finalice el período de recuperación.

Start-ASPolicy -AutoScalingGroupName my-asg -PolicyName "myScaleInPolicy" -HonorCooldown $true
  • Para API obtener más información, consulte ExecutePolicyla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Stop-ASInstanceInAutoScalingGroup.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo, se termina la instancia especificada y se reduce la capacidad deseada de su grupo de escalado automático para que Auto Scaling no inicialice una instancia de sustitución.

Stop-ASInstanceInAutoScalingGroup -InstanceId i-93633f9b -ShouldDecrementDesiredCapacity $true

Salida:

ActivityId : 2e40d9bd-1902-444c-abf3-6ea0002efdc5 AutoScalingGroupName : Cause : At 2015-11-22T16:09:03Z instance i-93633f9b was taken out of service in response to a user request, shrinking the capacity from 2 to 1. Description : Terminating EC2 instance: i-93633f9b Details : {"Availability Zone":"us-west-2b","Subnet ID":"subnet-5264e837"} EndTime : Progress : 0 StartTime : 11/22/2015 8:09:03 AM StatusCode : InProgress StatusMessage :

Ejemplo 2: En este ejemplo, se termina la instancia especificada sin disminuir la capacidad deseada de su grupo de escalado automático. Auto Scaling inicializa una instancia de remplazo.

Stop-ASInstanceInAutoScalingGroup -InstanceId i-93633f9b -ShouldDecrementDesiredCapacity $false

Salida:

ActivityId : 2e40d9bd-1902-444c-abf3-6ea0002efdc5 AutoScalingGroupName : Cause : At 2015-11-22T16:09:03Z instance i-93633f9b was taken out of service in response to a user request. Description : Terminating EC2 instance: i-93633f9b Details : {"Availability Zone":"us-west-2b","Subnet ID":"subnet-5264e837"} EndTime : Progress : 0 StartTime : 11/22/2015 8:09:03 AM StatusCode : InProgress StatusMessage :

En el siguiente ejemplo de código se muestra cómo usar Suspend-ASProcess.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se suspende el proceso de escalado automático especificado para el grupo de escalado automático especificado.

Suspend-ASProcess -AutoScalingGroupName my-asg -ScalingProcess "AlarmNotification"

Ejemplo 2: En este ejemplo se suspenden todos los procesos de escalado automático para el grupo de escalado automático especificado.

Suspend-ASProcess -AutoScalingGroupName my-asg
  • Para API obtener más información, consulte SuspendProcessesla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Update-ASAutoScalingGroup.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo, se actualiza el tamaño mínimo y máximo del grupo de escalado automático especificado.

Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -MaxSize 5 -MinSize 1

Ejemplo 2: En este ejemplo se actualiza el período de recuperación predeterminado del grupo de escalado automático especificado.

Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -DefaultCooldown 10

Ejemplo 3: En este ejemplo se actualizan las zonas de disponibilidad del grupo de escalado automático especificado.

Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -AvailabilityZone @("us-west-2a", "us-west-2b")

Ejemplo 4: En este ejemplo, se actualiza el grupo de escalado automático especificado para utilizar comprobaciones de estado de Elastic Load Balancing.

Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -HealthCheckType ELB -HealthCheckGracePeriod 60
  • Para API obtener más información, consulte UpdateAutoScalingGroupla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Write-ASLifecycleActionHeartbeat.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se registra un latido para la acción del ciclo de vida especificada. Esto mantiene la instancia en estado pendiente hasta que complete la acción personalizada.

Write-ASLifecycleActionHeartbeat -AutoScalingGroupName my-asg -LifecycleHookName myLifecycleHook -LifecycleActionToken bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

En el siguiente ejemplo de código se muestra cómo usar Write-ASLifecycleHook.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se agrega el enlace de ciclo de vida especificado al grupo de escalado automático especificado.

Write-ASLifecycleHook -AutoScalingGroupName my-asg -LifecycleHookName "myLifecycleHook" -LifecycleTransition "autoscaling:EC2_INSTANCE_LAUNCHING" -NotificationTargetARN "arn:aws:sns:us-west-2:123456789012:my-sns-topic" -RoleARN "arn:aws:iam::123456789012:role/my-iam-role"
  • Para API obtener más información, consulte PutLifecycleHookla referencia de AWS Tools for PowerShell cmdlets.

En el siguiente ejemplo de código se muestra cómo usar Write-ASNotificationConfiguration.

Herramientas para PowerShell

Ejemplo 1: Este ejemplo configura el grupo de Auto Scaling especificado para enviar una notificación al SNS tema especificado cuando lance EC2 instancias.

Write-ASNotificationConfiguration -AutoScalingGroupName my-asg -NotificationType "autoscaling:EC2_INSTANCE_LAUNCH" -TopicARN "arn:aws:sns:us-west-2:123456789012:my-topic"

Ejemplo 2: Este ejemplo configura el grupo de Auto Scaling especificado para enviar una notificación al SNS tema especificado cuando lance o finalice instanciasEC2.

Write-ASNotificationConfiguration -AutoScalingGroupName my-asg -NotificationType @("autoscaling:EC2_INSTANCE_LAUNCH", "autoscaling:EC2_INSTANCE_TERMINATE") -TopicARN "arn:aws:sns:us-west-2:123456789012:my-topic"

En el siguiente ejemplo de código se muestra cómo usar Write-ASScalingPolicy.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se agrega la política especificada al grupo de escalado automático especificado. El tipo de ajuste especificado determina cómo interpretar el ScalingAdjustment parámetro. Con 'ChangeInCapacity', un valor positivo aumenta la capacidad en el número especificado de instancias y un valor negativo reduce la capacidad en el número especificado de instancias.

Write-ASScalingPolicy -AutoScalingGroupName my-asg -AdjustmentType "ChangeInCapacity" -PolicyName "myScaleInPolicy" -ScalingAdjustment -1

Salida:

arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:aa3836ab-5462-42c7-adab-e1d769fc24ef:autoScalingGroupName/my-asg :policyName/myScaleInPolicy

En el siguiente ejemplo de código se muestra cómo usar Write-ASScheduledUpdateGroupAction.

Herramientas para PowerShell

Ejemplo 1: En este ejemplo se crea o actualiza una acción programada única para cambiar la capacidad deseada a la hora de inicio especificada.

Write-ASScheduledUpdateGroupAction -AutoScalingGroupName my-asg -ScheduledActionName "myScheduledAction" -StartTime "2015-12-01T00:00:00Z" -DesiredCapacity 10