Amazon SNS 알림 구성하기
Amazon SNS 알림 구성하기
연락 지점의 Amazon SNS 통합을 사용하면 SNS 토픽으로 알림을 보낼 수 있어요. 그런 다음 SNS 토픽이 SNS 계정에서 사용하는 구독자 채널로 알림을 전달하도록 구성하면 됩니다. 최소 구성 예시는 아래의 Access Key 사용 예시를 참고하세요.
출처: 문서
본문
연락 지점의 Amazon SNS 통합을 사용해 SNS 토픽으로 알림을 전송합니다. SNS 토픽이 구독자 채널로 알림을 전달하도록 구성합니다.
시작하기 전에
- AWS SNS Topic: 알림을 보낼 SNS 토픽
- AWS IAM Identity: SNS 토픽에 메시지를 게시할 권한이 있는 IAM 자격(사용자, 역할 등)
연락 지점에 Amazon SNS 구성하기
- Alerts & IRM → Alerting → Notification configuration으로 이동하고 Contact points 탭을 선택합니다.
-
- Add contact point를 클릭합니다.
- 연락 지점 이름을 입력합니다.
- Integration 목록에서 AWS SNS를 선택합니다.
- SNS 구성에 필요한 설정을 완료합니다.
- Save contact point를 클릭합니다.
연락 지점 테스트 등 자세한 내용은 Configure contact points를 참고하세요.
SNS 설정
- The Amazon SNS API URL: (선택) SNS API URL, 예:
https://sns.us-east-2.amazonaws.com. 지정하지 않으면 SNS SDK의 API URL이 사용됩니다. - Signature Version (sigv4): AWS의 Signature Verification 4 서명 프로세스로 요청에 서명.
- Region: (선택) AWS 리전. 비워두면 기본 자격 증명 체인의 리전 사용.
- Access Key: (선택) AWS API 액세스 키.
- Secret Key: (선택) AWS API 시크릿 키.
Access Key와Secret Key는 함께 제공하거나 함께 비워둬야 합니다. 비워두면 Grafana는 기본 자격 증명 체인(환경 변수AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY, 공유 자격 증명 파일, EC2 인스턴스 역할)으로 자격 증명을 검색합니다. - Profile: (선택) 인증에 사용하는 명명된 AWS 프로필.
- SNS topic ARN: (선택) 지정하지 않으면 Phone number나 Target ARN을 지정해야 합니다. FIFO SNS 토픽을 사용한다면 SNS 기본 중복 제거 창으로 같은 그룹 키 메시지가 중복 제거되지 않도록 메시지 그룹 간격을 5분보다 길게 설정하세요.
- Phone number: (선택) SMS로 전달 시 E.164 형식의 전화번호. 지정하지 않으면 SNS topic ARN이나 Target ARN을 지정해야 합니다.
- Target ARN: (선택) 모바일 알림으로 전달 시 모바일 플랫폼 엔드포인트 ARN. 지정하지 않으면 SNS topic ARN이나 Phone number를 지정해야 합니다.
- Subject: (선택) 제목 커스터마이즈. 알림 템플릿을 지원하며 기본은
default.title템플릿. 빈 문자열일 수 없습니다. - Message: (선택) 메시지 커스터마이즈. 알림 템플릿을 지원하며 기본은
default.message템플릿. - Attributes: (선택) SNS 메시지 속성 추가.
Access Key 사용 예시
Alerting으로 Amazon SNS를 구성하는 최소 설정입니다.
1. SNS 토픽과 이메일 구독자 생성
- AWS 콘솔에서 Amazon SNS로 이동합니다.
- Create topic을 선택하고 Type을 "Standard"로, Name을 예:
My-Topic으로 지정하고 Encryption은 비활성화한 채 생성합니다. - (선택) Create subscription에서 Protocol을 Email로, Endpoint에 이메일을 입력해 테스트 구독자를 추가하고, 이메일 링크로 구독을 확인합니다.
2. IAM 정책, 사용자, 액세스 키 생성
- IAM 콘솔에서 Create policy를 선택하고 JSON 탭에 다음 정책을 붙여넣습니다(
Resource를 SNS 토픽 ARN으로 교체).
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["sns:Publish", "sns:GetTopicAttributes"],
"Resource": "arn:aws:sns:<region>:<account_id>:<topic_name>"
}
]
}
- 이름을 예:
SNSPublishPolicy로 지정하고 정책을 생성합니다. - IAM 사용자(예:
alerting-sns-user)를 만들고 "Attach policies directly"로 이 정책을 연결합니다. - 사용자에서 Create access key를 선택해 Access key ID와 Secret access key를 생성하고 저장합니다.
3. Grafana에서 SNS 연락 지점 구성
연락 지점에 Amazon SNS 구성 단계를 따르되, 다음 값을 사용합니다.
- The Amazon SNS API URL:
https://sns.<region>.amazonaws.com - Signature Version (sigv4): Region
<region>, Access Key<YOUR_ACCESS_KEY>, Secret Key<YOUR_SECRET_ACCESS_KEY> - SNS topic ARN:
arn:aws:sns:<region>:<account_id>:<topic_name>