## 중간에 SNS를 사용하는 이유는 확장성으로 제공하기 위함 (SQS, 람다 동시 제공 가능)
Access Policy that needs to be configured on SQS.
a) replace the SQS ARN
b) replace the SNS ARN.
{
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "sns.amazonaws.com"
},
"Action": "sqs:SendMessage",
"Resource": "SQS ARN",
"Condition": {
"ArnEquals": {
"aws:SourceArn": "SNS ARN"
}
}
}
]
}
Access Policy that needs to be configured on SNS:
a) replace SNS topic ARN
b) Replace s3 bucket ARN
c) Replace account
{
"Version": "2012-10-17",
"Id": "example-ID",
"Statement": [
{
"Sid": "Example SNS topic policy",
"Effect": "Allow",
"Principal": {
"Service": "s3.amazonaws.com"
},
"Action": [
"SNS:Publish"
],
"Resource": "SNS topic ARN",
"Condition": {
"ArnLike": {
"aws:SourceArn": "s3 bucket ARN"
},
"StringEquals": {
"aws:SourceAccount": "account id"
}
}
}
]
}
================== 실습 ==============================
1. S3 버킷 생성
- test12345677
2. SNS 구독 생성
- s3eventtopic
3. SQS 큐 생성
## 서비스가 서로 통신할 수 있는 권한 제공
4. SNS에서 S3 알람을 받으려면 정책 설정 필요
{
"Version": "2012-10-17",
"Id": "example-ID",
"Statement": [
{
"Sid": "Example SNS topic policy",
"Effect": "Allow",
"Principal": {
"Service": "s3.amazonaws.com"
},
"Action": [
"SNS:Publish"
],
"Resource": "SNS topic ARN",
"Condition": {
"ArnLike": {
"aws:SourceArn": "s3 bucket ARN"
},
"StringEquals": {
"aws:SourceAccount": "account id"
}
}
}
]
}
5. SQS에서 SNS주제 메시지를 가져오기 설정 (SQS 정책 설정 필요)
{
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "sns.amazonaws.com"
},
"Action": "sqs:SendMessage",
"Resource": "SQS ARN",
"Condition": {
"ArnEquals": {
"aws:SourceArn": "SNS ARN"
}
}
}
]
}
6. S3버킷에서 이벤트 알림 구성
- Event notification 선택
- 이벤트 이름 : createevents
- 목적지 : SNS topic 지정
7. SNS 구독생성 (SNS ==> SQS)
8. S3 파일 업로드 테스트
- SQS 대기열 확인
- Poll for messages 클릭
https://www.youtube.com/watch?v=OvQVVfz-EGM
'[AWS-DR] > S3' 카테고리의 다른 글
[참고] Provide Cross Account S3 Bucket Access to EC2 Instance without using STS Assume Role (80) | 2024.07.23 |
---|---|
[참고] Access S3 Objects of One Account from EC2 Instance in Another Account (84) | 2024.07.23 |
Server-Side Encryption in S3 using KMS - SSE-KMS (72) | 2024.07.01 |
[중요] AWS S3 Replicate 테스트, 다른 AWS계정으로 버킷 복제하기!! (60) | 2024.06.26 |
[참고] AWS S3 CRR vs SRR replication (교차 리전 복제, 동일 리전 복제) (60) | 2024.06.26 |
댓글