Posso confirmar o que o Dojo disse acima. Embora o texto na descrição do bloco de dimensões faça parecer que não é necessário e as sequências / valores são arbitrários, existe uma lista específica de nomes que podem ser usados para cada tipo de serviço para o qual você deseja criar um alarme. Essa lista mapeia o tipo de serviço para os valores permitidos no bloco de dimensões, o que faz com que seus alarmes funcionem corretamente.
Parece-me que o bloco de dimensões é uma forma de filtrar eventos. Portanto, se você quiser ver CPUUtilization para um cluster, forneça ClusterName. Se você deseja o serviço específico de um cluster, forneça 2 entradas para o bloco de dimensões. ClusterName e ServiceName.
link
A única diferença entre os dois exemplos abaixo é o campo Dimensions.Name.
Exemplo que NÃO funcionará
"CPUUtilizationScaleInAlarm": {
"Type": "AWS::CloudWatch::Alarm",
"Properties": {
"ActionsEnabled": true,
"AlarmActions": [
{
"Ref": "ESCServiceScaleInPolicy"
}
],
"AlarmDescription": "Scale in in response to CPUUtilization being low",
"AlarmName": "CPUUtilizationScaleIn",
"ComparisonOperator": "LessThanOrEqualToThreshold",
"Dimensions": [
{
"Name": "ECService",
"Value": "MyAwesomeService"
],
"EvaluationPeriods": 1,
"MetricName": "CPUUtilization",
"Namespace": "AWS/ECS",
"Period": 60,
"Statistic": "Average",
"Threshold": 25,
"Unit": "Percent"
}
}
Exemplo que WILL funciona
"CPUUtilizationScaleInAlarm": {
"Type": "AWS::CloudWatch::Alarm",
"Properties": {
"ActionsEnabled": true,
"AlarmActions": [
{
"Ref": "ESCServiceScaleInPolicy"
}
],
"AlarmDescription": "Scale in in response to CPUUtilization being low",
"AlarmName": "CPUUtilizationScaleIn",
"ComparisonOperator": "LessThanOrEqualToThreshold",
"Dimensions": [
{
"Name": "ServiceName",
"Value": "MyAwesomeService"
],
"EvaluationPeriods": 1,
"MetricName": "CPUUtilization",
"Namespace": "AWS/ECS",
"Period": 60,
"Statistic": "Average",
"Threshold": 25,
"Unit": "Percent"
}
}