서버리스 솔루션 아키텍처

GonnabeAlright·2022년 6월 20일
0
post-thumbnail
  1. 한 스타트업 회사가 AWS 상에서 자신들의 애플리케이션을 실행하려 합니다. 이 기업에서는 여러분을 솔루션 아키텍트로 고용해, 완전한 서버리스 REST API의 설계 및 구현을 맡겼습니다. 어떤 기술 스택을 사용하는 것을 추천할 수 있을까요 ?
  • A. API Gateway + AWS Lambda
  • B. Application Load Balancer (ALB)
  • C. Elastic Container Service (ECS) + Elastic Block Store (EBS)
  • D. Amazon CloudFront + S3
  1. 다음 AWS 서비스 중 즉시 사용 가능한 캐싱 기능이 없는 것을 고르세요.
  • A. API Gateway
  • B. Lambda
  • C. DynamoDB

✅ Lambda는 즉시 사용 가능한 캐싱 기능을 가지고 있지 않습니다.

  1. 한 모바일 애플리케이션을 실행하고 있는데 등록된 각 사용자들이 S3 버킷에 있는 자신들의 폴더에서 /로 이미지를 업로드 다운로드 할 수 있게끔 하려 합니다. 또한, 사용자들이 소셜 미디어 계정(예: Facebook)을 사용해 가입하고 로그인할 수 있게 하려 합니다. 이 경우, 다음 중 어떤 AWS 서비스를 선택해야 할까요 ?
  • A. AWS Identity and Access Management (IAM)
  • B. AWS Single Sign On (SSO)
  • C. Amazon Cognito
  • D. Amazon CloudFront

✅ Amazon Cognito는 사용자들이 웹 및 모바일 앱에 빠르고 쉽게 가입, 로그인 및 액세스할 수 있게 해줍니다. Amazon Cognito는 수백만개의 사용자들을 스케일링하며, Apple, Facebook, Google, Amazon 및 SAML 2.0과 OpenID Connect를 통한 기업 자격 증명 제공자 등의 소셜 자격 증명 제공자를 사용해 로그인할 수 있도록 해줍니다.

  1. 사용자들에게 전역적으로 배포하고자 하는 대량의 정적 파일이 S3 버킷 내에 저장되어 있습니다. 이 경우, 다음 중 어떤 AWS 서비스를 선택해야 할까요 ?
  • A. S3 리전 간 복제
  • B. Amazon CloudFront
  • C. Amazon Route 53
  • D. API Gateway

✅ Amazon CloudFront는 낮은 지연 시간과 빠른 전송 속도로 전역의 고객들에게 데이터, 영상, 애플리케이션 및 API를 전송해 주는 고속 콘텐츠 전송 네트워크(CDN)입니다. Amazon CloudFront에 딱 맞는 사용 사례입니다.

  1. ap-northeast-1에 DynamoDB 테이블을 생성했으며, 이 테이블을 eu-west-1에서도 사용할 수 있도록 하기 위해 DynamoDB 글로벌 테이블을 생성하기로 했습니다. DynamoDB 글로벌 테이블을 생성하기 전에는 어떤 기능을 먼저 활성화해야 할까요 ?
  • A. DynamoDB 스트림
  • B. DynamoDB DAX
  • C. DynamoDB 버전 관리
  • D. DynamoDB 백업

✅ DynamoDB Accelarator (DAX)는 완전 관리형에 고가용성을 갖춘 DynamoDB용 인메모리 캐시이며, 초당 수백만개의 요청이 있어도 최대 10배(밀리초에서 마이크로초까지)의 성능 향상을 제공해 줍니다. DAX는 개발자들이 캐시 무효화, 데이터 수집 혹은 클러스터 관리를 할 필요없이 DynamoDB 테이블로 인메모리 가속을 추가하기 위한 모든 복잡한 작업을 수행할 수 있게 해줍니다. DynamoDB Streams는 DynamoDB가 변경 로그를 가져오고, 이를 사용해 다른 AWS 리전에 있는 복제 테이블이 서로의 데이터를 복제할 수 있는 기능을 활성화해 줍니다.

  1. DynamoDB Streams를 이용해 DynamoDB 테이블로 항목이 추가될 때마다 Lambda 함수가 각 아이템을 실행하도록 구성한 상황입니다. 이 함수는 추후 장기적인 처리 업무를 위해 메시지를 SQS 대기열로 삽입하게 되어 있습니다. Lambda 함수를 매번 호출해보면 DynamoDB Stream를 읽을 수는 있으나 SQS 대기열로 메시지를 삽입하지는 못하는 것으로 보입니다. 이 경우, 무엇이 문제일까요 ?
  • A. SQS 대기열로 메시지를 삽입할 때는 Lambda를 사용할 수 없으므로, EC2 인스턴스를 대신 사용해야 함
  • B. Lambda 실행 IAM 역할에 권한이 없음
  • C. Lambda 보안 그룹이 SQS에 대한 아웃바운드 액세스를 허용해야만 함
  • D. SQS 보안 그룹이 AWS Lambda를 허용하도록 수정되어야 함
  1. S3 버킷에 저장된 영상을 인코딩하고 인코딩된 영상을 다시 S3 버킷으로 저장할 목적으로만 사용될 마이크로 서비스 애플리케이션의 아키텍처를 생성하려 합니다. 이 마이크로 서비스 애플리케이션의 신뢰도를 높이고, 실패 시 재시도할 수 있는 기능을 부여하고자 합니다. 각 영상 처리에는 최대 25분이 걸릴 수 있습니다. 아키텍처에 사용되는 서비스는 비동기적이어야 하며 하루 동안 중지되었다가 그 다음 날 인코딩되지 않은 영상부터 다시 작업을 시작할 수 있는 기능을 포함해야 합니다. 이런 경우, 다음 중 어떤 AWS 서비스를 사용하는 게 권장될까요 ?
  • A. Amazon S3 + AWS Lambda
  • B. Amazon SNS + Amazon EC2
  • C. Amazon SQS + Amazon EC2
  • D. Amazon SQS + AWS Lambda

✅ AWS Lambda의 최대 실행 시간은 15분이므로 EC2를 사용해야 하고 Amazon SQS를 사용하면 메시지를 며칠 간 보관하고 향후에 처리할 수 있으며, EC2 인스턴스를 중단할 수도 있습니다.

  1. 콘텐츠를 구매한 고객들을 위해, 유료 소프트웨어 설치 파일을 전역적으로 배포하려 합니다. 다른 사용자들이 소프트웨어를 구매할 수도 있기 때문에 IP 제한을 포함한 보안 조치를 통해 다운로드 URL을 보호하고자 합니다. 이 경우, 어떤 솔루션을 추천할 수 있을까요 ?
  • A. CloudFront Presigned URL
  • B. S3 Presigned URL
  • C. EFS
  • D. Public S3 Bucket

✅ CloudFront Presigned URL은 IP 주소 제한을 포함한 보안 기능을 가지게 됩니다.

  1. 여러분은 전 세계에서 이미지를 다운로드하는 사진 공유 웹사이트를 실행하고 있습니다. 여러분은 15GB가 넘는 크기의 아름다운 산 이미지의 마스터 팩을 매달 웹사이트에 게시합니다. 이 콘텐츠는 Elastic File System (EFS)에 호스팅되어 있으며 Application Load Balancer와 한 세트의 EC2 인스턴스를 통해 배포되었습니다. 여러분은 매달 높은 양의 트래픽을 경험하고 있으며, 이로 인해 EC2 인스턴스의 작업량과 네트워크 비용이 증가하고 있는 상황입니다. 웹사이트를 리팩터링하지 않고 EC2 부하와 네트워크 비용을 줄이기 위해서는 어떤 방법이 권장될까요 ?
  • A. 마스터팩을 S3으로 호스팅
  • B. Application Load Balancer 캐싱 활성화
  • C. EC2 인스턴스 스케일 업
  • D. Amazon CloudFront 배포 생성

✅ Amazon CloudFront는 낮은 지연 시간과 빠른 전송 속도로 전역의 고객들에게 데이터, 영상, 애플리케이션 및 API를 전송해 주는 고속 콘텐츠 전송 네트워크(CDN)입니다. Amazon CloudFront는 Application Load Balancer 앞에서 사용될 수 있습니다.

  1. 이 AWS 서비스를 사용하면 실시간으로 초당 기가바이트의 데이터를 포착할 수 있고, 리플레이 기능을 통해 이러한 데이터를 여러 개의 소비 애플리케이션으로 전송할 수 있습니다.
  • A. Kinesis 데이터 스트림
  • B. Amazon S3
  • C. Amazon MQ

✅ Amazon Kinesis Data Streams (KDS)은 확장성과 내구성이 뛰어난 실시간 데이터 스트리밍 서비스입니다. 이는 웹사이트, 클릭스트림, 데이터베이스 이벤트 스트림, 금융 거래, 소셜 미디어 피드, IT 로그 및 위치 추적 이벤트 등의 수백 개 소스로부터 초당 GB에 달하는 데이터를 지속적으로 포착할 수 있습니다.

0개의 댓글