본문 바로가기

Cloud/AWS(Amazon Web Service)

Sample Exam Questions(AWS Certified Developer – Associate)

반응형

AWS Certified Developer – Associate (DVA-C01)

Sample Exam Questions


 

1) A사는 레거시 애플리케이션을 Amazon EC2로 이전하고 있다. 애플리케이션은 소스 코드에 저장된 사용자 이름과 암호를 사용하여 MySQL 데이터베이스에 연결한다. 데이터베이스가 MySQL DB 인스턴스용 Amazon RDS로 마이그레이션된다. 마이그레이션의 일부로, 회사는 데이터베이스 자격 증명을 저장하고 자동으로 회전할 수 있는 안전한 방법을 구현하고자 한다.   

 

다음 요구 사항을 충족하는 접근 방식은?

 

A) 데이터베이스 자격 증명을 환경 변수에 Amazon Machine Image(AMI)로 저장하십시오. AMI를 교체하여 자격 증명을 회전하십시오.

B) 데이터베이스 자격 증명을 AWS Systems Manager 매개 변수 저장소에 저장하십시오. 인증 정보를 자동으로 회전하도록 매개 변수 저장소를 구성하십시오.

C) EC2 인스턴스의 환경 변수에 데이터베이스 자격 증명을 저장하십시오. EC2 인스턴스를 다시 시작하여 자격 증명을 회전하십시오.

D) AWS Secrets Manager에 데이터베이스 자격 증명을 저장하십시오. 인증 정보를 자동으로 회전하도록 보안 관리자 구성하십시오.

 

 

답 : D

AWS Secrets Manager는 데이터베이스, 애플리케이션, 서비스 및 기타 IT 리소스에 액세스하는 데 필요한 자격 증명을 보호하는 데 도움이 된다. 이 서비스를 통해 사용자는 라이프사이클 전체에 걸쳐 데이터베이스 인증 정보, API 키 및 기타 기밀을 쉽게 회전, 관리 및 검색할 수 있다. 사용자와 애플리케이션은 Secrets Manager API에 대한 호출을 통해 기밀을 검색하므로 중요한 정보를 일반 텍스트로 하드 코딩할 필요가 없다. Secrets Manager는 Amazon RDS, Amazon Redshift, Amazon DocumentDB 등을 위한 내장 통합으로 비밀 회전(secret rotation)을 제공한다.

 

 


 

 

2) 개발자는 사용자가 의견을 게시하고 실시간에 가까운 피드백을 받을 수 있는 웹 애플리케이션을 설계하고 있다.

 

다음 요구 사항을 충족하는 아키텍처는? (2개 선택)

 

A) AWS AppSync 스키마 및 해당 API 생성 데이터 저장소로 Amazon DynamoDB 테이블을 사용하십시오.

B) Amazon API Gateway에서 WebSocket API 생성 백엔드로 AWS 람다 함수를 사용하고 데이터 저장소로 Amazon DynamoDB 테이블을 사용하십시오.

C) Amazon RDS 데이터베이스를 지원하는 AWS Elastic Beanstalk 애플리케이션을 생성하십시오. 장수명 TCP/IP 소켓을 허용하도록 애플리케이션을 구성하십시오.

D) Amazon API Gateway에 GraphQL 엔드포인트를 생성하십시오. 데이터 저장소로 Amazon DynamoDB 테이블을 사용하십시오. E) Amazon CloudFront에서 WebSocket 활성화 AWS 람다 함수를 원본으로, Amazon Aurora DB 클러스터를 데이터 저장소로 사용하십시오.

 

 

답 : A, B

AWS AppSync는 사용자가 하나 이상의 데이터 소스의 데이터에 안전하게 액세스, 조작 및 결합할 수 있는 유연한 API를 만들 수 있도록 하여 애플리케이션 개발을 단순화한다. AWS AppSync는 GraphQL을 활용해 애플리케이션이 필요한 정확한 데이터를 쉽게 얻을 수 있도록 하는 관리형 서비스다. AWS AppSync는 사용자가 Amazon DynamoDB를 포함한 다양한 데이터 소스에서 실시간 업데이트가 필요한 애플리케이션을 포함한 확장 가능한 애플리케이션을 구축할 수 있도록 한다. Amazon API Gateway에서 사용자는 AWS 서비스(AWS Lambda 또는 DynamoDB 등) 또는 HTTP 엔드포인트용 상태 저장 프런트엔드로 WebSocket API를 생성할 수 있다. WebSocket API는 클라이언트 애플리케이션에서 수신하는 메시지의 내용을 기반으로 백엔드를 호출한다. 요청을 받고 응답하는 REST API와 달리 WebSocket API는 클라이언트 애플리케이션과 백엔드 간의 양방향 통신을 지원한다.

 


 

 

3) 개발자가 애플리케이션에 로그인 및 로그인 기능을 추가하고 있다. 애플리케이션은 사용자 로그인 이벤트를 기록하기 위해 사용자 지정 분석 솔루션으로 API를 호출하는 데 필요하다.

 

개발자가 이러한 요구사항을 충족하기 위해 취해야 할 조치 조합은 무엇인가? (2개 선택)

 

A) 가입 및 로그인 기능을 제공하려면 Amazon Cognito를 사용하십시오.

B) AWS IAM을 사용하여 로그인 및 로그인 기능을 제공한다.

C) 사후 인증 이벤트에 의해 API 호출이 트리거되도록 AWS Config 규칙을 구성하십시오.

D) 인증 후 이벤트에 의해 API 호출을 트리거하려면 Amazon API Gateway 메서드를 호출하십시오.

E) AWS Lambda 함수를 실행하여 사후 인증 이벤트에 의해 API 호출이 트리거되도록 한다.

 

답 : A, E

Amazon Cognito는 웹과 모바일 애플리케이션에 사용자 가입, 로그인, 액세스 제어를 빠르고 쉽게 추가한다. 사용자들은 또한 AWS 람다 함수를 만들어 사용자 정의 분석 솔루션으로 API 호출을 한 다음 Amazon Cognito 사후 인증 트리거로 그 함수를 트리거할 수 있다.


 

 

4) AWS 계정의 REST API에 Amazon API Gateway를 사용하고 있다. 보안 팀은 다른 AWS 계정의 IAM 사용자만 API에 액세스할 수 있도록 허용하려고 한다.

 

보안 팀은 이러한 요구사항을 충족하기 위해 어떤 조치를 취해야 하는가? (2개 선택)

 

A) IAM 권한 정책을 작성하여 각 IAM 사용자에게 첨부합니다. API 메서드 인증 유형을 AWS_IAM으로 설정합니다. 서명 버전 4를 사용하여 API 요청에 서명하십시오.

B) Amazon Cognito 사용자 풀을 만들고 각 IAM 사용자를 풀에 추가합니다. API에 대한 메서드 인증 유형을 COGNITO_USER_POOLS로 설정합니다. Amazon Cognito의 IAM 자격 증명을 사용하여 인증하고 ID 토큰을 요청 헤더에 추가합니다.

C) Amazon Cognito ID 풀을 만들고 각 IAM 사용자를 풀에 추가합니다. API에 대한 메서드 인증 유형을 COGNITO_USER_POOLS로 설정합니다. Amazon Cognito의 IAM 자격 증명을 사용하여 인증하고 요청 헤더에 액세스 토큰을 추가합니다.

D) 각 IAM 사용자에 대해서만 액세스할 수 있는 API에 대한 리소스 정책을 만듭니다.

E) 각 IAM 사용자에 대해서만 액세스할 수 있는 API에 대한 Amazon Cognito 인증자를 만듭니다. API에 대한 메서드 인증 유형을 COGNITO_USER_POOLS로 설정합니다.

 

답 : A, D

리소스 정책은 시그니처 버전 4(SigV4) 프로토콜을 사용하여 다른 AWS 계정의 사용자에게 하나의 AWS 계정에 대한 API 액세스를 허용하는 데 사용할 수 있다.

 


 

 

5) 개발자는 텍스트 파일을 .pdf 파일로 변환하는 애플리케이션을 만들고 있다. 텍스트 파일은 별도의 애플리케이션에 의해 소스 Amazon S3 버킷에 기록된다. 개발자는 Amazon S3에 도착하면 파일을 읽고 AWS 람다를 사용하여 .pdf 파일로 변환하기를 원한다. 개발자는 Amazon S3와 Amazon CloudWatch 로그에 대한 액세스를 허용하는 IAM 정책을 작성했다.

 

개발자는 람다 함수가 올바른 권한을 갖도록 하기 위해 어떤 조치를 취해야 하는가?

 

A) AWS IAM을 사용하여 람다 실행 역할을 생성한다. 역할에 IAM 정책을 첨부하십시오. 람다 실행 역할을 람다 함수에 할당하십시오. B) AWS IAM을 사용하여 람다 실행 사용자를 생성한다. IAM 정책을 사용자에게 연결하십시오. 람다 실행 사용자를 람다 함수에 할당하십시오.

C) AWS IAM을 사용하여 람다 실행 역할을 생성한다. 역할에 IAM 정책을 첨부하십시오. IAM 역할을 람다 함수에 환경 변수로 저장하십시오.

D) AWS IAM을 사용하여 람다 실행 사용자를 생성한다. IAM 정책을 사용자에게 연결하십시오. IAM 사용자 자격 증명을 람다 함수에 환경 변수로 저장하십시오.

 

답 : A

AWS 람다 함수의 실행 역할은 AWS 서비스와 리소스에 액세스할 수 있는 권한을 부여한다. 사용자는 함수가 생성될 때 이 역할을 제공하고, 람다는 함수가 호출될 때 그 역할을 맡는다.

 

 


 

 

6) 한 회사가 여러 지리적 위치에 AWS 워크로드를 가지고 있다. 개발자가 Amazon Aurora 데이터베이스를 미국 서부-1 지역에 만들었다. 데이터베이스는 고객 관리 AWS KMS 키를 사용하여 암호화된다. 이제 개발자는 us-east-1 지역에 동일한 암호화된 데이터베이스를 만들기를 원한다.

 

개발자는 이 작업을 수행하기 위해 어떤 접근 방식을 취해야 하는가?

 

A) US-West-1 지역에 데이터베이스의 스냅샷을 작성합니다. 스냅샷을 US-East-1 영역으로 복사하고 US-East-1 영역에서 KMS 키를 지정합니다. 복사된 스냅샷에서 데이터베이스를 복원합니다.

B) US-West-1 지역에 데이터베이스의 암호화되지 않은 스냅샷을 작성합니다. 스냅샷을 미국 동부1 지역으로 복사합니다. 복사된 스냅샷에서 데이터베이스를 복원하고 us-east-1 지역의 KMS 키를 사용하여 암호화를 활성화합니다.

C) 데이터베이스에서 암호화를 비활성화합니다. US-West-1 지역에 데이터베이스의 스냅샷을 만듭니다. 스냅샷을 US-East-1 영역으로 복사합니다. 복사된 스냅샷에서 데이터베이스를 복원합니다.

D) us-east-1 지역에서는 us-west-1 지역에서 데이터베이스의 최신 자동화 백업을 복원하는 것을 선택합니다. us-east-1 영역에서 KMS 키를 사용하여 암호화를 활성화합니다.

 

답 : A

AWS 람다 함수의 실행 역할은 AWS 서비스와 리소스에 액세스할 수 있는 권한을 부여한다. 사용자는 함수가 만들어질 때 이 역할을 제공하고, 람다는 함수가 호출될 때 역할을 맡는다.

 

 


 

 

7) 개발자가 기존 기록보관 애플리케이션에 멤캐쉬용 ElastiCache for Memcached를 추가해 데이터베이스 부하를 줄이고 성능을 높이고 있다. 개발자는 공통 레코드 처리 패턴의 분석을 기반으로 lazy loading을 사용하기로 결정했습니다.

 

어떤 의사코드 예가 lazy loading을 올바르게 구현하는가?

 

A)      record_value = db.query("UPDATE Records SET Details = {1} WHERE ID == {0}", record_key, record_value)

cache.set (record_key, record_value)

B)      record_value = cache.get(record_key) if (record_value == NULL)

record_value = db.query("SELECT Details FROM Records WHERE ID == {0}", record_key) cache.set (record_key, record_value)

C)     record_value = cache.get (record_key)

db.query("UPDATE Records SET Details = {1} WHERE ID == {0}", record_key, record_value)

D)     record_value = db.query("SELECT Details FROM Records WHERE ID == {0}", record_key) if (record_value != NULL)

cache.set (record_key, record_value)

 

답 : B

게으른 로딩은 레코드의 로딩이 필요할 때까지 지연되는 개념이다. 게으른 로딩은 먼저 캐시를 확인한다. 레코드가 없는 경우, 게으른 로딩은 데이터베이스에서 레코드를 검색한 다음 캐시에 레코드를 저장한다.

 

 


 

 

8) 개발자는 Amazon EC2 인스턴스에서 실행되는 애플리케이션의 성능을 추적하려고 한다. 개발자는 평균 및 최대 요청 지연 시간과 같은 비행대 전체의 통계를 보고 추적하려고 한다. 평균 응답 시간이 임계값을 초과할 경우 개발자에게 즉시 알리십시오.

 

다음 요구 사항을 충족하는 솔루션은?

 

A) 각 인스턴스에 크론 작업을 구성하여 응답 시간을 측정하고 매 분마다 Amazon S3 버킷에 저장된 로그 파일을 업데이트하십시오. Amazon S3 이벤트 알림을 사용하여 로그 파일을 읽고 Amazon Elasticsearch Service (Amazon ES) 클러스터에 새로운 항목을 쓰는 AWS 람다 함수를 트리거한다. 결과를 키바나 대시보드로 시각화합니다. 응답 시간이 임계값을 초과할 때 Amazon ES가 Amazon SNS 항목에 경고를 보내도록 구성합니다.

B) 응답 시간을 시스템 로그에 기록하도록 애플리케이션을 구성합니다. Amazon Inspector 에이전트를 설치 및 구성하여 로그를 계속 읽고 응답 시간을 Amazon EventBridge로 보냅니다. 이벤트브릿지 콘솔에서 메트릭 그래프를 봅니다. 응답 시간 메트릭의 평균이 임계값을 초과할 때 Amazon SNS 알림을 보내도록 이벤트브릿지 사용자 지정 규칙을 구성합니다.

C) 응답시간을 로그파일에 기록하도록 애플리케이션을 구성한다. 애플리케이션 로그를 CloudWatch 로그로 스트리밍할 인스턴스에 Amazon CloudWatch 에이전트를 설치하고 구성하십시오. 로그에서 응답 시간의 메트릭 필터를 생성하십시오. CloudWatch 콘솔에서 메트릭 그래프를 확인하십시오. 응답 시간 메트릭의 평균이 임계값을 초과할 때 Amazon SNS 알림을 보내려면 CloudWatch 경보를 생성하십시오. D) AWS Systems Manager 에이전트를 인스턴스에 설치 및 구성하여 응답 시간을 모니터링하고 Amazon CloudWatch에 사용자 지정 메트릭으로 전송하십시오. Amazon QuickSight에서 메트릭 그래프를 보십시오. 응답 시간 메트릭의 평균이 임계값을 초과할 때 Amazon SNS 알림을 보내려면 CloudWatch 경보를 생성하십시오.

 

 

답 : C

로그 및 메트릭을 CloudWatch로 스트리밍하도록 Amazon CloudWatch 에이전트를 구성할 수 있음 메트릭 필터는 CloudWatch 로그에 저장된 로그에서 생성할 수 있다.

 


 

9) 개발자가 로컬에서 애플리케이션을 테스트하고 있으며 AWS Lambda에 배포했다. 패키지 크기 제한을 유지하기 위해 종속성은 배포 파일에 포함되지 않았다. 애플리케이션을 원격으로 테스트할 때 종속성이 없어 기능이 실행되지 않는다.

 

어떤 접근법이 이 문제를 해결할 것인가?

 

A) Lambda 콘솔 편집기를 사용하여 코드를 업데이트하고 누락된 종속성을 포함하십시오.

B) 종속성이 누락된 추가 .zip 파일을 생성하고 원본 람다 배포 패키지에 파일을 포함하십시오.

C) 람다함수의 환경변수에서 누락된 종속성에 대한 참조를 추가한다.

D) 누락된 종속성을 포함하는 Lambda 함수에 레이어를 부착한다.

 

답 : D

사용자는 AWS 람다 함수를 구성하여 레이어 형태로 추가 코드와 콘텐츠를 끌어들일 수 있다. 계층은 라이브러리, 사용자 지정 런타임 또는 기타 종속성을 포함하는 .zip 아카이브입니다. 계층을 사용하면 사용자는 배포 패키지에 라이브러리를 포함하지 않고도 함수의 라이브러리를 사용할 수 있다.

 


 

10) 개발자가 Amazon API Gateway를 사용하는 웹 애플리케이션을 만들고 있다. 개발자는 개발 및 프로덕션(개발 및 프로드) 워크로드에 대해 서로 다른 환경을 유지 관리하고자 한다. API는 개발용과 프로드용 두 개의 별칭을 가진 AWS 람다 함수에 의해 지원될 것이다.

 

최소 구성으로 이를 달성하려면 어떻게 해야 하는가?

 

A) 각 환경에 대한 REST API를 생성하고, 해당 API를 람다 함수의 해당 dev 및 prod 별칭과 통합한다. 그런 다음 각 단계에 두 API를 배포하고 스테이지 URL을 사용하여 액세스하십시오.

B) 하나의 REST API를 생성하여 별칭 대신 스테이지 변수를 사용하여 람다 함수와 통합한다. 그런 다음 API를 dev와 prod의 두 단계로 배포하고 각 단계에서 서로 다른 별칭을 값으로 하여 단계 변수를 생성한다. 다른 단계 URL을 사용하여 API에 액세스하십시오.

C) REST API 1개를 생성하여 람다 함수의 dev 별칭과 통합하여 dev 환경에 배포한다. 카나리가 람다 프로드 별칭과 통합될 prod에 대한 카나리 릴리스 배포를 구성하십시오.

D) 하나의 REST API를 생성하여 람다 함수의 prod 별칭과 통합하여 prod 환경에 배포한다. 카나리가 람다 데브 별칭과 통합될 데브에 대한 카나리 릴리스 배포를 구성하십시오.

 

 

답 : B

Amazon API Gateway에 구축 단계를 두고 알파, 베타, 프로덕션 등 API별로 여러 릴리스 단계를 관리할 수 있다. 구성할 수 있는 단계 변수를 사용하여 API 배포 단계는 다른 백엔드 엔드포인트와 상호 작용할 수 있다. 사용자는 API 게이트웨이 단계 변수를 사용하여 여러 버전과 별칭이 있는 단일 AWS 람다 함수를 참조할 수 있다.

 

출처 : https://d1.awsstatic.com/training-and-certification/docs-dev-associate/AWS_Certified_Developer-Associate_Sample_Questions_v2.0_FINAL.pdf

 

반응형