본 문제는 빌드업웍스에서 AWS 공인 솔루션스 아키텍트 — 어소시에이트 SAA-C02를 위해 개발한 연습문제입니다.
3개의 연습문제를 풀어 보시고 정답과 해설을 확인해 보세요.
문제
1. 관리하는 애플리케이션은 마이크로 서비스 아키텍처를 사용하여 여러 구성 요소를 실행합니다. ECS 클러스터의 여러 ECS 컨테이너 인스턴스가 연결이 끊긴 것으로 표시됩니다. ECS 인스턴스는 Amazon ECS에 최적화된 AMI에서 생성되었습니다.
문제를 해결하기 위해 어떤 단계를 수행할 수 있습니까? (2개 선택)
A) 컨테이너 에이전트가 컨테이너 인스턴스에서 실행 중인지 확인합니다.
B) 인스턴스에 올바른 IAM 그룹이 적용되었는지 확인합니다.
C) IAM 인스턴스 프로파일에 필요한 권한이 있는지 확인합니다.
D) 컨테이너 인스턴스에 컨테이너 에이전트가 설치되어 있는지 확인합니다.
E) 컨테이너 인스턴스가 Fargate 시작 유형을 사용하고 있는지 확인합니다.
2. VPC의 프라이빗 서브넷의 EC2 인스턴스에서 애플리케이션을 실행하고 있습니다. 애플리케이션을 Amazon API Gateway에 연결하려고 합니다. 보안상의 이유로 인터넷을 통과하는 트래픽이 없는지 확인하고 모든 트래픽이 프라이빗 IP 주소만 사용하도록 해야 합니다.
이것을 어떻게 달성할 수 있습니까?
A) 직접 연결 연결에서 공개 VIF를 생성합니다.
B) EC2 인스턴스가 있는 서브넷에 API 게이트웨이를 추가합니다.
C)인터페이스 VPC 엔드포인트를 사용하여 프라이빗 API 생성합니다.
D) NAT 게이트웨이를 생성합니다.
3. 회사의 개발팀은 AWS 서비스를 시작하려고 합니다. AWS Cloud에서 애플리케이션을 신속하게 배포하고 관리하는 데 어떤 AWS 서비스를 사용할 수 있는지 문의했습니다. 개발자는 단순히 애플리케이션을 업로드하고 AWS가 용량 프로비저닝, 로드 밸런싱, 자동 스케일링 및 애플리케이션 상태 모니터링의 배포 세부 정보를 처리하도록 할 수 있기를 원합니다.
어떤 AWS 서비스를 추천하시겠습니까?
A) EC2
B) Auto Scaling
C) OpsWorks
D) Elastic Beanstalk
정답
1. A, C
Amazon ECS 컨테이너 에이전트를 통해 컨테이너 인스턴스가 클러스터에 연결할 수 있습니다. Amazon ECS 컨테이너 에이전트는 Amazon ECS-optimized AMI에 포함되어 있으며, 다만 Amazon ECS 사양을 지원하는 Amazon EC2 인스턴스에도 설치할 수 있습니다. Amazon ECS 컨테이너 에이전트는 Amazon EC2 인스턴스에서만 지원됩니다.
Amazon ECS 컨테이너 에이전트는 한 시간에 여러 번 연결 및 재연결될 수 있습니다. 이러한 변경 이벤트는 정상적인 상황이며, 걱정하지 않아도 됩니다.
하지만 컨테이너 에이전트가 연결이 해제된 상태로 남아 있으면 컨테이너 인스턴스는 ECS 클러스터의 일부로 작동할 수 없습니다. agentConnected에서 false를 반환하면 에이전트가 연결 해제된 것입니다. 이 문제의 원인은 다음과 같을 수 있습니다.
- 네트워킹 문제로 인해 인스턴스와 Amazon ECS 간에 통신이 차단됨
- 컨테이너 에이전트에 Amazon ECS 엔드포인트와 통신하는 데 필요한 AWS Identity and Access Management(IAM) 권한이 없음
- 컨테이너 인스턴스 내 호스트 또는 도커 서비스에 문제가 있음
인스턴스 프로파일은 IAM 역할을 위한 컨테이너로서 인스턴스 시작 시 EC2 인스턴스에 역할 정보를 전달하는 데 사용됩니다.
2. C
인터페이스 엔드포인트는 프라이빗 IP 주소를 가진 탄력적 네트워크 인터페이스이며, 지원되는 서비스로 전달되는 트래픽에 대한 진입점 역할을 하는 서브넷의 IP 주소 범위에 있습니다. 인터페이스 엔드포인트는 프라이빗 IP 주소를 사용하여 비공개로 서비스에 액세스할 수 있도록 하는 AWS PrivateLink 기술로 구동됩니다. AWS PrivateLink는 VPC와 서비스 간의 모든 네트워크 트래픽을 Amazon 네트워크로 제한합니다. 인터넷 게이트웨이, NAT 디바이스 또는 가상 프라이빗 게이트웨이가 필요 없습니다.
3. D
Amazon Web Services(AWS)는 100개 이상의 서비스로 구성되어 있으며 각 서비스는 기능 영역을 나타냅니다. 다양한 서비스는 AWS 인프라 관리 방법의 유연성을 제공하는 반면에 어떤 서비스를 사용해야 하고 해당 서비스를 프로비저닝하는 방법을 파악하는 것이 까다로울 수 있습니다.
Elastic Beanstalk를 사용하면, 애플리케이션을 실행하는 인프라에 대한 염려 없이 AWS 클라우드에서 애플리케이션을 신속하게 배포 및 관리할 수 있습니다. 선택 또는 제어에 대한 제약 없이 Elastic Beanstalk의 관리 복잡성이 줄어듭니다. 애플리케이션을 업로드하기만 하면 Elastic Beanstalk에서 용량 프로비저닝, 로드 밸런싱, 조정, 애플리케이션 상태 모니터링에 대한 세부 정보를 자동으로 처리합니다.
Elastic Beanstalk는 Go, Java, .NET, Node.js, PHP, Python 및 Ruby에서 개발된 애플리케이션을 지원합니다. 애플리케이션을 배포할 때, Elastic Beanstalk가 선택된 지원 가능 플랫폼 버전을 구축하고 Amazon EC2 인스턴스 등의 AWS 리소스를 하나 이상 프로비저닝하여 애플리케이션을 실행합니다.
Elastic Beanstalk를 사용하려면 애플리케이션을 생성하고, 애플리케이션 소스 번들의 형태(예: Java .war 파일)로 애플리케이션 버전을 Elastic Beanstalk에 업로드하고, 애플리케이션에 대한 몇 가지 정보를 제공합니다. Elastic Beanstalk가 자동으로 환경을 실행하고 코드 실행에 필요한 AWS 리소스를 생성 및 구성합니다. 환경 실행 후에는 환경을 직접 관리하고 새로운 앱 버전을 배포할 수 있습니다. 다음 다이어그램은 Elastic Beanstalk의 워크플로를 보여 줍니다.
빌드업웍스에서는 ‘AWS 공인 솔루션스 아키텍트 — 어소시에이트 연습문제’를 개발했습니다.
더 많은 문제와 자세한 해설을 원하신다면 ‘AWS 공인 솔루션스 아키텍트 — 어소시에이트 연습문제’로 오셔서 내용을 확인하세요.
빌드업웍스와 함께 AWS 공인 솔루션스 아키텍트 — 어소시에이트에 도전하여 여러분의 잠재력과 경력을 향상해보세요!
© 2020, Buildup Works LLC. All rights reserved.