Amazon Simple Notification Service(Amazon SNS) 주제에서 Amazon Relational Database Service(Amazon RDS) 알림을 받으려고 합니다.
해결 방법
SNS 주제가 암호화되어 있는지 확인
1. Amazon SNS 콘솔을 엽니다.
2. 탐색 패널에서 [주제(Topics)] 를 선택한 다음 RDS 알림을 받을 주제를 선택합니다.
3. [암호화(Encryption)] 탭을 선택합니다.
[암호화(Encryption)] 섹션에 [구성됨(Configured)]이 표시되면 주제가 암호화됩니다. [AWS KMS 키(KMS 키)(AWS KMS key (KMS key))]와 [KMS ARN]도 표시됩니다.
주제가 암호화된 경우 Amazon RDS에 AWS KMS 키에 액세스하는 데 필요한 권한을 부여하세요. 자세한 내용은 AWS 서비스의 이벤트 소스와 암호화된 주제 간의 호환성 활성화를 참조하세요.
참고: 암호화된 주제가 Amazon RDS 알림을 받으려면 AWS KMS 키를 사용하여 SNS 주제를 암호화해야 합니다. 작업에 대한 권한(kms:GenerateDataKey* 및 kms:Decrypt)을 추가하려면 AWS KMS 키 정책을 수정해야 합니다.
주제가 암호화되지 않은 경우 이 문서의 SNS 주제의 액세스 정책 유효성 검사 섹션을 계속 진행합니다.
SNS 주제의 액세스 정책 유효성 검사
SNS 액세스 정책에는 Amazon RDS가 SNS 주제에 이벤트를 게시할 수 있도록 허용하는 권한이 있어야 합니다.
1. Amazon SNS 콘솔을 엽니다.
2. 탐색 패널에서 [주제(Topics)] 를 선택한 다음 RDS 알림을 받을 주제를 선택합니다.
3. [액세스 정책(Access policy)] 탭을 선택합니다.
SNS 액세스 정책에서 Amazon RDS가 SNS 주제에 이벤트를 게시하는 것을 허용하지 않는 경우 다음 단계를 수행하여 정책을 업데이트합니다.
1. 주제 페이지의 [세부 정보(Details)] 섹션에서 [편집(Edit)]을 선택합니다.
2. [액세스 정책(Access policy)] 섹션을 확장한 다음 이전 정책을 복사하여 JSON 편집기에 붙여 넣습니다.
3. [변경 사항 저장(Save changes)]을 선택합니다.
{
"Version": "2008-10-17",
"Id": "SNSAccessPolicy",
"Statement": [
{
"Sid": "PolicyForRDSToSNS",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "SNS:Publish",
"Resource": "your-SNS-topic-ARN",
"Condition": {
"ArnLike": {
"aws:SourceArn": "arn:aws:rds:your-AWS-region:your-AWS-account-ID:*"
}
}
}
]
}
참고: 정책의 자리 표시자 값을 사용자 값으로 업데이트합니다.
RDS 이벤트 알림에 예상하는 이벤트 유형에 대해 올바른 범주가 선택되어 있는지 확인합니다.
원하는 알림에 적합한 범주를 선택합니다. 예를 들어 인스턴스 재시작 및 종료에 대한 알림을 받으려면 가용성 범주와 인스턴스를 이벤트 소스로 선택합니다. 가용성 범주에는 다음 이벤트가 포함됩니다.
- “RDS-EVENT-0006: DB 인스턴스가 다시 시작되었습니다.”
- “RDS-EVENT-0004: DB 인스턴스 종료”
- “RDS-EVENT-0022: MySQL 또는 MariaDB를 다시 시작하는 동안 오류가 발생했습니다.”
이벤트 구독의 구성을 확인합니다.
1. Amazon RDS 콘솔을 엽니다.
2. 탐색 패널에서 [이벤트 구독(Event subscriptions)]을 선택한 다음 이벤트 구독을 선택합니다.
3. 구독 페이지의 [이벤트 구독 세부 정보(Event subscription details)] 섹션에서 [소스 유형(Source type)], [소스(Sources)] 및 [이벤트 범주(Event categories)] 필드의 값을 확인합니다.
4. 사용 사례에 맞는 이벤트 유형에 대해 올바른 소스 및 이벤트 범주를 선택합니다.
이벤트 구독의 구성을 편집합니다.
참고: 다음 단계에서는 모든 인스턴스 리소스 및 종료에 대한 알림을 수신하려는 시나리오를 가정합니다. 지원되는 다양한 이벤트 유형 및 해당 범주에 대한 자세한 내용은 Amazon RDS 이벤트 범주 및 이벤트 메시지를 참조하세요.
1. Amazon RDS 콘솔의 탐색 패널에서 [이벤트 구독(Event subscriptions)]을 선택한 다음 이벤트 구독을 선택합니다.
2. 구독 페이지에서 [작업(Actions)], [편집(Edit)]을 선택합니다.
3. [소스(Source)] 섹션에서 [소스 유형(Source Type)]에 [인스턴스(Instances)]를 선택합니다.
4. [포함할 인스턴스(Instances to include)]에 [모든 인스턴스(All instances)]를 선택합니다.
5. [포함할 이벤트 범주(Event categories to include)]에 [특정 이벤트 범주 선택(Select specific event categories)]을 선택합니다.
6. [특정 이벤트 범주(Specific event categories)]에 [가용성(availability)]을 선택합니다.
7. [저장(Save)]을 선택합니다.
관련 정보
AWS KMS를 사용하여 Amazon SNS에 게시된 메시지 암호화