솔루션 아키텍처 (1)

은채의 성장통·2025년 2월 9일
0

AWS

목록 보기
44/79

EC2 인스턴스를 이용한 시간 제공 애플리케이션 구축 및 확장 전략

1. 기본 설정

  • 퍼블릭 EC2 인스턴스를 사용하여 사용자가 요청할 때 시간을 알려줍니다.
  • 데이터베이스는 필요하지 않으며, 다운타임이 작습니다.

2. 트래픽 증가에 따른 수직 확장

  • 트래픽이 증가함에 따라 t2.micro 인스턴스에서 m2.large 인스턴스로 수직 확장합니다.
  • 탄력적 IP를 설정하여 동일한 IP를 유지하며 업그레이드 과정에서 다운타임이 발생합니다.

3. 더 많은 트래픽에 따른 수평 확장

  • 트래픽이 더 증가하면 3개의 인스턴스로 수평 확장을 합니다.
  • 탄력적 IP를 제거하고 사용자들은 Route 53을 사용하여 URL을 설정합니다.
  • TTL(Time To Live)을 1시간으로 설정하여 탄력적 IP를 관리할 필요가 없습니다.

4. 로드 밸런서 추가

  • 인스턴스를 제거하면 해당 인스턴스를 사용하던 사용자들은 1시간 동안 애플리케이션이 다운되었다고 생각할 수 있습니다.
  • 이를 방지하기 위해 ELB(Elastic Load Balancer)를 추가하여 헬스 체크를 통해 잘 작동하는 인스턴스로 리소스를 분배합니다.

5. 오토스케일링

  • 수동으로 인스턴스를 제거하고 확장하는 것이 번거로우므로 오토스케일링을 사용합니다.
  • 가용 영역에 프라이빗 인스턴스와 오토스케일링 그룹을 설정하여 자동으로 확장과 제거를 수행합니다.

6. 지진 등의 재해 발생 시

  • 지진 등으로 가용 영역이 붕괴되면 애플리케이션이 다운될 수 있으므로 다중 AZ(Availability Zone)를 사용합니다.
  • ELB에서 다중 AZ를 추가하고, 오토스케일링 그룹이 여러 AZ에 퍼져있도록 설정하여 높은 가용성을 확보합니다.

7. 예약 인스턴스 활용

  • 2개의 AZ가 있을 때 용량을 미리 정해두면 1년 내내 인스턴스가 돌아갑니다.
  • 예약 인스턴스를 활용하여 미래에 상당한 비용을 절감할 수 있습니다.
profile
인생 별거 없어

0개의 댓글