AWS CloudWatch 控制面板 CloudFormation 配置

AWS CloudWatch dashboard CloudFormation configuration

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

metrics": [
        "AWS/EC2",
        "CPUUtilization",
        "InstanceId",
        "!Ref Ec2Instance"
]

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

您可以使用 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"
            }
          }]}' ] ] } 

文档: