AWS
-
[AWS] SQS DLQ 설정하기AWS 2023. 6. 13. 00:01
DLQ란 무엇인가? DLQ(Dead Letter Queue)는 소프트웨어 시스템에서 오류로 인해 처리할 수 없는 메시지를 임시로 저장하는 특수한 유형의 메시지 대기열입니다. DLQ는 왜 사용할까요? 전송된 메시지가 잘못된 경우 메시지는 DLQ로 이동합니다. 하드웨어, 소프트웨어 및 네트워크 상태로 인해 전송된 데이터가 손상될 수 있습니다. 예를 들어, 하드웨어 간섭으로 인해 전송 중에 일부 정보가 약간 변경됩니다. 예상치 못하게 데이터가 손상되면 수신자가 메시지를 거부하거나 무시할 수 있습니다. 수신 소프트웨어에서 발신자가 인식하지 못하는 변경 사항이 발생한 경우에도 메시지가 DLQ로 이동될 수 있습니다. 예를 들어 수신 소프트웨어에서 message_name이라는 필드가 message_names로 변경되..
-
Spring Cloud AWS 3.0 사용하기 - SNS, SQSAWS 2023. 6. 8. 00:01
개요 AWS는 Amazon Web Server를 잘 이용할 수 있도록 Java SDK를 제공합니다. Java SDK는 AWS에서 사용할 수 있는 모든 기능을 제공하지만, 이를 Spring 관용적 방식으로 사용하려면 상당한 양의 로우레벨 코드가 필요합니다. Spring Cloud AWS는 애플리케이션 개발자가 가장 많이 사용되는 AWS 서비스를 사용하고 로우레벨 코드를 최대한 피할 수 있도록 이미 통합된 Spring 기반 모듈을 제공합니다. Spring Cloud AWS BOM 사용하기 dependencies { //Spring Cloud AWS를 위한 의존성 //https://docs.awspring.io/spring-cloud-aws/docs/3.0.0/reference/html/index.html i..
-
[AWS] sns, sqs aws와 연동해보기AWS 2023. 6. 5. 00:01
개요 local이 아니라 dev환경에서 직접 aws sns, aws sqs와 연동해 보기 AwsSqsConfig @Configuration @Profile(value = ["dev"]) class AwsSqsConfig { @Bean @Primary fun amazonSQSAsync(): AmazonSQSBufferedAsyncClient { val amazonSQSAsync = AmazonSQSAsyncClientBuilder .standard() .withRegion(Regions.AP_NORTHEAST_2) .build() return AmazonSQSBufferedAsyncClient(amazonSQSAsync) } } dev용으로 amazonSQSConfig를 만들어주었습니다. AwsSnsCon..
-
[AWS] SQS 사용시 주의사항AWS 2023. 6. 4. 00:01
SQS란? 대기열(Queue)를 제공하여 분산 소프트웨어 시스템과 구성요소를 통합 및 분리할 수 있게 해주는 도구입니다. SQS 동작과정(기본 아키텍처) 분산 메시징 시스템으로 이루어져 있습니다. 메세지는 한 지역 내의 여러 가용 영역에 걸쳐 분산 방식으로 저장됩니다. 큐(메시지 A부터 E까지 보유)는 여러 Amazon SQS 서버에 메시지를 중복 저장합니다. Message Lifecycle 1. 생산자(component 1) 메세지 A를 대기열로 전송하고 이 메시지는 SQS 서버에 중복 분산되어 저장됩니다. 2. 소비자(component 2)는 메시지를 대기열에서 소비합니다. 메시지 A가 처리되는 동안 대기열에는 그대로 존재하고 제한시간초과가 지속되는 동안 후속 수신 요청을 반환하지 않습니다. 3. 소..
-
[AWS] SpringBoot LocalStack으로 SNS, SQS 구성하기AWS 2023. 6. 3. 00:01
LocalStack이란? Localstack은 AWS Cloud 리소스들을 로컬에서 테스트할 수 있게 도와주는 테스트/모킹 프레임워크를 제공합니다. LocalStack을 활용하면 장점 AWS 클라우드 리소스를 직접 수행하지 않고 로컬 테스트가 가능해진다. 준비물 Docker AWS CLI Docker-Compose.YML version: '3.4' services: localstack: image: localstack/localstack:latest container_name: localstack_sns_sqs ports: - '4566:4566' environment: - DEFAULT_REGION=ap-northeast-2 - SERVICES=sns,sqs - DEBUG=1 - DATA_DIR=/tm..
-
AWS VPC란?AWS 2023. 5. 23. 00:01
VPN이란? Virutal Private Network의 약자로 가설사설망을 뜻합니다. 예를 들어 회사 네트워크에서만 접속 가능한 서버를 집에서 접속하기 위해서 VPN을 이용하여 마치 회사 내부 네트워크에 있는 것처럼 만들어 주는 역할을 수행합니다. 회사 네트워크가 같이 구성되어 있고 보안상 이유로 직원간 네트워크를 분리하고 싶다면 인터넷 선공사를 다시 해주어야 합니다. 이때 VPN을 활용하면 네트워크A와 네트워크 B가 실제로 같은 네트워크상에 있지만 논리적으로 다른 네트워크인 것처럼 동작합니다. VPC란? Virtual Private Cloud의 약자로 가상 네트워크를 의미합니다. VPC를 활용하여 외부와 격리된 네트워크 컨테이너를 생성할 수 있습니다. IP 주소 범위 선택, 서브넷 생성, 라우팅 테이..
-
AWS MFA 설정AWS 2023. 5. 5. 00:01
개요 AWS 계정은 과금이 발생할 수 있다. 즉, 해킹당했을 때 위험부담이 크다. 따라서 보안설정을 수행하고자 합니다. MFA란? Multi Factor Authentication의 약자로 인증 시 추가적인 보안이 적용될 수 있도록 구성할 수 있습니다. 보안 자격 증명으로 이동 MFA 할당 모바일 디바이스 또는 컴퓨터에 설치된 Authenticator 앱 선택 Authenticator 앱 설치 QR 코드 스캔 후 숫자 등록 사용하는 애플리케이션에서 QR 코드를 스캔한 후 6자리 숫자 코드를 한 번 입력하고 시간이 만료된 후 새로운 6자리 숫자코드를 입력하도록 합니다. 인증 완료시 이후 다시 로그인 다시 로그인 시 MFA 코드를 입력해야 합니다. 참고자료 https://aws.amazon.com/ko/bl..
-
AWS SQS vs SNS vs EventBridgeAWS 2023. 5. 2. 00:01
개요 Event Driven Architecture 구조를 가져가기 위해 자료조사를 해보았을 때 SQS, SNS EventBridge에 대한 개념들이 보여서 이들을 정리해보고자 합니다. SNS란? Simple Notification Servier의 약자입니다. 구독 중인 Service 또는 사용자에 메시지를 전달, 전송을 관리하는 알림 서비스입니다. 애플리케이션, 서비스 및 시스템이 구독자 또는 엔드포인트로 메시지를 보낼 수 있게 합니다. SNS는 pub/sub 메시징 모델로 발신자가 토픽에 메시지를 게시하고 구독자가 이러한 토픽에서 메시지를 받습니다. HTTP, HTTPS, 이메일, SNS, Lambda 및 모바일 푸시를 포함한 다양한 메시징 프로토콜을 지원합니다. 분산 애플리케이션, 이벤트 기반 아키..