🧡 AWS

AWS 아키텍처 설계 전략 (feat. Auto Scaling, ECS)

MNY 2024. 10. 22. 14:50
728x90
반응형
Keyword
  1. 안정적인 아키텍처
  2. 보안이 좋은 아키텍처
  3. 비용이 적은 아키텍처
  4. 속도가 빠른 아키텍처

 

 어떤 관점에서 설계? 

  • 안정적인 아키텍처 (❤️) : 서버 많이 띄워서 이중화
    • keyword : 안정적인 클라우드 아키텍처
  • 보안이 좋은 아키텍처 : 내가 원하는 것만 띄워져 있기
  • 비용이 적은 아키텍처 (현재) : 효율적으로 합치고 분리하기
  • 속도가 빠른 아키텍처 X : 어디서 속도를 빠르게 할 것인가? 네트워크 거리(CDN)

 

 어떤 우선 순위로 작업을 해야할까? 

  1. 수평 확장 관리
  2. 네트워크 트래픽 관리
  3. 데이터 백업
  4. 컴퓨터 내부 리소스 관리

수평 확장 관리 (Horizontal Scaling Management)

  • 이유: 여러분의 서비스는 다양한 기능이 결합된 복합적인 시스템이기 때문에 사용자 수가 급증할 수 있습니다. 특히, 채팅 및 소셜 기능은 실시간으로 많은 트래픽을 유발할 수 있으므로, 수평 확장을 통해 서버의 부하를 분산시키는 것이 중요합니다.
  • Auto Scaling → 백엔드, 프론트
  • ALB(EC2→Nginx)

네트워크 트래픽 관리 (Network Traffic Management)

  • 이유: 네트워크 트래픽 관리 또한 중요한 요소입니다. 특히, 결제 기능이 포함된 경우 보안과 안정성이 매우 중요하며, 채팅 및 소셜 기능으로 인해 발생하는 많은 트래픽을 효율적으로 관리할 수 있어야 합니다. 로드 밸런싱, CDN(Content Delivery Network) 등의 설정이 필요합니다.
  • ALB(EC2→Nginx)

데이터 백업 (Data Backup)

  • 이유: 데이터 손실은 치명적일 수 있으므로 주기적인 데이터 백업이 필수적입니다. 결제 정보, 사용자 정보 등의 중요한 데이터를 보호하기 위해 정기적인 백업과 복구 계획이 필요합니다. 데이터베이스에 저장된 정보뿐만 아니라 사용자 생성 콘텐츠도 포함됩니다.
  • multi AZ

컴퓨터 내부 리소스 관리 (Internal Resource Management)

  • 이유: 마지막으로 컴퓨터 내부 리소스 관리도 중요합니다. 이는 메모리, CPU 사용률 등을 모니터링하고 관리하는 것을 의미합니다. 애플리케이션 성능 최적화와 자원 낭비 방지를 위해 필요합니다. 하지만 다른 요소들에 비해 상대적으로 우선 순위가 낮습니다.
  • ECS

생각해보면 좋은 부분

→ vm vs container?

 

 앞으로의 흐름 

EC2 분리

어떻게 나눠야 할까?

  • nginx + certbot
  • 백엔드
  • 프론트
  • DB

ECS 적용

  • EC2가 잘 나눠지면 ecs 적용해보기
  • 결국엔 ecs를 적용해야하며 auto scaling 걸 것이 무엇인지 잘 생각해보기

현재 아키텍처

 

최종 목표 아키텍처

  • DB를 master & slave(또는 DB 관점에서 replica)로 나누는 것은 최종 목표에서 도달하지 못했음

 

 참고 자료 

  • 아키텍처 설계
 

줍깅 아키텍쳐 설계도

백엔드 2번 째 챌린지 서버 아키텍쳐 개선 과정입니다. 3가지 단계를 거치면서 문제를 보완하고 백엔드 자체 목표를 달성 할 수 있었습니다. 1번그림 : 처음에는 서버를 한 대만 두었고 nginx와 젠

velog.io

 

NGINX 무중단 배포

지금까지의 서비스는 새로운 Jar가 실행되기 전까진 기존 Jar를 종료시켜 놓기 때문에 서비스가 중단된다. 이를 해결하기 위해 우리는 엔진엑스를 이용해 '무중단 배포' 를 해볼 것이다 엔진엑스

dallae7.tistory.com

 

[AWS] VPC란 무엇인가?

쉽게 말해 컴퓨터를 놓기 위한 네트워크를 구성하는 서비스라 할 수 있다.(Subnet, IP주소 부여, 같은 모든 망 구성 총괄, 나만의 데이터 센터를 만듦)Amazon VPC를 사용하면 AWS 클라우드에서 논리적으

velog.io

 

 

 

728x90
반응형