AWS 자격증이 실무에서 쓰이나요? : AWS SA-Professional (SAP) Certification 4
Written by Minhyeock Cha
간만에 작성하는 SAP 문제풀이 입니다. 슬슬 자격증 갱신날도 다가오기 때문에 공부 겸 제가 여지껏 취득한 자격증의 문제 풀이 팁을 조금 설명 드릴까 하여 복귀했습니다.
완전 자격증 문제 풀이에 포커스를 잡은 내용을 담을 거라 해당 블로그 제목처럼 “실제로 쓰이나?” 와 관련이 없을 지도 모르지만 꿀팁은 더욱 많이 넣어 작성해보겠습니다.
문제 1
귀사는 전송 중 및 저장 중에 암호화해야 하는 수천 개의 100GB 파일에 수백만 건의 민감한 거래를 저장하고 있습니다. 분석가는 최대 5TB의 공간을 소모할 수 있는 파일 하위 집합에 동시에 의존하여 비즈니스 의사 결정을 조종하는 데 사용할 수 있는 시뮬레이션을 생성합니다.
장기 저장 및 전송 중인 데이터 하위 집합을 비용 효율적으로 수용할 수 있는 AWS 솔루션을 설계해야 합니다.
어떤 접근 방식이 이러한 목표를 충족할 수 있습니까?
Ⓐ 서버 측 암호화를 갖춘 Amazon Simple Storage Service(S3)를 사용하고 Amazon EC2의 임시 드라이브에 있는 하위 집합에 대한 시뮬레이션을 실행합니다.
Ⓑ 서버 측 암호화를 갖춘 Amazon S3를 사용하고 Amazon EC2의 메모리 내 하위 집합에 대한 시뮬레이션을 실행합니다.
Ⓒ Amazon EMR에서 HDFS를 사용하고 Amazon EC2의 임시 드라이브에 있는 하위 집합에 대한 시뮬레이션을 실행합니다.
Ⓓ Amazon Elastic MapReduce(EMR)에서 HDFS를 사용하고 Amazon Elastic Compute Cloud(EC2)의 메모리 내 하위 집합에 대한 시뮬레이션을 실행합니다.
Ⓔ 암호화된 Amazon Elastic Block Store(EBS) 볼륨에 전체 데이터 세트를 저장하고 EC2 워크스테이션에 복제할 수 있는 스냅샷을 정기적으로 캡처합니다.
풀이
간만에 푸는 문제다 보니 쉬우면서도 간결한걸로 가져와봤습니다.
이번 문제는 단순한 AWS의 지식과 스토리지 개념(예시로 많이 담을 수 있지만 느리다, 적게 담지만 빠르다)만 갖고 있다면 어느정도 쉽게 풀 수 있는 문제입니다.
문제를 다시 보면 핵심 포인트는
하루 100GB의 거래저장
최대 5TB의 저장 공간
장기 저장
비용 효율적
총 4가지 정도로 뽑아 볼 수 있었습니다.
아까 위에서 언급한 스토리지 개념을 각 보기에 대입해 보자면 S3, EMR에서의 HDFS, EBS로 총 3가지의 스토리지에서 S3가 압도적으로 싼 가격임은 AWS 종사자라면 아는 부분이기 때문에 보기의 S3외에는 전부 소거처리합니다.
추가로 장기 저장 = 비용 효율과도 연관 되어 있기 때문에 S3는 무조건적으로 정답이라 볼 수 있죠.
💡 HDFS는 사용됨에 따라 혹은 클러스터 비용도 포함되기 때문에 EBS과의 비용 차를 구분하기는 어렵다.
남은건 A, B인데 여기서 EC2 메모리를 사용해 시뮬레이션을 실행한다는건…
서버 비용을 낼 자신이 있다면 B를 비용 최적화를 받으며 운영하고 싶다면 A를 추천하는 바입니다..
정답: A
문제 2
개발(Dev) 및 테스트 환경을 AWS로 마이그레이션하려고 합니다. 각 환경을 호스팅하기 위해 별도의 AWS 계정을 사용하기로 결정했습니다.
통합 결제를 사용하여 각 계정 청구서를 마스터 AWS 계정에 연결할 계획입니다. 예산을 초과하지 않도록 마스터 계정의 관리자가 개발 및 테스트 계정 모두에서 리소스를 중지, 삭제 및/또는 종료할 수 있는 방법을 구현하려고 합니다.
이 목표를 달성할 수 있는 옵션을 식별합니다.
Ⓐ 마스터 계정에서 전체 관리자 권한이 있는 IAM 사용자를 만듭니다. Dev 및 Test 계정에서 마스터 계정의 권한을 상속하여 계정의 리소스에 대한 액세스 권한을 마스터 계정에 부여하는 교차 계정 역할을 만듭니다.
Ⓑ 마스터 계정에서 IAM 사용자와 개발 및 테스트 계정에 전체 관리자 권한을 부여하는 교차 계정 역할을 만듭니다.
Ⓒ 마스터 계정에서 IAM 사용자를 만듭니다. Dev 및 Test 계정에서 전체 관리자 권한이 있는 교차 계정 역할을 만들고 마스터 계정에 액세스 권한을 부여합니다.
Ⓓ 통합 결제를 사용하여 계정을 연결합니다. 이렇게 하면 마스터 계정의 IAM 사용자가 개발 및 테스트 계정의 리소스에 액세스할 수 있습니다.
풀이
해당 문제는 Dev, Test 계정을 별도로 사용한다는 가정의 마이그레이션 이후 통합 결제 구도 아키텍처를 요구합니다.
다음과 같이 계정이 나뉘어져 있지만 Organization의 통합 결제를 통해 빌링을 한번에 결제가 가능하도록 구축하였습니다.
그러나 문제는 예산 초과 방지를 위해 “마스터 계정의 관리자가 개발 및 테스트 계정 모두에서 리소스를 중지, 삭제 및/또는 종료할 수 있는 방법을 구현” 즉 권한 할당까지 목표를 잡았기 때문에 보기의 D는 벌써 제외입니다.
이 문제의 핵심은 Organizaiton 즉 조직에 시점을 보는게 아닌 IAM 역할 전환이라는 놈에 포커스를 잡아야 합니다.
마스터 계정에서 타 계정의 리소스 간섭은 조직 서비스 기능 외기 때문에 IAM 역할 전환 구축 방식을 확인해 볼 필요가 있습니다.
이번 문제 풀이 역할전환 생성 순서는 다음과 같습니다.
Master 계정에서 IAM 사용자 생성
Dev, Test 계정에서 Admin Role 생성
이런 식으로 구성이 완료되면 Master 계정에서도 타 계정 리소스 컨트롤이 가능해집니다.
참고로 보기에서 다음과 같은 작업은 C 이며
A 는 Admin 정책을 Master 계정에 직접 만들었고 이는 타 계정에 접근이 가능하여도 컨트롤이 불가능하기 때문에 틀렸습니다.
B 는 교차 계정 역할만 만들었지 Master 계정 접근을 열어주지 않았기 때문에 제외입니다.
정답 : C
문제 3
한 회사에 사용자가 짧은 비디오를 업로드할 수 있는 웹 애플리케이션이 있습니다. 비디오는 Amazon EBS 볼륨에 저장되고 사용자 지정 인식 소프트웨어로 분석하여 분류합니다.
웹사이트에는 특정 달에 피크가 있는 가변 트래픽이 있는 정적 콘텐츠가 포함되어 있습니다. 아키텍처는 웹 애플리케이션을 위한 자동 확장 그룹에서 실행되는 Amazon EC2 인스턴스와 Amazon SQS 대기열을 처리하기 위한 자동 확장 그룹에서 실행되는 EC2 인스턴스로 구성됩니다. 이 회사는 가능한 경우 AWS 관리 서비스를 사용하여 운영 오버헤드를 줄이고 타사 소프트웨어에 대한 종속성을 제거하기 위해 애플리케이션을 재구성하려고 합니다.
어떤 솔루션이 이러한 요구 사항을 충족합니까?
Ⓐ 웹 애플리케이션에는 Amazon ECS 컨테이너를 사용하고 SQS 대기열을 처리하는 Auto Scaling 그룹에는 Spot 인스턴스를 사용합니다. 비디오를 분류하기 위해 사용자 지정 소프트웨어를 Amazon Rekognition으로 대체합니다.
Ⓑ 업로드된 비디오를 Amazon EFS에 저장하고 웹 애플리케이션의 EC2 인스턴스에 파일 시스템을 마운트합니다. 비디오를 분류하기 위해 Amazon Rekognition API를 호출하는 AWS Lambda 함수로 SQS 대기열을 처리합니다.
Ⓒ Amazon S3에서 웹 애플리케이션을 호스팅합니다. 업로드된 비디오를 Amazon S3에 저장합니다. S3 이벤트 알림을 사용하여 이벤트를 SQS 대기열에 게시합니다. Amazon Rekognition API를 호출하여 비디오를 분류하는 AWS Lambda 함수로 SQS 대기열을 처리합니다.
Ⓓ AWS Elastic Beanstalk를 사용하여 웹 애플리케이션의 자동 확장 그룹에서 EC2 인스턴스를 시작하고 작업자 환경을 시작하여 SQS 대기열을 처리합니다. 사용자 지정 소프트웨어를 Amazon Rekognition으로 대체하여 비디오를 분류합니다.
풀이
이번 문제는 기존 EC2로 운영되고 있으나 현대화에 맞춰 애플리케이션의 재구성입니다.
문제의 핵심은
사이트에는 특정 달에 피크가 있는 가변 트래픽이 있는 “정적 콘텐츠”
오버헤드 및 의존되는 종속성 제거
그리고 언급된 서비스를 위의 핵심 문장들을 결합하여 보기중에 답이 있는지 확인합니다.
사실 정적 콘텐츠라고 하면 Cloudfront - S3의 정석 조합이 있지 않은가? 라고 생각하실 수 있는데 그걸 생각하고 C를 선택한 당신.. 다음 문제로 넘어가도 좋습니다..
정답: C
라고 끝내면 너무 짧으니까 다른 보기는 제쳐두고 C의 아키텍처 구성도와 설명을 조금 써보겠습니다.
먼저 정적 콘텐츠인 웹 앱 호스팅과 업로드한 비디오는 S3 버킷에서 구성합니다.
💡 아시다시피 S3또한 웹 호스팅이 가능합니다만 이는 문제에서 정적 콘텐츠가 언급되었기에 가능한 아키텍처이며 WAS운용까지 더해진다면 효율적인 방법은 아닙니다.
Cloudfront도 앞단에 사용하면 더욱 좋을 것 같지만 보기에 없으니 제외하고 다음으로 넘어갑니다.
S3는 이벤트 발생시 대상을 지정할 수 있으며 보기와 동일하게 SQS 대기열로 선택합니다. 당연히 새로운 영상이 버킷에 업로드 시 발생되도록 구성합니다.
이후 해당 큐는 Lambda가 처리해주며 처리방식은 Rekognition의 비디오 분류작업을 통해 다시 버킷으로 영상을 정리합니다.
이번 문제는 조금 까다로운게 보기에 적용된 서비스들로 구축하라고 하면 전부 운영 가능하도록 작성되어 있어 틀린것을 찾는게 어려울 수 있는 문제이긴 합니다. 그래서 문제의 요점을 정확히 바라보시고 다시한번 보기를 보는 것도 좋은 방법입니다.
문제의 핵심은
사이트에는 특정 달에 피크가 있는 가변 트래픽이 있는 “정적 콘텐츠”
오버헤드 및 의존되는 종속성 제거
이때 정적 콘텐츠는 그냥 쓸 수 있다고 하지만 두 번째 오버헤드 및 종속성 제거는 결국 손 많이 안가는 아키텍처의 구성 = AWS에서 직접 관리하는 서비스 목록입니다.
A의 ECS, B의 EC2, D의 Elastic Beanstalk 이 세개는 결국 휴먼 리소스가 필요한 컴퓨팅 서비스에 반해 S3로 운영하려 했는 C는 AWS Managed Services를 모두 사용하였고 이는 문제의 핵심을 관통해 C가 정답이라는 주저리주저리였습니다.
마무리
오늘 풀어본 AWS SA 자격증 문제가 여러분에게 도움이 되었길 바랍니다. 문제 풀이에 대해 궁금하다거나 틀린 부분이 있는 경우, 혹은 추가적인 질문이 있다면 언제든지 partner@smileshark.kr로 연락 주시기 바랍니다.
Comments