Monitore eventos do Application Auto Scaling usando a Amazon EventBridge - Application Auto Scaling

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Monitore eventos do Application Auto Scaling usando a Amazon EventBridge

A Amazon EventBridge, anteriormente chamada de CloudWatch Events, ajuda você a monitorar eventos específicos do Application Auto Scaling e a iniciar ações-alvo que usam outros. Serviços da AWS Os eventos de Serviços da AWS são entregues quase EventBridge em tempo real.

Usando EventBridge, você pode criar regras que correspondam aos eventos recebidos e encaminhá-los aos alvos para processamento.

Para obter mais informações, consulte Introdução à Amazon EventBridge no Guia do EventBridge usuário da Amazon.

Eventos do Application Auto Scaling

Os seguintes exemplos mostram eventos do Application Auto Scaling. Os eventos são emitidos com base no melhor esforço.

Atualmente, somente eventos específicos para escalado até o máximo e para chamadas de API via CloudTrail estão disponíveis para o Application Auto Scaling.

Evento para alteração de estado: dimensionado ao máximo

O seguinte evento de exemplo mostra que o Application Auto Scaling elevou (aumentou a escala horizontalmente) a capacidade do destino dimensionável até seu limite de tamanho máximo. Se a demanda aumentar novamente, o Application Auto Scaling será impedido de dimensionar o destino para um tamanho maior, pois ele já está dimensionado com seu tamanho máximo.

No objeto detail, os valores para os atributos resourceId, serviceNamespace e scalableDimension identificam o destino dimensionável. Os valores dos atributos newDesiredCapacity e oldDesiredCapacity referem-se à nova capacidade após o evento de aumento da escala na horizontal e à capacidade original antes do evento de aumento da escala. O maxCapacity é o limite máximo de tamanho do destino dimensionável.

{ "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 criar uma regra que capture todos os eventos de alteração de estado scaledToMax para todos os destinos dimensionáveis, use a seguinte amostra de padrão de evento.

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

Eventos para chamadas de API via CloudTrail

Uma trilha é uma configuração AWS CloudTrail usada para entregar eventos como arquivos de log em um bucket do Amazon S3. CloudTrail os arquivos de log contêm entradas de log. Um evento representa uma entrada de log e inclui informações sobre a ação solicitada, a data e hora da ação e os parâmetros da solicitação. Para saber como começar CloudTrail, consulte Criação de uma trilha no Guia do AWS CloudTrail usuário.

Os eventos que são entregues por meio de CloudTrail têm AWS API Call via CloudTrail como valordetail-type.

O evento de exemplo a seguir representa uma entrada de arquivo de CloudTrail log que mostra que um usuário do console chamou a ação 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 criar uma regra com base em todas as chamadas da API DeleteScalingPolicy e DeregisterScalableTarget para todos os destinos escaláveis, use o seguinte exemplo de padrão de evento:

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

Para obter mais informações sobre o uso CloudTrail, consulteRegistre as chamadas da API Application Auto Scaling usando AWS CloudTrail.