AWS CloudWatch仪表板CloudFormation配置

Mas*_*ues 3 amazon-web-services aws-cloudformation

我正在尝试使用基本小部件来配置仪表板以公开CpUUtilization指标.我无法引用之前创建的EC2实例,因为似乎在描述仪表板的json中没有解释!Ref函数.

metrics": [
        "AWS/EC2",
        "CPUUtilization",
        "InstanceId",
        "!Ref Ec2Instance"
]
Run Code Online (Sandbox Code Playgroud)

知道如何通过逻辑名称引用它吗?

小智 5

您可以使用Fn::Join将内部函数(如Ref)的输出与字符串组合在一起.例如:

  CloudWatchDashboardHOSTNAME:
    Type: "AWS::CloudWatch::Dashboard"
    DependsOn: Ec2InstanceHOSTNAME
    Properties:
      DashboardName: HOSTNAME
      DashboardBody: { "Fn::Join": [ "", ['{"widgets":[
          {
            "type":"metric",
            "properties":{
              "metrics":[
                ["AWS/EC2","CPUUtilization","InstanceId",
                 "', { Ref: Ec2InstanceHOSTNAME }, '"] 
              ],
              "title":"CPU Utilization",
              "period":60,
              "region":"us-east-1"
            }
          }]}' ] ] } 
Run Code Online (Sandbox Code Playgroud)

文档: