Solution Architectures

서비스 설명: 클라이언트가 “몇시야?” 요청 ⇒ EC2가 시간 응답하는 어플리케이션 아키텍쳐 설계 (EC2한테는 탄력적 IP 할당 _ 재시작 이슈 때문)

문제 상황: 트래픽이 몰리기 시작함.

⇒ 수직적 확장 ⇒ T2 → M5로

But! 확장 시 다운타임 발생

⇒ 수평적 확장 ⇒ EC2 3개로 확장

But! EC2의 탄력적 IP도 3개가 되니 클라이언트는 3개의 IP주소를 알아야 함!

해결책1: Route53를 사용하자!

→ A레코드/TTL 1h/domain = whatisthetime.com 생성!

⇒ 탄력적 IP 없이도 유저들이 알아서 3개의 EC2로 트래픽 분할됨!

But! EC2 1개 없애니까 1시간동안 1/3 유저는 에러화면을 봄!

해결책2: ELB를 사용하자!

** 전제조건: 우리는 다 같은 AZ에서 EC2를 생성했다고 가정 (더 좋은 방법을 모르니깐)

→ ALB만들고, TG만들어서 수동으로 만든 EC2 3개를 연결했음! (health check 내제됨)

** Route53 변경 사항

→ A레코드를 사용 못함 (ALB의 ip주소가 계속 바뀌니깐) 대신 Alias 사용!

→ Alias 레코드/TTL 1h/domain = whatisthetime.com!