Supervise los eventos de Application Auto Scaling con Amazon EventBridge - Aplicación de escalado automático

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.

Supervise los eventos de Application Auto Scaling con Amazon EventBridge

Amazon EventBridge, anteriormente denominado CloudWatch Events, le ayuda a supervisar los eventos que son específicos de Application Auto Scaling y a iniciar acciones específicas que utilizan otros Servicios de AWS. Los eventos de Servicios de AWS se envían EventBridge prácticamente en tiempo real.

Con EventBridge él, puede crear reglas que coincidan con los eventos entrantes y enviarlos a los objetivos para su procesamiento.

Para obtener más información, consulta Cómo empezar a usar Amazon EventBridge en la Guía del EventBridge usuario de Amazon.

Eventos de Auto Scaling de aplicaciones

A continuación, se muestran los eventos de ejemplo de Application Auto Scaling. Los eventos se producen en la medida de lo posible.

Actualmente, solo los eventos que son específicos para escalar al máximo y las llamadas a la API mediante CloudTrail están disponibles para Application Auto Scaling.

Evento de cambio de estado: escalado al máximo

El siguiente evento de ejemplo muestra que Application Auto Scaling aumentó (escaló horizontalmente) la capacidad del objetivo escalable hasta su límite de tamaño máximo. Si la demanda vuelve a aumentar, se impedirá que Application Auto Scaling escale el objetivo a un tamaño mayor porque ya está escalado a su tamaño máximo.

En el objeto detail, los valores para los atributos resourceId, serviceNamespace y scalableDimension identifican el destino escalable. Los valores de los atributos newDesiredCapacity y oldDesiredCapacity se refieren a la nueva capacidad después del evento de escalamiento horizontal y a la capacidad original antes del evento de escalamiento horizontal. La maxCapacity es el límite de tamaño máximo del objetivo escalable.

{ "version": "0", "id": "11112222-3333-4444-5555-666677778888", "detail-type": "Application Auto Scaling Scaling Activity State Change", "source": "aws.application-autoscaling", "account": "123456789012", "time": "2019-06-12T10:23:40Z", "region": "us-west-2", "resources": [], "detail": { "startTime": "2022-06-12T10:20:43Z", "endTime": "2022-06-12T10:23:40Z", "newDesiredCapacity": 8, "oldDesiredCapacity": 5, "minCapacity": 2, "maxCapacity": 8, "resourceId": "table/my-table", "scalableDimension": "dynamodb:table:WriteCapacityUnits", "serviceNamespace": "dynamodb", "statusCode": "Successful", "scaledToMax": true, "direction": "scale-out" }

Para crear una regla que capture todos los eventos de cambio de estado scaledToMax para todos los destinos escalables, utilice el siguiente patrón de eventos de ejemplo.

{ "source": [ "aws.application-autoscaling" ], "detail-type": [ "Application Auto Scaling Scaling Activity State Change" ], "detail": { "scaledToMax": [ true ] } }

Eventos para llamadas a la API mediante CloudTrail

Un rastro es una configuración que se AWS CloudTrail utiliza para entregar eventos como archivos de registro a un bucket de Amazon S3. CloudTrail los archivos de registro contienen entradas de registro. Un evento representa una entrada de registro e incluye información sobre la acción solicitada, la fecha y la hora de la acción o los parámetros de la solicitud. Para obtener información sobre cómo empezar CloudTrail, consulte Creación de una ruta en la Guía del AWS CloudTrail usuario.

Los eventos que se entregan a través de CloudTrail tienen AWS API Call via CloudTrail como valordetail-type.

El siguiente evento de ejemplo representa una entrada de archivo de CloudTrail registro que muestra que un usuario de la consola llamó a la acción Application Auto Scaling RegisterScalableTarget.

{ "version": "0", "id": "99998888-7777-6666-5555-444433332222", "detail-type": "AWS API Call via CloudTrail", "source": "aws.autoscaling", "account": "123456789012", "time": "2022-07-13T16:50:15Z", "region": "us-west-2", "resources": [], "detail": { "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "123456789012", "arn": "arn:aws:iam::123456789012:user/Bob", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "123456789012", "arn": "arn:aws:iam::123456789012:role/Admin", "accountId": "123456789012", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-07-13T15:17:08Z", "mfaAuthenticated": "false" } } }, "eventTime": "2022-07-13T16:50:15Z", "eventSource": "autoscaling.amazonaws.com", "eventName": "RegisterScalableTarget", "awsRegion": "us-west-2", "sourceIPAddress": "AWS Internal", "userAgent": "EC2 Spot Console", "requestParameters": { "resourceId": "spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", "serviceNamespace": "ec2", "scalableDimension": "ec2:spot-fleet-request:TargetCapacity", "minCapacity": 2, "maxCapacity": 10 }, "responseElements": null, "additionalEventData": { "service": "application-autoscaling" }, "requestID": "e9caf887-8d88-11e5-a331-3332aa445952", "eventID": "49d14f36-6450-44a5-a501-b0fdcdfaeb98", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "sessionCredentialFromConsole": "true" } }

Para crear una regla basada en todas las llamadas a la API de DeleteScalingpolíticas y DeregisterScalableobjetivos para todos los destinos escalables, utilice el siguiente ejemplo de patrón de eventos:

{ "source": [ "aws.autoscaling" ], "detail-type": [ "AWS API Call via CloudTrail" ], "detail": { "eventSource": [ "autoscaling.amazonaws.com" ], "eventName": [ "DeleteScalingPolicy", "DeregisterScalableTarget" ], "additionalEventData": { "service": [ "application-autoscaling" ] } } }

Para obtener más información sobre el uso CloudTrail, consulteRegistre las llamadas a la API Application Auto Scaling mediante AWS CloudTrail.