CloudWatch metrics and alarms Cross-account/Cross-Region with CloudFormation

2

Hi, do you know when might Cross-account cross-Region CloudWatch metrics and alarms creation be available with cloudformation? https://aws.amazon.com/about-aws/whats-new/2021/08/announcing-amazon-cloudwatch-cross-account-alarms/

질문됨 2년 전2652회 조회
1개 답변
2

There are three different elements to be managed: 1) configuring the sharing between source and monitor accounts, 2) creating metrics and 3) creating alarms based on those metrics.

  1. Configuration of the source side of the sharing is set up with IAM, which can be automated with CloudFormation. https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html provides the template. The monitoring side of the sharing looks to be console only at this point, which is a shame, but in most cases I guess you'd only want to do this once so not too much of an overhead.

  2. Metrics stay in the source accounts so can be managed as they are in a non-shared account: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metric.html

  3. Ideally the metric property would have an AccountId property. Perhaps this is what's coming soon? As a work-around you can use the Metrics property of the alarm with a MetricDataQuery, which does have an AccountId property. That would make an alarm something like this for a cross account alarm on EC2 CPU, deployed to the monitoring account based on a metric from a source account:

Resources:
  CrossRegionAlarm:
    Type: AWS::CloudWatch::Alarm
    Properties: 
      AlarmDescription: Alarm to prove cross account works in CFN
      Threshold: '80'
      ComparisonOperator: GreaterThanThreshold
      EvaluationPeriods: '1'
      Metrics: 
        - Id: metricOne
          AccountId: '<your source account here>'
          Label: EC2 Max CPU in account
          MetricStat: 
              Metric: 
                  Dimensions: 
                    - Name: InstanceId
                      Value: <your instance id>
                  MetricName: CPUUtilization
                  Namespace: AWS/EC2
              Period: '60'
              Stat: Maximum
          ReturnData: True

답변함 2년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠