문제
1. 웹 응용 프로그램은 퍼블릭 및 프라이빗 서브넷에서 실행됩니다. 애플리케이션 아키텍처는 Amazon EC2 인스턴스에서 실행되는 웹 계층 및 데이터베이스 계층으로 구성되며 두 계층 모두 단일 가용 영역에서 실행됩니다.
이 아키텍처에 고가용성을 제공하기 위해 취해야 할 기능은 무엇입니까? (2개 선택)
A)여러 가용 영역에 걸쳐있는 Amazon EC2 Auto Scaling 그룹 및 Application Load Balancer를 생성합니다.
B) 고가용성을 위해 동일한 AZ에 새로운 퍼블릭 및 프라이빗 서브넷을 생성합니다.
C) 기존 웹 애플리케이션 인스턴스를 Application Load Balancer 뒤에 Auto Scaling 그룹에 추가합니다.
D) 동일한 VPC에서 각각 새로운 가용 영역에 새로운 퍼블릭 및 프라이빗 서브넷을 생성합니다. 데이터베이스를 Amazon RDS 다중 AZ 배포로 마이그레이션합니다.
E) 새로운 AZ에 새로운 퍼블릭 및 프라이빗 서브넷을 만듭니다. 하나의 AZ에서 Amazon EC2를 사용하여 데이터베이스를 생성합니다.
2. EBS(Elastic Block Store) 볼륨이 있는 Amazon EC2 인스턴스에서 새 응용 프로그램이 시작됩니다. 당신은 가장 비용 효율적인 스토리지 옵션을 결정해야 합니다. 이 애플리케이션은 자주 사용하지 않으며, 하루 몇 시간 동안 최대 트래픽이 발생합니다. Disk I/O는 최대 3,000 IOPS의 피크로 가변적입니다.
어떤 솔루션을 추천해야 합니까?
A) EBS 프로비저닝된 IOPS SSD(io1)
B) EBS 범용 SSD(gp2)
C) 처리량에 최적화된 HDD (st1)
D) Cold HDD (sc1)
3. 회사에서 Application Load Balancer 뒤에서 Amazon EC2 Auto Scaling 그룹을 사용하여 분석 애플리케이션을 실행합니다. 매월 특정 날짜 및 시간에 월말 보고서를 실행하면 응용 프로그램이 허용할 수 없을 정도로 느려집니다. 확인 결과 Amazon CloudWatch 메트릭은 CPU 활용률이 100%에 도달했음을 보여줍니다.
애플리케이션에서 워크로드를 처리하고 다운타임을 방지하려면 권장해야 할 사항은 무엇입니까?
A) Application Load Balancer 앞에서 Amazon CloudFront 배포룰 구성합니다.
B) CPU 사용률을 기반으로 EC2 Auto Scaling 단순 조정 정책을 구성합니다.
C) EC2 인스턴스에서 일부 워크로드를 제거하도록 Amazon ElastiCache를 구성합니다.
D) 월별 일정에 따라 EC2 Auto Scaling 예약된 조정 정책을 구성합니다.
정답
1. A,D
Elastic Load Balancing는 실행 중인 모든 EC2 인스턴스에 들어오는 애플리케이션 트래픽을 자동으로 분산하는 데 사용됩니다. Elastic Load Balancing를 사용하여 단 하나의 인스턴스에도 부하가 걸리지 않도록 트래픽 라우팅을 최적화하여 들어오는 요청을 관리할 수 있습니다.
Auto Scaling 그룹에서 Elastic Load Balancing를 사용하려면 로드 밸런서를 설정한 다음 로드 밸런서를 Auto Scaling 그룹에 연결하여 그룹을 로드 밸런서에 등록합니다.
로드 밸런서는 Auto Scaling그룹으로 들어오는 모든 웹 트래픽에 대하여 단일 접점의 역할을 합니다. 인스턴스가 그룹에 추가되면 로드 밸런서에 등록해야 하며 그렇지 않은 경우 트래픽이 라우팅되지 않습니다. 그룹에서 인스턴스가 제거되면 로드 밸런서에서 등록을 취소해야 하며 그렇지 않으면 트래픽이 계속해서 라우팅됩니다.
Auto Scaling 그룹에서 Elastic Load Balancing를 사용하는 경우 EC2 인스턴스를 로드 밸런서에 등록할 필요가 없습니다. Auto Scaling 그룹에서 시작되는 인스턴스가 로드 밸런서에 자동으로 등록됩니다. 마찬가지로 Auto Scaling 그룹에 의해 종료된 인스턴스는 로드 밸런서에서 자동으로 등록 취소됩니다.
Auto Scaling 그룹에 로드 밸런서를 등록한 후 대상당 요청 수와 같은 Elastic Load Balancing 지표(또는 다른 지표)를 사용하여 인스턴스에 대한 요구가 변경됨에 따라 그룹의 인스턴스 수를 조정하도록 Auto Scaling 그룹을 구성할 수 있습니다.
또한 필요에 따라 Elastic Load Balancing 상태 확인을 활성화하여 Elastic Load Balancing에서 제공하는 상태 확인을 기반으로 Auto Scaling 그룹 내 인스턴스 상태를 확인할 수도 있습니다.
Elastic Load Balancing는 Classic Load Balancer, Application Load Balancer 및 Network Load Balancer라는 세 가지 유형의 로드 밸런서를 제공하며, 세 유형 모두 Auto Scaling 그룹에 사용할 수 있습니다. 그 중 Application Load Balancer는 애플리케이션 계층(HTTP/HTTPS)에서 라우팅 및 로드 밸런싱하며 경로 기반 라우팅을 지원합니다. Application Load Balancer는 가상 프라이빗 클라우드(VPC)의 EC2 인스턴스와 같은 하나 이상의 등록된 대상의 포트로 요청을 라우팅 할 수 있습니다.
위 시나리오에 웹 애플리케이션을 사용하므로 Application Load Balancer가 적합합니다.
Amazon RDS 다중 AZ 배포는 RDS 데이터베이스(DB) 인스턴스를 위해 향상된 가용성 및 내구성을 제공하므로, 프로덕션 데이터베이스 워크로드에 적합합니다. 다중 AZ DB 인스턴스를 프로비저닝하면 Amazon RDS는 자동으로 하나의 기본 DB 인스턴스를 생성하고 동시에 다른 가용 영역(AZ)의 예비 인스턴스에 데이터를 복제합니다. 각 AZ는 물리적으로 분리된 자체 독립 인프라에서 실행되며 높은 안정성을 제공하도록 설계되었습니다. 인프라 장애가 발생하더라도 Amazon RDS가 예비 인스턴스(또는 Amazon Aurora의 경우 읽기 전용 복제본)로 자동 장애 조치를 수행하여 장애 조치 완료 후 데이터베이스 작업을 바로 재개할 수 있습니다. 장애 조치 후에도 DB 인스턴스의 엔드포인트는 그대로 유지되므로 관리자가 직접 개입할 필요 없이 애플리케이션에서 데이터베이스 작업을 재개할 수 있습니다.
여러 Amazon RDS 엔진을 사용하면 확장성을 높이기 위해 읽기 전용 복제본을 추가하고 AZ 장애 발생 시 데이터베이스 가용성을 유지할 수 있습니다. Amazon RDS 읽기 전용 복제본은 다른 AZ에서 자체 예비 인스턴스와 함께 설정할 수 있습니다. Aurora의 경우 여러 가용 영역에 걸쳐 읽기 전용 복제본을 배치하도록 선택할 수 있습니다.
다중 AZ 배포를 실행할 경우 향상된 데이터베이스 가용성 이점을 활용할 수 있습니다. 가용 영역 장애 또는 DB 인스턴스 장애가 발생하는 경우, 자동 장애 조치가 완료되기까지 걸리는 시간, 즉 일반적으로 Amazon Aurora의 경우 1분 이내(MariaDB 커넥터/J를 사용하는 경우 최소 30초) 그리고 다른 데이터베이스 엔진의 경우 1~2분만큼만 가용성에 영향을 미치게 됩니다.
계획된 유지 관리 및 백업 작업에도 다중 AZ 배포의 가용성을 활용할 수 있습니다. OS 패치 적용 또는 DB 인스턴스 확장과 같은 시스템 업그레이드의 경우 이러한 작업은 자동 장애 조치 전에 예비 복제본에서 먼저 발생합니다. 따라서 자동 장애 조치를 완료하는 데 걸리는 시간만 가용성에 영향을 주게 됩니다.
2. B
EBS는 애플리케이션의 필요에 맞게 스토리지 성능과 비용을 조정할 수 있습니다. 볼륨 유형은 다음 두 가지 범주로 나뉩니다.
- SSD 지원 볼륨: 작은 I/O 크기의 읽기/쓰기 작업을 자주 처리하는 트랜잭션 워크로드에 최적화되어 있으며, 기준 성능 속성은 IOPS
1. EBS 범용 SSD(gp2)
다양한 워크로드에 사용할 수 있으며 가격 대비 성능이 우수한 범용 SSD 볼륨
- 대부분의 워크로드에 추천
- 시스템 부트 볼륨
- 가상 데스크톱
- 지연 시간이 짧은 대화형 앱
- 개발 및 테스트 환경
2. EBS 프로비저닝된 IOPS SSD(io1)
지연 시간이 짧거나 처리량이 많은 미션 크리티컬 워크로드에 적합한 고성능 SSD 볼륨
- 지속적인 IOPS 성능이나 16,000 IOPS 또는 250MiB/s 이상의 볼륨당 처리량을 필요로 하는 중요한 비즈니스 애플리케이션
- 라지 데이터베이스 워크로드. 예:
- MongoDB
- Cassandra
- Microsoft SQL Server
- MySQL
- PostgreSQL
- Oracle
- HDD 지원 볼륨: 대용량 스트리밍 워크로드에 최적화되어 있으며, IOPS보다는 처리량(MiB/s로 측정)이 더 정확한 성능 측정 기준
1. 처리량에 최적화된 HDD (st1)
자주 액세스하는 처리량 집약적 워크로드에 적합한 저비용 HDD 볼륨
- 저비용으로 일관되고 높은 처리량을 요구하는 스트리밍 워크로드
- 빅 데이터
- 데이터 웨어하우스
- 로그 처리
- 부트 볼륨이 될 수 없음
2. Cold HDD (sc1)
자주 액세스하지 않는 워크로드에 적합한 최저 비용 HDD 볼륨
- 자주 액세스하지 않는 대용량 데이터를 위한 처리량 중심의 스토리지
- 스토리지 비용이 최대한 낮아야 하는 시나리오
- 부트 볼륨이 될 수 없음
범용 SSD(gp2) 볼륨은 광범위한 작업에서 이상적으로 사용될 수 있는 비용 효과적인 스토리지를 제공합니다. 이러한 볼륨은 시간을 연장할 경우 3,000IOPS의 버스트 기능까지 지원되어 지연 시간이 한 자릿수 밀리초에 불과합니다. 최소 100 IOPS(33.33GiB 이하)와 최대 16,000 IOPS(5,334GiB 이상) 사이에서, 기준 성능은 볼륨 크기의 GiB당 3 IOPS로 일정하게 확장됩니다. AWS는 프로비저닝된 성능의 99%의 시간에 제공하기 위해 gp2 볼륨을 설계합니다. gp2 볼륨 크기는 1GiB~16TiB입니다. 볼륨에 기준 성능 I/O 수준 이상이 필요한 경우 크레딧 밸런스에서 I/O 크레딧을 사용하여 최대 3,000 IOPS까지 필요한 성능 수준을 버스트할 수 있습니다.
3. D
Amazon EC2 Auto Scaling를 통해 애플리케이션의 로드를 처리할 수 있는 정확한 수의 Amazon EC2 인스턴스를 보유하도록 보장할 수 있습니다. Auto Scaling 그룹이라는 EC2 인스턴스 모음을 생성합니다. 각 Auto Scaling 그룹의 최소 인스턴스 수를 지정할 수 있으며, Amazon EC2 Auto Scaling에서는 그룹의 크기가 이 값 아래로 내려가지 않습니다. 각 Auto Scaling 그룹의 최대 인스턴스 수를 지정할 수 있으며, Amazon EC2 Auto Scaling에서는 그룹의 크기가 이 값을 넘지 않습니다. 원하는 용량을 지정한 경우 그룹을 생성한 다음에는 언제든지 Amazon EC2 Auto Scaling에서 해당 그룹에서 이만큼의 인스턴스를 보유할 수 있습니다. 조정 정책을 지정했다면 Amazon EC2 Auto Scaling에서는 애플리케이션의 늘어나거나 줄어드는 수요에 따라 인스턴스를 시작하거나 종료할 수 있습니다.
예약된 조정을 사용하면 자체 조정 일정을 설정할 수 있습니다. 예를 들어, 매주 수요일에 웹 애플리케이션에 대한 트래픽이 증가하고 목요일까지 높은 상태로 유지되다가 금요일에 줄어들기 시작한다고 가정해 보겠습니다. 웹 애플리케이션의 예측 가능한 트래픽 패턴에 따라 조정 활동을 계획할 수 있습니다. 확장 작업이 시간 및 날짜 함수에 따라 자동으로 수행됩니다.
Auto Scaling 그룹이 일정을 기반으로 조정을 수행하도록 구성하려면 예약된 작업을 생성합니다. 예약 작업은 지정 시간에 Amazon EC2 Auto Scaling에 조정 작업을 수행하라고 지시합니다. 예약된 조정 작업을 생성하려면 조정 작업이 시행되어야 하는 시작 시간을 지정하고, 조정 작업을 위한 최소 및 최대 크기와 원하는 크기를 새로 지정합니다. 지정된 시간에 Amazon EC2 Auto Scaling은 조정 작업에서 정의한 대로 최소, 최대 크기와 원하는 크기에 대한 새 값으로 그룹을 업데이트합니다.
한 번만 조정하거나 반복되는 일정으로 조정하는 예약된 작업을 생성할 수 있습니다.
빌드업웍스에서는 ‘AWS 공인 솔루션스 아키텍트 — 어소시에이트 연습문제’를 개발했습니다.
더 많은 문제와 자세한 해설을 원하신다면 ‘AWS 공인 솔루션스 아키텍트 — 어소시에이트 연습문제’로 오셔서 내용을 확인하세요.
빌드업웍스와 함께 AWS 공인 솔루션스 아키텍트 — 어소시에이트에 도전하여 여러분의 잠재력과 경력을 향상해보세요!
© 2020, Buildup Works LLC. All rights reserved.