본 문제는 빌드업웍스에서 AWS 공인 솔루션스 아키텍트 — 어소시에이트 SAA-C02를 위해 개발한 연습문제입니다.
3개의 연습문제를 풀어 보시고 정답과 해설을 확인해 보세요.
문제
1. 배포하는 새로운 응용 프로그램은 Docker 컨테이너를 사용하며 ECS 클러스터가 애플리케이션을 호스팅 할 수 있도록 설계하고 있습니다.
ECS 클러스터에 대한 올바른 설명은 무엇입니까? (2개 선택)
A) ECS 클러스터는 작업을 배치할 수 있는 컨테이너 인스턴스의 논리적 그룹입니다.
B) 클러스터는 AZ에 따라 다릅니다.
C) 클러스터는 Fargate 및 EC2 시작 유형을 사용하는 작업을 포함할 수 있습니다.
D) 각 컨테이너 인스턴스는 한 번에 여러 클러스터의 일부일 수 있습니다.
E) 클러스터는 단일 컨테이너 인스턴스 유형을 포함할 수 있습니다.
2. Auto Scaling 그룹은 기본 종료 정책으로 구성됩니다. 그룹은 여러 가용 영역에 걸쳐 있으며 각 AZ에는 동일한 수의 인스턴스가 실행 중입니다.
Scaling이 필요한 경우, 어떤 인스턴스를 종료할지 평가하기 위한 첫 번째 단계는 무엇입니까?
A) 그룹에서 최신 인스턴스를 선택합니다.
B) 다음 청구 시간에 가장 가까운 인스턴스를 선택합니다.
C) 인스턴스를 무작위로 선택합니다.
D) 가장 오래된 시작 구성을 사용하는 인스턴스를 선택합니다.
3. VPC에서 관리하는 애플리케이션은 3개의 AZ에 걸쳐 있는 자Auto Scaling 그룹을 사용하며 현재 4개의 EC2 인스턴스가 이 그룹에서 실행되고 있습니다.
EC2 인스턴스를 종료해야 하는 경우 자동 스케일링이 기본적으로 어떤 작업을 수행합니까? (2개 선택)
A) Auto Scaling 그룹 조정 시 Amazon SNS가 구성된 경우 SNS 알림을 보냅니다.
B) 현재 실행 중인 EC2 인스턴스가 2개인 AZ의 인스턴스를 종료합니다.
C) 휴지 기간 동안 기다렸다가 가장 오래 실행된 인스턴스를 종료합니다.
D) 네트워크 연결이 가장 적은 인스턴스를 종료합니다. 여러 인스턴스가 이 기준을 충족하면 임의로 선택됩니다.
E) 3개의 AZ 중 하나를 임의로 선택한 다음 해당 AZ에서 인스턴스를 종료합니다.
정답
1. A, C
작업이나 서비스를 실행하는 경우, 클러스터는 컨테이너 인스턴스의 그룹화이기도 합니다. 용량 제공자를 사용하는 경우 클러스터는 용량 제공자의 논리적 그룹이기도 합니다. Amazon ECS를 처음 사용하면 기본 클러스터가 생성되지만, 한 계정에서 여러 클러스터를 생성하여 리소스를 분리할 수 있습니다.
다음은 Amazon ECS 클러스터에 관한 일반 개념입니다.
- 클러스터는 리전별로 고유합니다.
- 클러스터에는 Fargate 또는 EC2 시작 유형을 사용하는 다양한 작업이 포함될 수 있습니다.
- 클러스터에는 Auto Scaling 그룹 용량 제공자와 Fargate 용량 제공자가 혼합되어 포함될 수 있지만, 용량 제공자 전략을 지정할 때는 둘 중 하나만 포함할 수 있습니다.
- EC2 시작 유형을 사용하는 작업의 경우 클러스터에는 여러 가지 다양한 컨테이너 인스턴스 유형이 포함될 수 있으나 각 컨테이너 인스턴스는 한 번에 한 클러스터에만 등록될 수 있습니다.
- 사용자 지정 IAM 정책을 생성하여 특정 클러스터에 대한 사용자 액세스를 허용하거나 제한할 수 있습니다.
2. D
각 Auto Scaling 그룹에서 네트워크 아키텍처로부터 인스턴스를 추가(확장)하거나 인스턴스를 제거(축소)하는 시점을 제어할 수 있습니다. 원하는 용량을 조정하여 수동으로 그룹 크기를 조정하거나 예약된 조정 또는 조정 정책을 사용하여 프로세스를 자동화할 수 있습니다.
이 항목에서는 기본 종료 정책과 사용자 지정 종료 정책을 구성하는 데 사용할 수 있는 옵션에 대해 설명합니다. 종료 정책을 사용하면 축소 이벤트가 발생할 때 먼저 종료할 인스턴스를 제어할 수 있습니다.
또한 이 주제에서는 인스턴스 축소 보호 기능을 사용하여 자동 축소 동안 특정 인스턴스가 종료되지 않도록 하는 방법을 설명합니다. Auto Scaling 그룹 인스턴스의 경우, 축소 이벤트가 발생할 때 Amazon EC2 Auto Scaling 기능을 사용하여 인스턴스를 보호합니다. 인스턴스가 실수로 종료되지 않도록 방지하려면, Amazon EC2 종료 방지를 사용합니다.
기본 종료 정책은 인스턴스를 고르게 분포시켜 가용 영역을 높이도록 설계되었습니다. 기본 정책은 다양한 시나리오를 다루기 위해 일반성과 유연성이 유지됩니다.
기본 종료 정책은 다음과 같이 동작합니다.
1. 인스턴스가 가장 많으며 축소로부터 보호되지 않는 인스턴스가 최소 하나 이상 있는 가용 영역을 확인합니다.
2. 종료할 인스턴스를 결정하고 종료 중인 온디맨드 또는 스팟 인스턴스의 할당 전략에 나머지 인스턴스를 맞춥니다. 이는 할당 전략을 지정하는 Auto Scaling 그룹에만 적용됩니다. 예를 들어 인스턴스가 시작된 후 기본 설정 인스턴스 유형의 우선 순위를 변경할 경우, 축소 이벤트가 발생했을 때 Amazon EC2 Auto Scaling이 온디맨드 인스턴스를 우선 순위가 낮은 인스턴스 유형에서 점진적으로 이동하려고 시도합니다.
3. 이 중에서 가장 오래된 시작 템플릿 또는 구성을 사용하는 인스턴스가 있는지 확인합니다.
3.1. [시작 템플릿을 사용하는 Auto Scaling 그룹의 경우] 시작 구성을 사용하는 인스턴스가 없는 한 가장 오래된 시작 템플릿을 사용하는 인스턴스가 있는지 확인합니다. Amazon EC2 Auto Scaling은 시작 템플릿을 사용하는 인스턴스 이전에 시작 구성을 사용하는 인스턴스를 종료합니다.
3.2. [시작 구성을 사용하는 Auto Scaling 그룹의 경우] 이 중에서 가장 오래된 시작 구성을 사용하는 인스턴스가 있는지 확인합니다.
4. 위의 기준에 따라 종료할 비보호 인스턴스가 여러 개 있는 경우, 다음 결제 시간에 가장 근접한 인스턴스가 무엇인지 확인합니다. 다음 번 결제 시간에 가장 근접한 비보호 인스턴스가 여러 개인 경우 이러한 인스턴스 중 하나를 임의로 종료합니다.
다음 결제 시간에 가장 근접한 인스턴스를 종료하면 시간당 청구되는 인스턴스의 사용을 극대화할 수 있습니다. 또는 해당 Auto Scaling 그룹에서 Amazon Linux 또는 Ubuntu를 사용하는 경우 EC2 사용량은 초 단위로 요금이 부과됩니다.
3. A, B
각 Auto Scaling 그룹에서 네트워크 아키텍처로부터 인스턴스를 추가(확장)하거나 인스턴스를 제거(축소)하는 시점을 제어할 수 있습니다. 원하는 용량을 조정하여 수동으로 그룹 크기를 조정하거나 예약된 조정 또는 조정 정책을 사용하여 프로세스를 자동화할 수 있습니다.
이 항목에서는 기본 종료 정책과 사용자 지정 종료 정책을 구성하는 데 사용할 수 있는 옵션에 대해 설명합니다. 종료 정책을 사용하면 축소 이벤트가 발생할 때 먼저 종료할 인스턴스를 제어할 수 있습니다.
또한 이 주제에서는 인스턴스 축소 보호 기능을 사용하여 자동 축소 동안 특정 인스턴스가 종료되지 않도록 하는 방법을 설명합니다. Auto Scaling 그룹 인스턴스의 경우, 축소 이벤트가 발생할 때 Amazon EC2 Auto Scaling 기능을 사용하여 인스턴스를 보호합니다. 인스턴스가 실수로 종료되지 않도록 방지하려면, Amazon EC2 종료 방지를 사용합니다.
기본 종료 정책은 인스턴스를 고르게 분포시켜 가용 영역을 높이도록 설계되었습니다. 기본 정책은 다양한 시나리오를 다루기 위해 일반성과 유연성이 유지됩니다.
기본 종료 정책은 다음과 같이 동작합니다.
1. 인스턴스가 가장 많으며 축소로부터 보호되지 않는 인스턴스가 최소 하나 이상 있는 가용 영역을 확인합니다.
2. 종료할 인스턴스를 결정하고 종료 중인 온디맨드 또는 스팟 인스턴스의 할당 전략에 나머지 인스턴스를 맞춥니다. 이는 할당 전략을 지정하는 Auto Scaling 그룹에만 적용됩니다. 예를 들어 인스턴스가 시작된 후 기본 설정 인스턴스 유형의 우선 순위를 변경할 경우, 축소 이벤트가 발생했을 때 Amazon EC2 Auto Scaling이 온디맨드 인스턴스를 우선 순위가 낮은 인스턴스 유형에서 점진적으로 이동하려고 시도합니다.
3. 이 중에서 가장 오래된 시작 템플릿 또는 구성을 사용하는 인스턴스가 있는지 확인합니다.
3.1. [시작 템플릿을 사용하는 Auto Scaling 그룹의 경우] 시작 구성을 사용하는 인스턴스가 없는 한 가장 오래된 시작 템플릿을 사용하는 인스턴스가 있는지 확인합니다. Amazon EC2 Auto Scaling은 시작 템플릿을 사용하는 인스턴스 이전에 시작 구성을 사용하는 인스턴스를 종료합니다.
3.2. [시작 구성을 사용하는 Auto Scaling 그룹의 경우] 이 중에서 가장 오래된 시작 구성을 사용하는 인스턴스가 있는지 확인합니다.
4. 위의 기준에 따라 종료할 비보호 인스턴스가 여러 개 있는 경우, 다음 결제 시간에 가장 근접한 인스턴스가 무엇인지 확인합니다. 다음 번 결제 시간에 가장 근접한 비보호 인스턴스가 여러 개인 경우 이러한 인스턴스 중 하나를 임의로 종료합니다.
다음 결제 시간에 가장 근접한 인스턴스를 종료하면 시간당 청구되는 인스턴스의 사용을 극대화할 수 있습니다. 또는 해당 Auto Scaling 그룹에서 Amazon Linux 또는 Ubuntu를 사용하는 경우 EC2 사용량은 초 단위로 요금이 부과됩니다.
Amazon EC2 Auto Scaling이 언제 Auto Scaling 그룹에서 EC2 인스턴스를 시작하거나 종료하는지를 알면 유용합니다. Amazon SNS는 구독 클라이언트 또는 엔드포인트로 알림을 배달하거나 전송하는 것을 조정하고 관리합니다. Auto Scaling 그룹이 조정될 때마다 SNS 알림을 보내도록 Amazon EC2 Auto Scaling을 구성할 수 있습니다.
Amazon SNS는 HTTP 또는 HTTPS POST, 이메일(SMTP, 일반 텍스트 또는 JSON 형식) 또는 Amazon SQS 대기열에 게시된 메시지로 알림을 배달할 수 있습니다.
빌드업웍스에서는 ‘AWS 공인 솔루션스 아키텍트 — 어소시에이트 연습문제’를 개발했습니다.
더 많은 문제와 자세한 해설을 원하신다면 ‘AWS 공인 솔루션스 아키텍트 — 어소시에이트 연습문제’로 오셔서 내용을 확인하세요.
빌드업웍스와 함께 AWS 공인 솔루션스 아키텍트 — 어소시에이트에 도전하여 여러분의 잠재력과 경력을 향상해보세요!
© 2020, Buildup Works LLC. All rights reserved.