Q69. AWS 고가용성 구현 - 다중 AZ와 Auto Scaling의 완벽한 조화

AWS 자격증을 준비하는 여러분, 안녕하세요. 오늘은 실제 기업 환경에서 자주 마주치는 고가용성 구현 시나리오를 통해 AWS의 핵심 서비스들을 어떻게 효과적으로 활용할 수 있는지 알아보겠습니다.

문제 상황

Q1:
회사는 Application Load Balancer 뒤의 Amazon EC2 인스턴스에서 비즈니스 크리티컬 웹 애플리케이션을 실행하고 있습니다. EC2 인스턴스는 Auto Scaling 그룹에 있습니다. 애플리케이션은 단일 가용 영역에 배포된 Amazon Aurora PostgreSQL 데이터베이스를 사용합니다. 회사는 다운타임과 데이터 손실을 최소화하면서 애플리케이션의 고가용성을 원합니다.
최소한의 운영 노력으로 이러한 요구 사항을 충족하는 솔루션은 무엇입니까?

<small>A company is running a business-critical web application on Amazon EC2 instances behind an Application Load Balancer. The EC2 instances are in an Auto Scaling group. The application uses an Amazon Aurora PostgreSQL database that is deployed in a single Availability Zone. The company wants high availability for the application while minimizing downtime and data loss.
Which solution will meet these requirements with the LEAST operational effort?</small>

선택지

A. EC2 인스턴스를 다른 AWS 리전에 배치합니다. Amazon Route 53 상태 확인을 사용하여 트래픽을 리디렉션합니다. Aurora PostgreSQL 교차 리전 복제를 사용합니다.
<small>Place EC2 instances in another AWS Region. Use Amazon Route 53 health checks to redirect traffic. Use Aurora PostgreSQL cross-Region replication.</small>

B. 여러 가용 영역을 사용하도록 Auto Scaling 그룹을 구성합니다. 데이터베이스를 다중 AZ로 구성합니다. 데이터베이스에 대한 Amazon RDS 프록시 인스턴스를 구성합니다.
<small>Configure the Auto Scaling group to use multiple Availability Zones. Configure the database to be Multi-AZ. Configure an Amazon RDS Proxy instance for the database.</small>

C. 하나의 가용 영역을 사용하도록 Auto Scaling 그룹을 구성합니다. 데이터베이스의 시간별 스냅샷을 생성합니다. 장애가 발생한 경우 스냅샷에서 데이터베이스를 복구합니다.
<small>Configure the Auto Scaling group to use one Availability Zone. Create hourly snapshots of the database. Recover the database from a snapshot if a failure occurs.</small>

D. 여러 AWS 리전을 사용하도록 Auto Scaling 그룹을 구성합니다. 애플리케이션의 데이터를 Amazon S3에 씁니다. S3 이벤트 알림을 사용하여 AWS Lambda 함수를 시작하여 데이터베이스에 데이터를 씁니다.
<small>Configure the Auto Scaling group to use multiple AWS Regions. Write the application's data to Amazon S3. Use S3 event notifications to start an AWS Lambda function to write the data to the database.</small>

정답 및 해설

정답은 B입니다.

<small>The correct answer is B.</small>

여러 가용 영역을 사용하도록 Auto Scaling 그룹을 구성하고, 데이터베이스를 다중 AZ로 설정하며, Amazon RDS 프록시를 사용하는 것이 가장 효과적인 고가용성 솔루션입니다. 이 방법은 다음과 같은 이점을 제공합니다:

  1. 다중 가용 영역 Auto Scaling: 단일 가용 영역 장애 시에도 애플리케이션이 계속 실행될 수 있습니다.
  2. 다중 AZ 데이터베이스: 데이터베이스 장애 시 자동 페일오버를 통해 데이터 손실을 최소화하고 가용성을 높입니다.
  3. Amazon RDS 프록시: 데이터베이스 연결을 효율적으로 관리하여 장애 조치 시간을 단축하고 애플리케이션의 확장성을 개선합니다.

이 솔루션은 최소한의 운영 노력으로 고가용성을 달성하면서 다운타임과 데이터 손실을 최소화할 수 있습니다.

<small>Configuring the Auto Scaling group to use multiple Availability Zones, setting up the database as Multi-AZ, and using Amazon RDS Proxy is the most effective high-availability solution. This approach offers the following benefits:

  1. Multi-AZ Auto Scaling: Allows the application to continue running even if a single Availability Zone fails.
  2. Multi-AZ Database: Minimizes data loss and increases availability through automatic failover in case of database failure.
  3. Amazon RDS Proxy: Efficiently manages database connections, reducing failover times and improving application scalability.

This solution achieves high availability with minimal operational effort while minimizing downtime and data loss.</small>

오답 설명

A. 다른 AWS 리전에 EC2 인스턴스를 배치하는 것은 과도한 복잡성을 초래하며, 단일 리전 내에서 다중 AZ 구성으로도 충분한 고가용성을 달성할 수 있습니다.
<small>A. Placing EC2 instances in another AWS Region introduces unnecessary complexity when multi-AZ configuration within a single region can provide sufficient high availability.</small>

C. 단일 가용 영역 사용은 고가용성 요구사항을 충족하지 못하며, 시간별 스냅샷은 상당한 데이터 손실 위험이 있습니다.
<small>C. Using a single Availability Zone does not meet high availability requirements, and hourly snapshots pose a significant risk of data loss.</small>

D. 여러 AWS 리전을 사용하는 것은 불필요하게 복잡하며, S3와 Lambda를 통한 데이터 쓰기는 추가적인 지연과 복잡성을 초래합니다.
<small>D. Using multiple AWS Regions is unnecessarily complex, and writing data through S3 and Lambda introduces additional latency and complexity.</small>

결론

이 문제는 AWS에서 고가용성 아키텍처를 설계할 때 고려해야 할 핵심 요소들을 잘 보여줍니다. 다중 가용 영역 사용, 자동 확장 구성, 다중 AZ 데이터베이스 설정, 그리고 RDS 프록시 활용은 최소한의 운영 노력으로 높은 수준의 가용성과 내구성을 제공합니다. 이러한 베스트 프랙티스를 적용함으로써, 기업은 중요한 애플리케이션의 다운타임을 최소화하고 데이터 손실 위험을 크게 줄일 수 있습니다.

<small>This question effectively illustrates the key elements to consider when designing high-availability architectures in AWS. Utilizing multiple Availability Zones, configuring auto-scaling, setting up Multi-AZ databases, and leveraging RDS Proxy provides a high level of availability and durability with minimal operational effort. By applying these best practices, businesses can minimize downtime for critical applications and significantly reduce the risk of data loss.</small>

원본 문제 링크

댓글

이 블로그의 인기 게시물

Anaconda-Python 환경 VSCode에서 사용하기

Windows Git 설치 및 GitHub 활용 방법