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 KeySecret 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>

연락 지점 테스트 또는 알림 활성화를 진행하세요.

추가 리소스

더 알아보기 (Learn more)