1. AWS Certified Data Engineer 이란?
얼마 전 (2023년 10월 31일~2024년 1월12일) AWS Certified Data Engineer 시험이 Beta 버젼으로 오픈되었다.
(정식 버젼은 2024년 3월 12일 부터 시작 된다.)
AWS 공식 홈페이지에서 따르면 AWS Certified Data Engineer은
validates skills and knowledge in core data-related AWS services, ability to implement data pipelines, monitor and troubleshoot issues, and optimize cost and performance in accordance with best practices.
https://aws.amazon.com/certification/certified-data-engineer-associate/
라고 설명 되어있다. 즉 파이프라인 개발, 모니터링 같은 데이터 엔지니어 역할을 AWS 서비스 내에서 얼마나 잘 구축 할 수 있는지를 보는 시험으로, 클라우드 스킬과 데이터 엔지니어로서의 역량을 잘 증명할 수 있는 자격증이라고 생각된다!
2. 자격증 준비 과정
우선 제일 먼저 확인 해본 것은 공식사이트에서 배포한 Exam guide (AWS Data Engineering Exam guide) 였다.
크게 네가지의 도메인으로 이루어져 있는데, 데이터를 수집하고 변환하는 과정이 제일 까다롭고 많은 기술이 있는 만큼 가장 많은 비중을 차지하고 있었다.
• Domain 1: Data Ingestion and Transformation (34% of scored content)
• Domain 2: Data Store Management (26% of scored content)
• Domain 3: Data Operations and Support (22% of scored content)
• Domain 4: Data Security and Governance (18% of scored content)
Exam guide에 가보면 각 도메인에 대해 보다 더 자세히 어떤 것을 알아야 하는지 말해주는데, 문제의 범위가 넓은 것을 넘어서 요구하는 각 기술에 대한 이해도가 깊어 당황하였다. 😅
그래서 우선 침착하게 Exam guide 마지막에 있는 Appendix에서 어떠한 AWS Service를 공부해야하는지 보았다.
Amazon Athena, EMR, Glue, Amazon MWAA, EC2, Lambda, ECR, ECS, EKS, DynamoDB, S3 와 같은 굵직한 기술들은 어느정도 실무에서 써보았지만, 나머지는 이름만 들어봤던가, 아예 처음 보는 서비스들이 생각보다 많았다.
베타 버젼으로 많은 정보를 얻을 수는 없었지만, 가용한 자료들을 최대한 끌어모았다.
AWS 공식 문제는 3번씩은 풀어보았고 (문제는 매번 똑같지만 한 두개씩은 틀리게 된다. 🥲)
Udemy 데이터 엔지니어 강의는 한번 쭉 듣고 매 단원마다 제공해주는 문제를 풀어보았다.
공부를 하면서 느낀 것은, AWS 서비스들은 매우 다양하지만 그 중 비슷한 서비스들도 많다는 점이었다.
즉, 해결해야할 문제에 대해서 사용자(개발자)가 적용할 수 있는 방법들이 정말 다양하게 나온다는 점이었다.
예문을 보자,
글로벌에 지점을 두고 있는 회사가 직원들의 출퇴근 기록을 Amazon S3로 수집을 하고 있다.
현재는 On-premise 에서 cron job을 통해 실행 시킨 Python program 을 통해 S3 에 수집을 하고 있는데,
Python program 을 AWS service로 옮기고 싶다. 어떤 방법 (2개) 가 가장 효과적으로 적용할 수 있는가?
1. AWS CloudShell 을 통하여 cron job을 스케쥴링한다.
2. AWS Lambda functions을 통해 Python code를 실행한다.
3. Amazon EC2 에 Python과 AWS SDK 를 설치한 후 Python code를 실행한다.
4. Amazon EventBridge Scheduler를 통하여 cron job을 스케쥴링한다.
5. AWS Cloud9에서 Python code를 실행한다.
정답은 2번과 4번이다. 3번도 실현 가능한 솔루션이지만 2번과 4번에 비해 추가적인 작업과 리소스가 들어가기 때문에 정답이 아니다.
아무튼, 너무 많은 정보가 머리속에 들어와 햇갈리기 시작했고, 나는 Miro라는 툴을 사용하여 내가 배운 정보를 정리하였다.
3. 시험 후기
시험 문제는 베타 시험이여서 덤프 문제를 포함하여 85 문제였고, 제한 시간은 (180+30) 210 분이었다.
(30분은 시험이 영어로 진행되기 때문에 피시험자가 원어민이 아니면 신청에 한하여 추가로 주어진다.)
장소: 경복빌딩 3층
시험장은 깔끔하였고, 집중을 위해 껌을 오물거리며 시험장에 들어갔는데 규정상 껌을 포함한 음식물 반입이 안되서 바로 뱉어버렸다 😥
부정행위를 방지하기 위해서 그런지 손목, 발목, 옷 소매, 발 소매(?), 안경 등 정말 꼼꼼히 검사한 후 입장 하였다.
다른 시험장은 가보진 않았지만, 경복빌딩 시험장은 우선 히터를 틀어놓아서 너무 건조하였고 (눈이 30분만에 뻑뻑해졌다 ㅜ), 모니터 사양이 안좋아서 그런지 눈이 너무 아파서 집중이 살짝 흐트려졌다. 그래도 시험 감독관님들이 친절하셔서 기분은 좋았다.
시험장 장점:
- 시험 감독관님들이 친절함
- 근처 선릉역에 감자탕 맛집이 있음. (신동궁 감자탕)
시험장 단점:
- 겨울에는 히터로 인해 많이 건조함 (눈 피로감 📈)
- 모니터 사양이 좋지 않음 (눈 피로감 📈)
시험의 난이도는 중상 이었던 것 같다. 사실 시험 난이도 보다 210분이라는 시간동안 85문제를 풀고 검토하며 집중력을 잃지 않으려는 나 자신과의 싸움이 너무 힘들었다. AWS 공식 연습문제와 매우 비슷한 유형들로 나왔으며, Kinesis, Athena, Glue가 많이 보였다. 또 SQL 문제도 한 문제 나와서 글만 읽던 도중 뭔가 너무 반가웠다.
4. 앞으로의 다짐
AWS Data Engineering Certification을 준비하면서 배운 점은 현재 실무에서 사용하고 있는 방법 보다 더 효율적이고 다양한 접근법이 있다는 것이었다. 다양한 서비스와 그 서비스들 간의 연계와 활용 방안들을 보면서 시각이 넓어진 것을 확연히 느낄 수 있었다.
결과는 무려 3개월 후에 나오지만 (Beta여서), 그 3개월동안의 기다림 동안 복습하고 떨어질 경우를 대비해서 준비를 하려 한다!