[AWS ECS] ECS로 MSA 구현하기
·
AWS/ECS, ECR
클라우드의 혁신: AWS ECS를 통한 MSA 구현과 관리 클라우드 컴퓨팅과 마이크로서비스 아키텍처는 현대의 소프트웨어 개발에서 중요한 트렌드가 되었다. 이러한 환경에서 AWS의 Elastic Container Service(ECS)는 마이크로서비스 아키텍처(MSA)를 구현하고 관리하는 데 강력한 도구로 자리 잡았다. 이번 포스트에서는 AWS ECS의 기본 개념을 탐구하고, 마이크로서비스 아키텍처를 효과적으로 구현하는 데 있어서 ECS가 어떤 역할을 하는지에 대해 살펴보도록 하자 이번 포스트를 통해 AWS ECS를 사용하여 마이크로서비스 아키텍처를 구축하는 방법의 기본을 이해하게 될 것이다. 이 글이 ECS를 사용하여 MSA를 구축하고자 하는 분들께 도움이 되었으면 좋겠다. 1. AWS ECS와 마이크로..
AWS Message-Driven 4편: SNS와 SQS를 SpringBoot에 연동하기
·
AWS/SNS, SQS
이번 포스트에서는 SNS, SQS를 SpringBoot와 연동해 보자 1. SpringBoot 설정하기 1-1. SpringBoot 의존성 추가 (Build.gradle 파일) AWS의 메시지 서비스인 SQS(Simple Queue Service)와 SNS(Simple Notification Service)를 Spring Boot 애플리케이션과 통합하기 위한 의존성을 추가한다. 아래와 같이 코드를 작성한다. // AWS implementation platform("io.awspring.cloud:spring-cloud-aws-dependencies:3.0.1") implementation 'io.awspring.cloud:spring-cloud-aws-starter-sqs' implementation '..
AWS Message-Driven 완성 3편: SNS와 SQS 연동 및 테스트 전략
·
AWS/SNS, SQS
이번 포스트에서는 SNS와 SQS를 연동해 보도록 하자 1. SNS 주제(Topic) 구독 생성 1. SQS로 들어가기 구독을 위해서는 SNS가 아닌 SQS에서 구독하는게 더 확실하다. 하단과 같이 우측의 메뉴바에서 “대기열”을 클릭하자 1-2. 대기열 이름 클릭하기 대기열에 보이는 목록중에 이름을 클릭해서 들어간다. 이름을 클릭해서 세부 정보 페이지로 들어왔다면 하단의 "SNS구독"이라는 목록을 확인하자 1-3. Amazon SNS주제(topic) 구독하기 하단의 Amazon SNS 주제 구독 버튼을 누른다. 1-4. SQS가 구독할 SNS의 주제 선택하기 하단 박스처럼 내가 SNS의 주제를 선택해서 구독할 수가 있다. 1-5. 주제 구독완료 저장 버튼을 누르면 아래와 같은 팝업창이 나오면서 주제 구독..
AWS Message-Driven 실전 2편: SQS 구축과 테스트 검증
·
AWS/SNS, SQS
이번 포스트에서는 SQS를 설정하고 테스트까지 해보도록 하자 1. SQS란 무엇인가? 1-1. SQS(Simple Queue Service) AWS에서 제공하는 완전 관리형 메시지 큐 서비스로, 분산 시스템에서 메시지를 저장하고 전달하는 데 사용된다. 이 서비스를 사용하면 서버리스 마이크로서비스, 분산 시스템, 서버 기반 애플리케이션 간에 안정적이고 확장 가능하며 느슨하게 결합된 통신을 구현할 수 있다. 1-2. SQS의 기능과 장점 탈중앙화 및 비동기 처리 SQS를 사용하면 메시지를 큐에 저장하여 애플리케이션의 각 부분이 자신의 속도로 처리할 수 있다. 이는 시스템 간의 탈중앙화를 가능하게 하고, 피크 시간에 발생하는 부하를 관리하는 데 도움이 된다. 확장성 및 내구성 SQS는 자동으로 확장되므로, 처..
AWS Message-Driven 입문 1편: SNS 설정으로 시작하는 MSA
·
AWS/SNS, SQS
이번 포스트에서는 SNS 설정을 해보도록 하자 이번 시리즈에서는 마이크로서비스 아키텍처(MSA) 내에서 메시지 주도 통신을 구현하기 위해, Kafka 대신 AWS의 SNS와 SQS를 활용하는 방법을 단계별로 설명한다. SNS 설정부터 시작해 SQS와의 통합 과정까지, 실제 사용 사례를 통해 설명하겠다. 1. SNS란 무엇인가? 1-1. AWS SNS(Simple Notification Service)란? SNS는 "publish/subscribe" 모델을 기반으로 하는 관리형 서비스다. 이 서비스를 사용하면 메시지를 주제(topic)에 발행하고, 다양한 구독자(subscriber)들이 이 메시지를 받을 수 있다. 구독자는 이메일, SMS, HTTP/HTTPS 엔드포인트, 람다 함수 등 다양한 방식으로 메..
AWS IAM MFA 설정: 더 강력한 보안을 위한 가이드
·
AWS
이번 포스트에서는 AWS의 계정 이중보안(MFA)을 설정하도록 한다. 1. MFA 설정하기 (1단계: 디바이스 선택하기) 1-1. 보안 자격 증명 접속하기 로그인한 상태에서 AWS 페이지에서 우측 상단에 있는 내 이름을 클릭한다. 그러면 아래와 같이 메뉴가 나올 것이다. 체크박스 한 부분으로 들어가야 한다. 1-2.MFA 디바이스 할당하기 하단과 같은 페이지로 이동할 텐데 여기서 "MFA 디바이스 할당"을 클릭한다. 아래와 같이 MFA 디바이스 선택 페이지로 이동될 것이다. 1-3. 디바이스 선택하기 1단계 상단에서 디바이스 이름(식별할 이름)을 작성하고 하단에는 어떤 기기로 인증할지 선택한다. 나는 스마트폰으로 할 거라서 Authenticator app을 선택했다. 2. MFA 설정하기 (2단계: 디바..
AWS Secrets & ECS SpringBoot 설정 (3-2): 성공적인 배포 완료
·
AWS/ECS, ECR
이번에는 ECS의 배포 오류(환경 변수 주입 오류)를 해결하는 과정을 설명한다. 이전에는 url, username, password라는 환경변수를 Secrets Manager에서 읽어오지 못하는 문제가 발생했었는데 이번에는 특정 키를 직접 찾아서 참조하는 방식에 대해서 알아본 후에 적용해서 오류를 해결했다. 1. Secrets Manager의 secret에서 특정 키만 참조하는 방식 설명 1-1. secret의 키 참조방식 조금 조사를 해본 결과 Secrets Manager에 만든 보안 암호(secret)의 특정 키를 참조하는 방법은 다음과 같다. ARN 뒤에 콜론(:)을 추가하고 키 이름을 명시해야 한다. 이후 맨 뒤에::을 붙여준다. 예시: arn:aws:secretsmanager:region:acc..
AWS Secrets & ECS SpringBoot 설정 (3-1): ECS배포와 오류 분석
·
AWS/ECS, ECR
지난번에는 ECS의 태스크 정의를 생성했다. 이번에는 이 태스크를 사용해서 ECS의 서비스를 만들어 보도록 하자 태스크의 컨테이너에는 내가 주입해 준 환경변수가 들어갈 테니 springboot는 이 내용을 db연결할 때 잘 가져다 사용할 것이다. 1. ECS 클러스터 업데이트하기 1-1. ECS 클러스터 업데이트 이제 방금 생성한 태스크 정의를 적용시켜 보도록 하자 ECS 클러스터로 들어온 다음 우측의 "서비스 업데이트"를 클릭한다. 1-2. 패밀리(태스크 정의) 변경하기 아래와 같이 "패밀리" 구성을 클릭해서 이전 포스트에서 만든 "태스크 정의"를 선택해 준다. 맨 하단으로 가서 "업데이트" 버튼을 클릭한다. 2. SpringBoot에서 application.yaml 설정하고 ECS 배포하기 2-1. ..