Amazon web services 在AWS CloudWatch Alarm中配置负载平衡器

Amazon web services 在AWS CloudWatch Alarm中配置负载平衡器,amazon-web-services,amazon-ec2,amazon-cloudformation,amazon-cloudwatch,Amazon Web Services,Amazon Ec2,Amazon Cloudformation,Amazon Cloudwatch,我在AWS上有一个web应用程序,我正在尝试根据请求配置自动缩放 我的AppLoadBalancer资源如下: "AppLoadBalancer": { "Properties": { "LoadBalancerAttributes": [ { "Key": "idle_timeout.timeout_seconds", "Value": "60" }

我在AWS上有一个web应用程序,我正在尝试根据请求配置自动缩放

我的
AppLoadBalancer
资源如下:

"AppLoadBalancer": {
    "Properties": {
        "LoadBalancerAttributes": [
            {
                "Key": "idle_timeout.timeout_seconds",
                "Value": "60"
            }
        ],
        "Name": "sample-app-v1",
        "Scheme": "internet-facing",
        "SecurityGroups": [
            "sg-1abcd234"
        ],
        "Subnets": {
            "Fn::FindInMap": [
                "LoadBalancerSubnets",
                {
                    "Ref": "AWS::Region"
                },
                "Subnets"
            ]
        },
        "Tags": [
            {
                "Key": "Name",
                "Value": "sample-app-v1"
            },
            {
                "Key": "StackName",
                "Value": "sample-app"
            },
            {
                "Key": "StackVersion",
                "Value": "v1"
            }
        ]
    },
    "Type": "AWS::ElasticLoadBalancingV2::LoadBalancer"
}
我正在尝试如下配置CloudWatch警报:

"RequestCountTooHighAlarm": {
    "Properties": {
        "AlarmActions": [
            {
                "Ref": "ScaleUp"
            }
        ],
        "AlarmDescription": "Scale-up if request count >= 8000 for last 5 minute",
        "ComparisonOperator": "GreaterThanOrEqualToThreshold",
        "Dimensions": [
            {
                "Name": "LoadBalancer",
                "Value": [
                    {
                        "Fn::GetAtt": [
                            "AppLoadBalancer",
                            "LoadBalancerFullName"
                        ]
                    }
                ]
            }
        ],
        "EvaluationPeriods": 1,
        "MetricName": "RequestCount",
        "Namespace": "AWS/ApplicationELB",
        "OKActions": [
            {
                "Ref": "ScaleDown"
            }
        ],
        "Period": 300,
        "Statistic": "SampleCount",
        "Threshold": 8000
    },
    "Type": "AWS::CloudWatch::Alarm"
}
然而,我的堆栈继续失败,我不知道这里出了什么问题。这是我得到的错误

ERROR: RequestCountTooHighAlarm CREATE_FAILED: Value of property Value must be of type String
ERROR: sample-app-v1 CREATE_FAILED: The following resource(s) failed to create: [RequestCountTooHighAlarm].

有人可以建议吗?

提到的属性需要一个字符串。您将其定义为一个列表:

        "Value": [
            {
                "Fn::GetAtt": [
                    "AppLoadBalancer",
                    "LoadBalancerFullName"
                ]
            } ]

[]括号定义了JSON中的列表。移除
值中的外括号,仅使用
Fn::GetAt
部分。该调用将返回一个字符串。

什么类型的资源由
“Ref”:“ScaleUp”
定义?