- 데이터를 프로세싱하는 데에 대략 1시간 정도가 걸리는 Lambda 함수를 생성했습니다. 코드를 머신에서 로컬로 실행했을 때에는 문제가 없었으나 Lambda 함수를 호출할 때는 3초가 지난 후 '시간초과' 오류가 발생하여 실패합니다. 어떻게 해야 할까요 ?
- A. Lambda의 시간 초과를 25분으로 구성
- B. Lambda의 메모리를 10GB으로 구성
C. 코드를 다른 곳(예: EC2 인스턴스)에서 실행
✅ Lambda의 최대 실행 시간은 15분입니다. 코드를 EC2 인스턴스처럼 다른 곳에서 실행할 수도 있고, Amazon ECS를 사용할 수도 있습니다.
- 다음 중 동적 DB_URL 변수를 Lambda 함수의 코드로 주입하기 위한 최적의 방법은 무엇일까요 ?
A. Lambda의 환경 변수 사용
- B. 코드 내에 넣고 zip 파일 생성하기
- C. 코드 자체에 넣기
✅ Lambda의 환경 변수를 사용하면 코드를 업데이트하지 않고 함수의 행위 특성을 조정할 수 있습니다.
- DynamoDB 표를 생성하기 전에는 DynamoDB 테이블이 실행될 EC2 인스턴스를 프로비저닝해야 합니다.
- A. 맞습니다.
B. 아닙니다.
✅ DynamoDB는 프로비저닝, 패치 혹은 관리할 서버가 없고 설치, 유지 및 운용해야 할 소프트웨어가 없는 서버리스 서비스입니다. DynamoDB는 용량 조정 및 성능 유지를 위한 테이블의 확장 및 축소를 자동으로 스케일링합니다. 이는 프로비저닝(RCU & WCU 지정) 및 온디맨드 (사용한 만큼의 비용 책정) 용량 모드 모두를 제공합니다
- DynamoDB 테이블을 10 RCU와 10 WCU로 프로비저닝했습니다. 한 달 후, 더 많은 읽기 트래픽을 처리하기 위해 RCU를 증가시키려 합니다. 어떻게 해야 할까요 ?
A. RCU는 증가, WCU는 동일하게 유지
- B. RCU와 WCU 모두를 증가시켜야 함
- C. RCU 증가 및 WCU 감소
✅ RCU와 WCU는 분리되어 있으므로, 각 값을 개별적으로 증가/감소시킬 수 있습니다.
- DynamoDB를 데이터베이스로 사용하는 전자 상거래 웹사이트가 있습니다. 곧 크리스마스 세일 기간에 들어갈 예정이며, 굉장히 인기가 높은 몇몇 항목들이 높은 조회수를 기록할 것으로 에상하고 있습니다. 안타깝게도 작년에는 높은 트래픽의 양으로 인해 ProvisionedThroughputExceededException 예외 처리 오류가 발생했습니다. 이 오류의 재발을 방지하려면 어떻게 해야 할까요 ?
- A. RCU를 아주 높은 값으로 설정
B. DAX 클러스터 생성하기
- C. 세일 기간 중 데이터베이스를 DynamoDB 밖으로 이전시키기
✅ DynamoDB Accelerator(DAX)는 완전 관리형에 고가용성을 갖춘 DynamoDB 용 인메모리 캐시이며 최대 10배까지 성능을 향상시켜 줍니다. 이는 가장 자주 사용되는 데이터를 캐시해 DynamoDB 테이블의 핫 키에서 과도한 양의 읽기를 오프로딩 해주어 ProvisionedThroughputExceededException
예외 처리 오류를 방지합니다.
- DynamoDB를 데이터 저장소로 사용하는 모바일 애플리케이션을 개발했습니다. 신규 사용자가 가입한 후 환영 이메일을 자동으로 보내려고 합니다. 이를 달성하는 가장 효율적인 방법은 무엇일까요 ?
- A. CloudWatct Event를 사용해 Lambda 함수를 매 분 실행하여 테이블에 등록된 새로운 사용자를 스캔하게 만들기
- B. SNS와 DynamoDB 통합을 활성화
C. DynamoDB와 Streams을 활성화하고 이메일을 보내기 위해 Lambda 함수를 호출하도록 구성
- 서버리스 API를 생성하기 위해서는 Amazon API Gateway를 ( ) 와 통합해야 합니다.
- A. EC2 인스턴스
- B. Elastic Loda Balancing
C. AWS Lambda
- 엣지 최적화 API 게이트웨이를 사용할 경우, API Gateway가 모든 AWS 리전의 CloudFront 엣지 로케이션에 존재하게 됩니다.
A. 아닙니다.
- B. 맞습니다.
✅ 엣지 최적화 API Gateway는 지리적으로 분산된 클라이언트에 가장 적합합니다. API 요청은 가장 가까운 CloudFront 엣지 로케이션으로 라우팅되며, 이는 지연 시간을 향상시킵니다. API Gateway는 여전히 하나의 AWS 리전에 존재합니다.
- 사용자들이 여러분의 API Gateway가 호스팅하는 API로 요청을 보내기 전에 Facebook을 이용해 인증을 하도록 만들려 합니다. 매끄러운 인증 통합을 위해서는 어떤 방법을 사용해야 할까요 ?
- A. Amazon Cognito Sync
- B. Lambda 권한 부여자가 있는 DynamoDB 사용자 테이블
C. Amazon Cognito 사용자 풀
✅ Amazon Cognito 사용자 풀은 Facebook과 통합되어 애플리케이션의 사용자들에게 인증된 로그인을 제공합니다.
- 프로덕션에서 실행하고 있는 애플리케이션은 DynamoDB를 데이터베이스로 활용하고 있으며 원활하고 지속적인 사용량을 경험하고 있습니다. 애플리케이션을 개발 모드에서도 실행해야 하는데, 이 모드에서는 예쌍 불가능한 요청 볼륨을 경험하게 될 겁니다. 이런 경우, 어떤 방법을 가장 비용 효율적인 솔루션으로 추천해야 할까요 ?
- A. 개발 및 프로덕션 모두에 오토 스케일링이 활성화되어 있는 프로비저닝된 용량 모드 사용하기
B. 프로덕션에는 오토 스케일링이 활성화된 프로비저닝된 용량모드를 사용하고 개발에는 온디맨드 용량 모드 사용하기
- C. 개발에는 오토 스케일링이 활성화된 프로비저닝된 용량 모드를 사용하고 프로덕션에는 온디맨드 용량 모드 사용하기
- D. 개발 및 프로덕션 모두에 온디맨드 용량 모드 사용하기
- CloudFront 배포를 통해 전역적으로 제공되는 애플리케이션이 있습니다. 인증 요청이 오리진까지 전달되게 하는 대신, CloudFront 엣지 로케이션에서 사용자를 인증하려 합니다. 이 요구 사항을 만족시키기 위해서는 어떤 방법을 사용해야 할까요 ?
A. Lambda@Edge
- B. API Gateway
- C. DynamoDB
- D. AWS 글로벌 액셀러레이터
✅ Lambda@Edge는 CloudFront의 기능으로 사용자에 가깝게 코드를 실행하도록 해주어 성능을 향상시키고 지연 시간을 줄여 줍니다.
- DynamoDB 테이블 내 항목의 최대 크기는 ( )입니다.
- A. 1MB
- B. 500KB
C. 400KB
- D. 400MB