인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

AWS Certified Solutions Architect - Associate 자격증 준비하기

ElastiCache

아키텍처 문의

작성

·

313

0

안녕하세요.

보통 RDS나 DB와 ELB로 연결하기 보다 active - standby로 구성하는 것을 봤습니다.

그런데 위와 같이 ALB는 퍼블릭에 두고 웹 서버를 로드 밸런싱 하고 DB는 NLB는 프라이빗에 두고 로드 밸런싱 하는 것이 구성에 맞지 않는지 궁금합니다.

감사합니다.

답변 2

0

삭제된 글입니다

코드바나나님의 프로필 이미지
코드바나나
지식공유자

안녕하세요.

1) 이미 고려하고 계실 것 같지만 HTTPS 연결을 위해 ALB에 ACM 인증서를 생성하여 연결 가능합니다.

 

2) 웹 서버 사용에 대한 것은 NGINX 나 APACHE 등 프로젝트 팀에서 결정하면 될 듯 합니다.

 

3) 예를 들어 Amazon Aurora 의 경우 애플리케이션은 Witer나 Reader엔드포인트 주소에 연결하기만 하면 엔드포인트 뒤에 있는 DB 인스턴스들간의 로드발란싱을 자동으로 수행합니다.

따라서 별로의 로드발란서를 사용할 필요가 없습니다.

아래는 Amazon Aurora 연결 관리에 대한 설명입니다.

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html

감사합니다.

0

코드바나나님의 프로필 이미지
코드바나나
지식공유자

안녕하세요.

DB의 경우 퍼블릭에서 접속하지 않고 EC2에서만 접속을 한다면 Private Subnet에 두는 것이 보안적으로 안전한 구성이 맞습니다.

로드발란서 뒤에 여러 DB 인스턴스 여러대를 두는 것은 설계 목적에 따라 고려가 필요합니다.

이유는 DB의 경우 동일한 데이터가 있어야 하기에 1곳의 DB에 쓰기를 해야 합니다. 따라서 DB 장애 발생에 대비해 Active-Standby구성을 하게 됩니다.

물론 질문주신것과 같이 또는 아래 그림처럼 여러 인스턴스를 DB로 사용할 경우 DB 간 데이터 일관성을 위해 동기화 또는 복제에 대한 설계를 고려해야 합니다. 동기화에 대한 시간 차이가 날 경우 각 DB가 일관성 있는 데이터를 가지지 않게 되는 문제가 발생할 수 있습니다.

아래는 DB 로드발란서에 대한 설명입니다.

https://severalnines.com/blog/how-does-database-load-balancer-work/

image

AWS RDS서비스는 아래와 같이 일관성 유지를 위해 쓰기가 가능한 Writer인스턴스를 하나로 두고 부하 분산을 위해 여러 읽기만 가능한 Reader 인스턴스를 여러개 두는 설계를 사용합니다.

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html

image

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기