유미의 기록들

[최종 프로젝트] AWS 아키텍처 구축 - 2 본문

대외활동 기록/내일배움캠프

[최종 프로젝트] AWS 아키텍처 구축 - 2

지유미 2024. 11. 17. 22:05
728x90
반응형

이어서 이번에는 보안그룹 생성, ELB 생성, RDS를 생성하려고 한다

5. 보안그룹 생성

보안그룹

인스턴스에 대한 인바운드 (외부 → 인스턴스) 와 아웃바운드 (인스턴스 → 외부) 트래픽을 제어하는 가상 방화벽 역할을 한다

 

 

6. ELB (Elastic Load Balancer) 생성

ELB

애플리케이션 트래픽을 여러 대상에 자동으로 분산 시켜 안정적인 AWS 서버 환경을 운용하는데 도움을 주는 서비스

 

EC2뿐만 아니라 컨테이너(ECS), AWS Lamda 등 다양한 서비스와 연계하여 부하를 분배할 수 있다

 

 

Load Balancing (부하 분산)

컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋 이상의 중앙처리 장치 혹은 저장 장치와 같은 컴퓨터 자원들에게 작업을 나누는 것

 

단일 서버가 처리할 수 있는 요청량에는 한계가 있다. 따라서 부하 분산을 통해 여러 서버에 분산을 시킴으로써 병목 현상을 방지하고, 특정 서버가 다운되더라도 부하 분산기가 요청을 다른 서버로 전달하여 서비스 중단을 방지할 수 있다.

 

ELB 내부 구성요소

ELB는 VPC에 탑재되며, 인터넷 게이트웨이로 들어온 트래픽을 VPC 내의 리소스(EC2 등)에 적절히 부하 분산한다. 

  • 리스너 (Listener) : 프로토콜과 포트 기반으로 외부의 요청을 검사하고 이를 적절한 타켓으로 전달하는 기능
  • 대상 그룹 (Target Group) : 리스너가 전달한 요청을 처리하기 위한 부하분산 대상들의 모임 즉, ELB가 분산을 할 때 어디로 분산할 것이냐를 모은 그룹들

ELB 장점

  • 고가용성 (High Availability): 여러 EC2 인스턴스에 트래픽을 분산시켜 병목현상이 일어나지 않으며, 장애가 발생한 EC2 인스턴스를 자동으로 감지하여 트래픽을 정상적인 인스턴스로만 전달한다
  • 확장성 (Scalability)  :  Auto Scaling과 연동하여 트래픽 증가 시 EC2 인스턴스를 추가하고, 감소 시 제거하여 확장성을 자동으로 관리한다 또한 애플리케이션의 트래픽 양에 따라 유연하게 대응한다.

 

리스너

 

외부에서 HTTP 8080포트로 접속하면, devloop-group의 대상그룹으로 전달해준다

 

대상그룹

대상 그룹에 등록된 EC2와 이 EC2가 전달받은 요청을 처리할 수 있는 지 체크하는 헬스 체크를 확인할 수 있다. 

 

7. RDS (Relational Database Service) 생성

RDS

관계형 데이터베이스를 간편하게 클라우드에서 설정, 운영, 확장이 가능하도록 지원하는 웹서비스

 

SpringBoot 서버를 배포하면 MySQL도 접근할 수 있게 같이 배포해야 한다. 하나의 EC2에 MySQL을 직접 설치해서 사용해도 되지만, 백엔드 서버 장애로 EC2 컴퓨터가 죽을 경우, MySQL도 같이 죽는 문제가 있다. 또한 RDS가 제공하는 부가적인 편리한 기능도 많기 때문에 AWS RDS를 사용하려고 한다.

 

728x90
반응형
Comments