본문

AWS MSA Architecture

반응형

이번 글에서는 AWS MSA에 관련된 기능들과 이 기능들을 기반으로 MSA 웹서비스를 구축한 사례를 살펴본다.

 

 

  • AWS 기능 살펴보기
    • Amazon Elastic Kubernetes Service (EKS): K8s 클러스터를 관리하고 배포하기 위해 Amazon EKS 사용. 이를 통해 컨테이너화된 마이크로서비스 애플리케이션을 실행하고 관리할 수 있음.
    • Amazon ElastiCache (Redis): Redis를 사용하여 캐싱 및 세션 관리를 구현. Redis는 빠른 인메모리 데이터베이스로 사용자 세션 정보나 캐시 데이터를 저장하는 데 적합.
    • Amazon S3 (Simple Storage Service): 정적 자산(이미지, CSS, JavaScript 파일 등)을 저장하고 제공하기 위해 S3를 활용. 웹 페이지의 정적 콘텐츠를 저장하고 CDN(Content Delivery Network)와 연동하여 빠른 전송을 지원함.
    • Amazon Route 53: 도메인 이름 관리와 DNS 서비스로 Route 53을 사용. 웹 홈페이지의 도메인을 등록하고 관리.
    • Amazon CloudFront: CloudFront를 사용하여 콘텐츠 전송 네트워크를 구성. 정적 자산과 동적 콘텐츠의 빠른 전송을 위해 CloudFront를 활용.
    • AWS Identity and Access Management (IAM): IAM을 사용하여 사용자 및 역할을 관리하고 액세스 제어를 구성 보안을 강화하고 권한을 관리하는 데 사용.
    • Amazon Elastic Load Balancer (ELB): 마이크로서비스 간의 로드 밸런싱을 위해 Application Load Balancer(ALB) 또는 Network Load Balancer(NLB)를 사용. 트래픽을 분산하여 고가용성을 확보하고 서비스의 가용성을 높일 수 있음.

 

  • springboot, springcloud 와 AWS 접목하여 아키텍처 구상해보기
    • Spring Boot와 Spring Cloud로 구현된 마이크로서비스 애플리케이션을 Docker 컨테이너로 패키징하고 Amazon EKS 클러스터에서 실행
    • Redis를 사용하여 캐싱 및 세션 관리를 수행. Redis는 빠른 데이터 검색 및 저장을 위한 인메모리 데이터 스토어로 사용
    • 정적 자산은 Amazon S3에 저장되고, CloudFront를 통해 전 세계적으로 전달
      • 정적 콘텐츠의 빠른 로딩과 확장성을 확보할 수 있음
    • Route 53을 사용하여 도메인 이름을 관리하고, CloudFront와 연계하여 안정적인 웹서비스 제공할 수 있음
    • IAM을 사용하여 액세스 제어를 구성하고 보안을 강화
    • ELB(ALB 또는 NLB)를 통해 트래픽을 분산하고 고가용성 제공

 

  • 구축 사례
    • OpenText
      • 엔터프라이즈 정보 관리(EIM) 솔루션을 제공하는 기업 (콘탠츠 관리, 공급망 관리, 디지털 프로세스 자동화 등)

OpenText InfoArchive Architecture Using Amazon EKS and Amazon RDS Diagram

  • 기술 스택
    • Amazon Route 53: 도메인 이름 시스템(DNS) 서비스로, 사용자 요청을 AWS 또는 온프레미스에서 실행되는 인터넷 애플리케이션에 연결하는 데 사용됩니다. 이는 AWS 내에서 인프라를 효율적으로 관리하고, 글로벌 트래픽을 관리하는 데 역할을 합니다. 
    • Amazon Elastic Kubernetes Service (EKS): InfoArchive의 웹 애플리케이션, OpenText Directory Service(인증 및 권한 부여), 그리고 InfoArchive 서버를 호스팅하는 데 사용됩니다. Amazon EKS 클러스터는 애플리케이션의 높은 가용성을 보장하기 위해 두 개의 AWS 가용성 구역(AZ)에 걸쳐 개인 서브넷에 배포됩니다.
    • Amazon Relational Database Service (RDS): 이 서비스는 바이너리 콘텐츠의 메타데이터를 저장하며, 이를 검색 작업에 활용합니다. Amazon RDS는 탄력성, 보안, 확장성 및 장애 허용성을 제공합니다.
    • Amazon Simple Storage Service (S3): 구조화되고 비구조화된 이진 데이터를 저장하는 데 사용됩니다. InfoArchive는 Amazon S3의 지능적 계층화 및 객체 잠금과 같은 기능과도 깊은 통합을 제공합니다.
    • Amazon Simple Storage Service (Amazon S3) 및 Amazon S3 Glacier: Amazon S3는 구조화되지 않은 바이너리 데이터(예: 바이너리로 삽입된 콘텐츠, 구조화되고 보존된 데이터 백업, 결과 내보내기)의 저장에 사용됩니다. 추가적인 스토리지 옵션도 제공됩니다.
    • Amazon Elastic File System (Amazon EFS): Amazon EFS는 Amazon EKS 볼륨의 영구적인 스토리지로 사용되며, 로컬 최적화를 위한 임시 및 작업 스토리지 역할을 합니다.

 

롯데e커머스 MSA

반응형

공유

댓글