여러 AWS 계정에서 Amazon CloudWatch 경보를 사용하여 Amazon Simple Notification Service(Amazon SNS) 주제를 간접 호출하고 싶습니다.
해결 방법
**참고:**다음 해결 방법은 2개의 계정을 사용합니다. 계정 A는 CloudWatch 경보를 생성하는 데 사용되고 계정 B는 SNS 주제를 생성하는 데 사용됩니다.
계정 B에서 SNS 주제 생성
다음 단계를 완료하십시오.
- Amazon SNS 콘솔을 엽니다.
- 탐색 창에서 Topics(주제)를 선택한 후 Create Topic(주제 생성)을 선택합니다.
- 주제 유형으로 Standard(표준)를 선택한 다음 주제 이름을 생성합니다.
- Create topic(주제 생성)을 선택한 다음 주제의 ARN을 복사합니다.
- 탐색 창에서 Subscriptions(구독)을 선택한 다음 Create Subscription(구독 생성)을 선택합니다.
- Topic ARN(주제 ARN) 섹션에 주제의 ARN을 추가한 다음 프로토콜로 Email(이메일)을 선택합니다.
- Create Subscription(구독 생성)을 선택한 다음 이메일을 확인하여 구독을 확인합니다.
계정 A에서 CloudWatch 경보 생성
다음 단계를 완료하십시오.
- CloudWatch 콘솔을 엽니다.
- 탐색 창에서 Alarms(경보)를 선택한 후 Create Alarm(경보 생성)을 선택합니다.
- 지표를 선택한 다음 임계값 및 비교 파라미터에 대한 세부 정보를 제공합니다.
- Configure Actions(작업 구성)의 Notifications(알림)에서 Use topic ARN to notify other accounts(주제 ARN을 사용하여 다른 계정에 알림)를 선택한 다음 계정 B에서 주제 ARN을 입력합니다.
- 경보 이름을 생성한 다음 Create Alarm(경보 생성)을 선택합니다.
계정 B에서 SNS 주제의 액세스 정책 업데이트
경보가 메시지를 게시할 수 있도록 계정 B에서 SNS 주제의 액세스 정책을 업데이트하려면 다음 단계를 완료하십시오.
-
Amazon SNS 콘솔을 엽니다.
-
탐색 창에서 Topics(주제)를 선택한 다음 주제를 선택합니다.
-
Edit(편집)를 선택한 후 정책에 다음을 추가합니다.
{ "Version": "2008-10-17",
"Id": "default_policy_ID",
"Statement": [
{
"Sid": "default_statement_ID",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"SNS:Publish"
],
"Resource": "example-topic-arn-account-b",
"Condition": {
"ArnLike": {
"aws:SourceArn": "arn:aws:cloudwatch:example-region:111122223333:alarm:*"
}
}
}
]
}
참고: 위 정책에서 예시 값을 사용자 값으로 바꾸십시오.
경보 테스트
경보를 테스트하려면 지표 데이터 포인트를 기반으로 경보 임계값을 변경하거나 경보 상태를 수동으로 변경하십시오. 경보 임계값 또는 경보 상태를 변경하면 이메일 알림을 받게 됩니다.
관련 정보
모든 CloudWatch 경보가 다른 계정의 주제에 게시되도록 허용
CloudWatch 경보 트리거에 대한 SNS 알림을 받지 못한 이유는 무엇입니까?
SetAlarmState