🧡 AWS
AWS 아키텍처 설계 전략 (feat. Auto Scaling, ECS)
MNY
2024. 10. 22. 14:50
728x90
반응형
Keyword
- 안정적인 아키텍처
- 보안이 좋은 아키텍처
- 비용이 적은 아키텍처
- 속도가 빠른 아키텍처
어떤 관점에서 설계?
- 안정적인 아키텍처 (❤️) : 서버 많이 띄워서 이중화
- keyword : 안정적인 클라우드 아키텍처
- 보안이 좋은 아키텍처 : 내가 원하는 것만 띄워져 있기
- 비용이 적은 아키텍처 (현재) : 효율적으로 합치고 분리하기
- 속도가 빠른 아키텍처 X : 어디서 속도를 빠르게 할 것인가? 네트워크 거리(CDN)
어떤 우선 순위로 작업을 해야할까?
- 수평 확장 관리
- 네트워크 트래픽 관리
- 데이터 백업
- 컴퓨터 내부 리소스 관리
수평 확장 관리 (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)로 나누는 것은 최종 목표에서 도달하지 못했음
참고 자료
- 아키텍처 설계
728x90
반응형