AWS 공인 솔루션스 아키텍트 — 어소시에이트 SAA-C02 연습문제 #6

빌드업웍스
10 min readAug 27, 2020

--

Photo by Nick Morrison on Unsplash

본 문제는 빌드업웍스에서 AWS 공인 솔루션스 아키텍트 — 어소시에이트 SAA-C02를 위해 개발한 연습문제입니다.

3개의 연습문제를 푸시고 정답해설을 확인해 보세요.

문제

1. Lambda 함수를 사용하는 응용 프로그램을 개발 중입니다. 데이터베이스 계층에 액세스하기 위한 자격 증명이 포함된 중요한 데이터를 저장해야 합니다. 이 데이터를 Lambda 내에 환경 변수로 저장할 계획입니다.
이 민감한 정보가 올바르게 보호되도록 하려면 어떻게 해야 합니까?

A) 중요한 정보를 암호문으로 저장하기 위해 AWS Key Management Service를 사용합니다.

B) 이를 수행할 수 없으며 Lambda 함수 자체와 관련된 환경 변수만 암호화 할 수 있습니다.

C) 모든 환경 변수가 기본적으로 AWS Lambda로 암호화되므로 변경할 필요가 없습니다.

D) 환경 변수를 암호화 된 DynamoDB 테이블에 저장하고 필요에 따라 검색하도록 Lambda를 구성합니다.

2. 애플리케이션은 여러 가용 영역의 Amazon EC2 인스턴스에서 실행됩니다. 인스턴스는 Application Load Balancer 뒤의 Amazon EC2 Auto Scaling 그룹에서 실행됩니다. EC2 인스턴스의 CPU 사용률이 40% 이상일 때 응용 프로그램이 가장 잘 수행됩니다.

Auto Scaling 그룹의 모든 인스턴스에서 원하는 성능을 유지하기 위해 어떻게 해야 합니까?

A) 간단한 조정 정책을 사용하여 Auto Scaling 그룹을 동적으로 조정합니다.

B) AWS Lambda 함수를 사용하여 원하는 Auto Scaling 그룹 용량을 업데이트합니다.

C) 예약 된 조정 작업을 사용하여 Auto Scaling 그룹을 확대 및 축소합니다.

D) 대상 추적 정책을 사용하여 Auto Scaling 그룹을 동적으로 확장합니다.

3. 회사는 전 세계 사용자가 업로드한 이미지를 허용하는 서버리스 애플리케이션을 설계하고 있습니다. 애플리케이션은 백엔드 서비스에 대한 API 호출을 수행하고 사용자의 세션 상태 데이터를 데이터베이스에 저장합니다.

대기 시간을 최소화하면서 비용 효율적인 솔루션을 제공하는 서비스 조합은 무엇입니까?

A) Amazon CloudFront, API Gateway, Amazon S3, AWS Lambda, Amazon RDS.

B) Amazon S3, API Gateway, AWS Lambda, Amazon RDS.

C) Amazon CloudFront, API Gateway, Amazon S3, AWS Lambda, DynamoDB

D) API Gateway, Amazon S3, AWS Lambda, DynamoDB.

정답

1. A

AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스입니다. AWS Lambda는 필요 시에만 코드를 실행하며, 하루에 몇 개의 요청에서 초당 수천 개의 요청까지 자동으로 확장이 가능합니다. 사용한 컴퓨팅 시간에 대해서만 요금을 지불하면 되고 코드가 실행되지 않을 때는 요금이 부과되지 않습니다. AWS Lambda에서는 사실상 모든 유형의 애플리케이션이나 백엔드 서비스에 대한 코드를 별도의 관리 없이 실행할 수 있습니다. AWS Lambda는 고가용성 컴퓨팅 인프라에서 코드를 실행하고 서버 및 운영 체제 유지 관리, 용량 프로비저닝 및 자동 조정, 코드 및 보안 패치 배포, 코드 모니터링 및 로깅 등 모든 컴퓨팅 리소스 관리를 수행합니다.

환경 변수를 사용하면 코드를 업데이트하지 않고도 보안 암호를 안전하게 저장하고 함수의 동작을 조정할 수 있습니다. 환경 변수는 함수의 버전별 구성에 저장된 문자열 쌍입니다. Lambda 런타임은 코드에서 환경 변수를 사용할 수 있게 하고 함수 및 호출 요청에 대한 정보가 포함된 추가 환경 변수를 설정합니다.

키와 값을 지정하여 게시되지 않은 버전의 함수에 대한 환경 변수를 설정합니다. 버전을 게시할 때 환경 변수는 다른 버전별 구성과 함께 해당 버전에 대해 잠금 상태가 됩니다.

Lambda는 저장 시 환경 변수를 암호화하여 안전하게 저장합니다. 다른 암호화 키를 사용하도록 Lambda를 구성하거나, 클라이언트 측의 환경 변수 값을 암호화하거나, AWS Secrets Manager를 사용해 AWS CloudFormation 템플릿에서 환경 변수를 설정할 수 있습니다.

Lambda는 계정에서 생성한 키(AWS 관리형 고객 마스터 키(CMK))로 환경 변수를 암호화합니다. 이 키의 사용은 무료입니다. 기본 키 대신에 사용할 Lambda에 자체 키를 제공하는 방법을 선택할 수도 있습니다.

키를 제공하면 키에 대한 액세스 권한이 있는 계정의 사용자만 함수에서 환경 변수를 보거나 관리할 수 있습니다. 또한 조직이 암호화에 사용되는 키를 관리하고 교체 시기를 제어해야 하는 내부 또는 외부 요구 사항을 가질 수 있습니다.

사용자 또는 함수의 실행 역할에 대한 AWS KMS 권한 없이도 기본 암호화 키를 사용할 수 있습니다. 고객 관리형 CMK를 사용하려면 키 사용 권한이 필요합니다. Lambda는 이러한 권한을 사용하여 키에 대한 권한 부여를 생성합니다. 이를 통해 Lambda가 암호화에 해당 키를 사용할 수 있습니다.

또한 환경 변수 값을 Lambda로 보내기 전에 클라이언트 측에서 암호화하고 함수 코드에서 암호화를 해제할 수 있습니다. 이렇게 하면 키를 사용할 권한이 있는 사용자의 경우에도 Lambda 콘솔 및 API 출력에서 암호 값이 가려집니다. 코드에서 암호화된 값을 환경에서 검색하고 AWS KMS API를 사용하여 암호화를 해제합니다.

AWS KMS(Key Management Service)를 사용하면 손쉽게 암호화 키를 생성 및 관리하고 다양한 AWS 서비스와 애플리케이션에서의 사용을 제어할 수 있습니다. AWS KMS는 FIPS 140–2에 따라 검증되었거나 검증 과정에 있는 하드웨어 보안 모듈을 사용하여 키를 보호하는 안전하고 복원력 있는 서비스입니다. 또한, AWS KMS는 AWS CloudTrail과도 통합되어 모든 키 사용에 관한 로그를 제공함으로써 각종 규제 및 규정 준수 요구 사항을 충족할 수 있게 지원합니다.

2. D

대상 추적 조정 정책에 따라 조정 지표를 선택하고 대상 값을 설정합니다. Amazon EC2 Auto Scaling은 조정 정책을 트리거하는 CloudWatch 경보를 생성 및 관리하면서 지표와 목표 값을 기준으로 조정 조절값을 계산합니다. 조정 정책은 필요에 따라 용량을 추가하거나 제거하여 측정치를 지정한 목표 값으로, 혹은 목표 값에 가깝게 유지합니다. 대상 추적 조정 정책은 지표를 목표 값에 가깝게 유지하는 것 외에도 로드 패턴 변화로 인한 지표의 변화에 따라 조정되기도 합니다.

예를 들어, 다음과 같은 경우에 대상 추적 조정을 사용할 수 있습니다.

  • 대상 추적 조정 정책을 구성하여 Auto Scaling 그룹의 평균 총 CPU 사용량을 40%로 유지하는 경우
  • 대상 추적 조정 정책을 구성하여 Application Load Balancer 대상 그룹의 대상 1개당 요청 수를 Auto Scaling 그룹에 필요한 1000개로 유지하는 경우

애플리케이션 요구 사항에 따라, 대상 추적을 사용할 때 이러한 인기 조정 지표 중 하나가 가장 적합하거나 이러한 지표 또는 다른 지표의 조합이 요구 사항을 더 잘 충족할 수도 있습니다.

3. C

Amazon CloudFront는 개발자 친화적 환경에서 짧은 지연 시간과 빠른 전송 속도로 데이터, 동영상, 애플리케이션 및 API를 전 세계 고객에게 안전하게 전송하는 고속 콘텐츠 전송 네트워크(CDN) 서비스입니다. CloudFront는 AWS와 통합되며, AWS 글로벌 인프라와 직접 연결된 물리적 위치뿐만 아니라 다른 AWS Services와도 통합됩니다. 다양한 서비스와 원활하게 연동되는 CloudFront는 AWS Shield와 연동되어 DDoS 완화를 수행하고, 애플리케이션 오리진으로서 Amazon S3, Elastic Load Balancing 또는 Amazon EC2를 사용하고, Lambda@Edge와 연동되어 사용자지정 코드를 고객의 사용자에서 가까운 위치에서 실행하고 맞춤화된 사용자 경험을 제공합니다. 마지막으로, Amazon S3, Amazon EC2 또는 Elastic Load Balancing과 같은 AWS 오리진을 사용하는 경우, 이러한 서비스와 CloudFront 간에 전송된 데이터에 대해서는 비용을 지불하지 않습니다.

Amazon API Gateway는 규모와 관계 없이 REST 및 WebSocket API를 생성, 게시, 유지, 모니터링 및 보호하기 위한 AWS 서비스입니다. API 개발자는 AWS 또는 다른 웹 서비스를 비롯해 AWS 클라우드에 저장된 데이터에 액세스하는 API를 생성할 수 있습니다. API Gateway API 개발자는 자체 클라이언트 애플리케이션에서 사용할 API를 생성할 수 있습니다. 또는 타사 앱 개발자가 API를 사용하도록 제공할 수도 있습니다.

Amazon Simple Storage Service(Amazon S3)는 업계 최고의 확장성과 데이터 가용성 및 보안과 성능을 제공하는 객체 스토리지 서비스입니다. 즉, 어떤 규모 어떤 산업의 고객이든 이 서비스를 사용하여 웹 사이트, 모바일 애플리케이션, 백업 및 복원, 아카이브, 엔터프라이즈 애플리케이션, IoT 디바이스, 빅 데이터 분석 등과 같은 다양한 사용 사례에서 원하는 만큼의 데이터를 저장하고 보호할 수 있습니다. Amazon S3는 사용하기 쉬운 관리 기능을 제공하므로 특정 비즈니스, 조직 및 규정 준수 요구 사항에 따라 데이터를 조직화하고 세부적인 액세스 제어를 구성할 수 있습니다. Amazon S3는 99.999999999%의 내구성을 제공하도록 설계되었으며, 전 세계 기업의 수백만 애플리케이션을 위한 데이터를 저장합니다.

AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스입니다. AWS Lambda는 필요 시에만 코드를 실행하며, 하루에 몇 개의 요청에서 초당 수천 개의 요청까지 자동으로 확장이 가능합니다. 사용한 컴퓨팅 시간에 대해서만 요금을 지불하면 되고 코드가 실행되지 않을 때는 요금이 부과되지 않습니다. AWS Lambda에서는 사실상 모든 유형의 애플리케이션이나 백엔드 서비스에 대한 코드를 별도의 관리 없이 실행할 수 있습니다. AWS Lambda는 고가용성 컴퓨팅 인프라에서 코드를 실행하고 서버 및 운영 체제 유지 관리, 용량 프로비저닝 및 자동 조정, 코드 및 보안 패치 배포, 코드 모니터링 및 로깅 등 모든 컴퓨팅 리소스 관리를 수행합니다.

Amazon DynamoDB는 종합 관리형 NoSQL 데이터베이스 서비스로, 원활한 확장성과 함께 빠르고 예측 가능한 성능을 제공합니다. DynamoDB를 사용하면 분산 데이터베이스를 운영하고 조정하는 데 따른 관리 부담을 줄일 수 있으므로 하드웨어 프로비저닝, 설정 및 구성, 복제, 소프트웨어 패치 또는 클러스터 조정에 대해 걱정할 필요가 없습니다. DynamoDB는 유휴 시 암호화도 제공하여 중요한 데이터를 보호할 때 발생하는 운영상의 부담 및 복잡성을 없앨 수 있습니다.

빌드업웍스에서는 ‘AWS 공인 솔루션스 아키텍트 — 어소시에이트 연습문제’를 개발했습니다.

더 많은 문제와 자세한 해설을 원하신다면 ‘AWS 공인 솔루션스 아키텍트 — 어소시에이트 연습문제’로 오셔서 내용을 확인하세요.

빌드업웍스와 함께 AWS 공인 솔루션스 아키텍트 — 어소시에이트에 도전하여 여러분의 잠재력과 경력을 향상해보세요!

https://www.udemy.com/course/aws-saa-c02/

© 2020, Buildup Works LLC. All rights reserved.

--

--

빌드업웍스
빌드업웍스

Written by 빌드업웍스

클라우드 교육, 구축, 운영, 관리, 컨설팅 및 교육 리소스 디지털 퍼블리싱 : AWS 파트너, 유데미 파트너| buw.co.kr | admin@buw.co.kr | 053–954–3711

No responses yet