AWS 개발자 준회원(DVA-C02) 인증 시험 안내서
버전 1.3 DVA-C02
소개
AWS 개발자 준회원(DVA-C02) 시험은 개발자 역할을 수행하는 개인을 대상으로 합니다. 이 시험은 후보자가 AWS 클라우드 기반 애플리케이션을 개발, 테스트, 배포 및 디버깅할 수 있는 능력을 입증하는 것을 목적으로 합니다.
이 시험은 또한 후보자가 다음과 같은 작업을 완수할 수 있는 능력을 입증합니다:
- AWS에서 애플리케이션을 개발하고 최적화합니다.
- 지속적 통합 및 지속적 배포(CI/CD) 워크플로우를 사용하여 패키징 및 배포합니다.
- 애플리케이션 코드와 데이터를 보안합니다.
- 애플리케이션 문제를 식별하고 해결합니다.
대상 후보자 설명
대상 후보자는 AWS 서비스를 사용하여 애플리케이션을 개발하고 유지 관리한 경험이 1년 이상 있어야 합니다.
권장 일반 IT 지식
대상 후보자는 다음과 같은 일반 IT 지식을 갖추고 있어야 합니다:
- 하나 이상의 고급 프로그래밍 언어 능숙도
- 애플리케이션 수명 주기 관리 이해
- 클라우드 기반 애플리케이션을 작성하기 위한 기본적인 이해
- 기능적 애플리케이션 개발 능력
- 개발 도구 사용 경험
권장 AWS 지식
대상 후보자는 다음과 같은 작업을 수행할 수 있어야 합니다:
- AWS 서비스 API, AWS Command Line Interface(AWS CLI) 및 SDK를 사용하여 애플리케이션을 개발하고 보안합니다.
- CI/CD 파이프라인을 사용하여 AWS에 애플리케이션을 배포합니다.
대상 후보자의 범위를 벗어난 작업
다음 목록에는 대상 후보자가 수행할 것으로 예상되지 않는 작업 과제가 포함되어 있습니다. 이 목록은 포괄적이지 않습니다. 이러한 작업은 시험 범위를 벗어납니다:
- 아키텍처 설계(예: 분산 시스템, 마이크로서비스, 데이터베이스 스키마 및 모델링).
- CI/CD 파이프라인 설계 및 생성.
- IAM 사용자 및 그룹 관리.
- 서버 및 운영 체제 관리.
- AWS 네트워킹 인프라 설계(예: Amazon Virtual Private Cloud[Amazon VPC], AWS Direct Connect).
부록에는 시험에 나올 수 있는 기술과 개념 목록, 범위에 포함되는 AWS 서비스 및 기능 목록, 범위를 벗어나는 AWS 서비스 및 기능 목록이 제공됩니다.
시험 내용
응답 유형
시험에는 두 가지 유형의 질문이 포함됩니다:
- 선다형: 하나의 정답과 세 개의 오답(유인 답안)으로 구성됩니다.
- 복수 선택형: 다섯 개 이상의 응답 옵션 중에서 두 개 이상의 정답으로 구성됩니다.
하나 이상의 답변을 선택하여 문장을 완성하거나 질문에 답합니다. 유인 답안은 불완전한 지식 또는 기술을 가진 후보자가 선택할 수 있는 잘못된 답변입니다. 유인 답안은 일반적으로 내용 영역과 일치하는 그럴듯한 응답입니다.
답변하지 않은 문제는 틀린 것으로 간주되며, 추측해서 답변하는 것에 대한 벌점은 없습니다. 이 시험에는 점수에 반영되는 50개의 문제가 포함되어 있습니다.
채점되지 않는 내용
이 시험에는 점수에 반영되지 않는 15개의 문제가 포함되어 있습니다. AWS는 이러한 채점되지 않는 문제에 대한 성과를 수집하여 향후 채점되는 문제로 사용할 수 있는지 평가합니다. 이러한 채점되지 않는 문제는 시험에서 식별되지 않습니다.
시험 결과
AWS 개발자 준회원(DVA-C02) 시험은 합격 또는 불합격으로 판정됩니다. 시험은 AWS 전문가가 인증 산업의 모범 사례와 지침을 따라 수립한 최소 기준에 대비하여 채점됩니다.
시험 결과는 100-1,000 척도 점수로 보고됩니다. 합격 점수는 720점입니다. 귀하의 점수는 시험 전체에서의 성과와 합격 여부를 나타냅니다. 척도 점수 모델은 약간의 난이도 차이가 있는 여러 시험 형식의 점수를 같은 기준으로 환산하는 데 도움이 됩니다.
귀하의 점수 보고서에는 각 섹션별 성과 분류 표가 포함될 수 있습니다. 이 시험은 보상 채점 모델을 사용하므로, 각 섹션에서 합격 점수를 달성할 필요는 없습니다. 전체 시험에서만 합격하면 됩니다.
각 시험 섹션에는 특정 가중치가 있으므로, 일부 섹션에는 다른 섹션보다 더 많은 문제가 있습니다. 성과 분류 표에는 귀하의 강점과 약점을 강조하는 일반 정보가 포함되어 있습니다. 섹션별 피드백을 해석할 때는 주의해야 합니다.
내용 개요
이 시험 안내서에는 시험의 가중치, 내용 영역 및 작업이 포함되어 있습니다. 이 안내서에는 시험 내용의 포괄적인 목록이 제공되지 않습니다. 그러나 각 작업에 대한 추가 컨텍스트가 제공되어 시험 준비에 도움이 됩니다.
이 시험에는 다음과 같은 내용 영역과 가중치가 적용됩니다:
- 내용 영역 1: AWS 서비스를 활용한 개발(득점 내용의 32%)
- 내용 영역 2: 보안(득점 내용의 26%)
- 내용 영역 3: 배포(득점 내용의 24%)
- 내용 영역 4: 문제 해결 및 최적화(득점 내용의 18%)
내용 영역 1: AWS 서비스를 활용한 개발
과제 1: AWS에서 호스팅되는 애플리케이션에 코드 개발하기
지식:
- 아키텍처 패턴(예: 이벤트 중심, 마이크로서비스, 모노리스, 안무, 오케스트레이션, 배포)
- 멱등성
- 상태 저장 및 무상태 개념의 차이
- 강하게 결합된 및 느슨하게 결합된 구성 요소의 차이
- 오류 복구 설계 패턴(예: 지수 백오프 및 지터를 사용한 재시도, 유휴 편지함)
- 동기식 및 비동기식 패턴의 차이
기술:
- 프로그래밍 언어(예: Java, C#, Python, JavaScript, TypeScript, Go)를 사용하여 내결함성 및 복원력 있는 애플리케이션 생성
- API 생성, 확장 및 유지 관리(예: 응답/요청 변환, 유효성 규칙 적용, 상태 코드 재정의)
- 개발 환경에서 단위 테스트 작성 및 실행(예: AWS Serverless Application Model[AWS SAM] 사용)
- 메시징 서비스를 사용하는 코드 작성
- API 및 AWS SDK를 사용하여 AWS 서비스와 상호 작용하는 코드 작성
- AWS 서비스를 사용하여 데이터 스트리밍 처리
과제 2: AWS Lambda 코드 개발하기
지식:
- 이벤트 소스 매핑
- 무상태 애플리케이션
- 단위 테스트
- 이벤트 중심 아키텍처
- 확장성
- VPC의 프라이빗 리소스에서 Lambda 코드 액세스
기술:
- 환경 변수 및 매개변수(예: 메모리, 동시성, 시간 제한, 런타임, 핸들러, 레이어, 확장, 트리거, 대상)를 정의하여 Lambda 함수 구성
- 코드를 사용하여 이벤트 수명 주기 및 오류 처리(예: Lambda 대상, 유휴 편지함)
- AWS 서비스 및 도구를 사용하여 테스트 코드 작성 및 실행
- AWS 서비스와 Lambda 함수 통합
- 최적의 성능을 위해 Lambda 함수 조정
과제 3: 애플리케이션 개발에 데이터 저장소 사용하기
지식:
- 관계형 및 비관계형 데이터베이스
- Create, Read, Update, Delete(CRUD) 작업
- 균형 있는 파티션 액세스를 위한 고차원 파티션 키
- 파일, 객체, 데이터베이스 등의 클라우드 스토리지 옵션
- 데이터베이스 일관성 모델(예: 강력한 일관성, 결국 일관성)
- 쿼리 및 검색 작업의 차이
- Amazon DynamoDB 키 및 인덱싱
- 캐싱 전략(예: 전체 쓰기, 읽기 전용, 지연 로드, TTL)
- Amazon Simple Storage Service(Amazon S3) 계층 및 수명 주기 관리
- 일시적 및 지속형 데이터 저장소 패턴의 차이
기술:
- 데이터 저장소에 영속성을 제공하기 위해 데이터 직렬화 및 역직렬화
- 데이터 저장소 사용, 관리 및 유지 관리
- 데이터 수명 주기 관리
- 데이터 캐싱 서비스 사용
내용 영역 2: 보안
과제 1: 애플리케이션 및 AWS 서비스에 대한 인증 및/또는 권한 부여 구현하기
지식:
- 자격 증명 연동(예: Security Assertion Markup Language [SAML], OpenID Connect [OIDC], Amazon Cognito)
- 베어러 토큰(예: JSON 웹 토큰[JWT], OAuth, AWS Security Token Service[AWS STS])
- Amazon Cognito의 사용자 풀과 자격 증명 풀의 비교
- 리소스 기반 정책, 서비스 정책 및 주체 정책
- 역할 기반 액세스 제어(RBAC)
- ACL을 사용한 애플리케이션 권한 부여
- 최소 권한의 원칙
- AWS 관리형 정책과 고객 관리형 정책의 차이
- 자격 증명 및 액세스 관리
기술:
- 자격 증명 공급자를 사용하여 연동 액세스 구현(예: Amazon Cognito, AWS Identity and Access Management[IAM])
- 베어러 토큰을 사용하여 애플리케이션 보안
- AWS에 대한 프로그래밍 방식 액세스 구성
- AWS 서비스에 인증된 호출 수행
- IAM 역할 가정
- 주체에 대한 권한 정의
과제 2: AWS 서비스를 사용하여 암호화 구현하기
지식:
- 미사용 및 전송 중 암호화
- 인증서 관리(예: AWS Private Certificate Authority)
- 키 보호(예: 키 교체)
- 클라이언트 측 암호화와 서버 측 암호화의 차이
- AWS 관리형 및 고객 관리형 AWS Key Management Service(AWS KMS) 키의 차이
기술:
- 암호화 키를 사용하여 데이터 암호화 또는 복호화
- 개발 목적으로 인증서 및 SSH 키 생성
- 계정 간 암호화 사용
- 키 교체 활성화 및 비활성화
과제 3: 애플리케이션 코드에서 중요한 데이터 관리하기
지식:
- 데이터 분류(예: 개인 식별 정보[PII], 보호 대상 의료 정보[PHI])
- 환경 변수
- 보안 관리(예: AWS Secrets Manager, AWS Systems Manager Parameter Store)
- 안전한 자격 증명 처리
기술:
- 중요한 데이터가 포함된 환경 변수 암호화
- 보안 데이터 관리 서비스 사용
- 중요한 데이터 정리
내용 영역 3: 배포
과제 1: AWS에 배포될 애플리케이션 아티팩트 준비하기
지식:
- 애플리케이션 구성 데이터에 액세스하는 방법(예: AWS AppConfig, Secrets Manager, Parameter Store)
- Lambda 배포 패키징, 레이어 및 구성 옵션
- Git 기반 버전 관리 도구(예: Git)
- 컨테이너 이미지
기술:
- 패키지 내에서 코드 모듈의 종속성 관리(예: 환경 변수, 구성 파일, 컨테이너 이미지)
- 애플리케이션 배포를 위한 파일 및 디렉토리 구조 구성
- 배포 환경에서 코드 리포지토리 사용
- 리소스에 대한 애플리케이션 요구 사항 적용(예: 메모리, 코어)
과제 2: 개발 환경에서 애플리케이션 테스트하기
지식:
- 애플리케이션 배포를 수행하는 AWS 서비스의 기능
- 모의 엔드포인트를 사용한 통합 테스트
- Lambda 버전 및 별칭
기술:
- AWS 서비스 및 도구를 사용하여 배포된 코드 테스트
- API 및 통합 종속성 해결을 위한 모의 통합 수행
- 개발 엔드포인트를 사용하여 애플리케이션 테스트(예: Amazon API Gateway에서 단계 구성)
- 기존 환경에 애플리케이션 스택 업데이트 배포(예: 다른 스테이징 환경에 AWS SAM 템플릿 배포)
과제 3: 배포 테스트 자동화하기
지식:
- API Gateway 단계
- 지속적 통합 및 지속적 배포(CI/CD) 워크플로우의 브랜치 및 작업
- 자동화된 소프트웨어 테스트(예: 단위 테스트, 모의 테스트)
기술:
- 애플리케이션 테스트 이벤트 만들기(예: Lambda, API Gateway, AWS SAM 리소스 테스트를 위한 JSON 페이로드)
- 다양한 환경에 API 리소스 배포
- 통합 테스트를 위한 승인된 버전을 사용하는 애플리케이션 환경 만들기(예: Lambda 별칭, 컨테이너 이미지 태그, AWS Amplify 브랜치, AWS Copilot 환경)
- 인프라 코드(IaC) 템플릿 구현 및 배포(예: AWS SAM 템플릿, AWS CloudFormation 템플릿)
- 개별 AWS 서비스의 환경 관리(예: API Gateway의 개발, 테스트 및 프로덕션 환경 구분)
과제 4: AWS CI/CD 서비스를 사용하여 코드 배포하기
지식:
- Git 기반 버전 관리 도구(예: Git)
- AWS CodePipeline의 수동 및 자동 승인
- AWS AppConfig 및 Secrets Manager에서 애플리케이션 구성 액세스
- AWS 서비스를 사용하는 CI/CD 워크플로우
- AWS 서비스 및 도구를 사용한 애플리케이션 배포(예: CloudFormation, AWS Cloud Development Kit[AWS CDK], AWS SAM, AWS CodeArtifact, AWS Copilot, Amplify, Lambda)
- Lambda 배포 패키징 옵션
- API Gateway 단계 및 사용자 지정 도메인
- 배포 전략(예: 캐너리, 블루/그린, 롤링)
기술:
- 기존 IaC 템플릿 업데이트(예: AWS SAM 템플릿, CloudFormation 템플릿)
- AWS 서비스를 사용하여 애플리케이션 환경 관리
- 배포 전략을 사용하여 애플리케이션 버전 배포
- 빌드, 테스트 및 배포 작업을 트리거하기 위해 리포지토리에 코드 커밋
- 오케스트레이션된 워크플로우를 사용하여 다양한 환경에 코드 배포
- 기존 배포 전략을 사용하여 애플리케이션 롤백 수행
- 버전 및 릴리스 관리를 위한 레이블 및 브랜치 사용
- API Gateway의 스테이징 변수를 Lambda 함수에서 동적 배포 생성에 사용
내용 영역 4: 문제 해결 및 최적화
과제 1: 근본 원인 분석 지원하기
지식:
- 로깅 및 모니터링 시스템
- 로그 쿼리용 언어(예: Amazon CloudWatch Logs Insights)
- 데이터 시각화
- 코드 분석 도구
- 일반적인 HTTP 오류 코드
- SDK에서 생성되는 일반적인 예외
- AWS X-Ray의 서비스 맵
기술:
- 결함을 식별하기 위한 코드 디버깅
- 애플리케이션 메트릭, 로그 및 추적 해석
- 관련 데이터를 찾기 위한 로그 쿼리
- 사용자 지정 메트릭 구현(예: CloudWatch 내장 메트릭 형식[EMF])
- 대시보드 및 인사이트를 사용하여 애플리케이션 상태 검토
- 서비스 출력 로그를 사용하여 배포 실패 문제 해결
과제 2: 가시성을 위한 코드 계측하기
지식:
- 분산 추적
- 로깅, 모니터링 및 가시성의 차이
- 구조화된 로깅
- 애플리케이션 지표(예: 사용자 지정, 내장, 기본 제공)
기술:
- 애플리케이션 동작 및 상태를 기록하기 위한 효과적인 로깅 전략 구현
- 사용자 지정 지표를 내보내는 코드 구현
- 추적 서비스에 주석 추가
- 특정 작업에 대한 알림 경고 구현(예: 할당량 제한 또는 배포 완료에 대한 알림)
- AWS 서비스 및 도구를 사용하여 추적 구현
과제 3: AWS 서비스 및 기능을 사용하여 애플리케이션 최적화하기
지식:
- 캐싱
- 동시성
- 메시징 서비스(예: Amazon Simple Queue Service[Amazon SQS], Amazon Simple Notification Service[Amazon SNS])
기술:
- 애플리케이션 성능 프로파일링
- 애플리케이션에 필요한 최소 메모리 및 컴퓨팅 파워 결정
- 구독 필터 정책을 사용하여 메시징 최적화
- 요청 헤더에 따라 콘텐츠 캐싱
부록
시험에 나올 수 있는 기술과 개념
다음 목록에는 시험에 나올 수 있는 기술과 개념이 포함되어 있습니다. 이 목록은 포괄적이지 않으며 변경될 수 있습니다. 이 목록의 항목 순서와 배치는 시험에서의 상대적인 비중이나 중요도를 나타내지 않습니다:
- 분석
- 애플리케이션 통합
- 컴퓨팅
- 컨테이너
- 비용 및 용량 관리
- 데이터베이스
- 개발자 도구
- 관리 및 거버넌스
- 네트워킹 및 콘텐츠 전송
- 보안, 자격 증명 및 규정 준수
- 스토리지
시험에 나오는 AWS 서비스 언급
AWS 인증은 이 시험의 읽기 부담을 줄이기 위해 축약어 또는 괄호 정보를 포함하는 공식 약어 이름을 사용합니다. 예를 들어, Amazon Simple Notification Service(Amazon SNS)는 시험에서 Amazon SNS로 나옵니다.
시험의 도움말 기능(모든 문제에 사용 가능)에는 약어 AWS 서비스 이름과 해당 전체 이름 목록이 포함되어 있습니다.
AWS 서비스 이름 페이지에서 약어 이름으로 시험에 나오는 서비스 목록을 확인할 수 있습니다. 목록에 있지만 이 시험 범위를 벗어나는 서비스는 시험에 나오지 않습니다.
참고: 모든 약어가 시험이나 도움말 기능에서 완전히 확장되지는 않습니다. 일부 AWS 서비스의 공식 전체 이름에는 절대 확장되지 않는 약어가 포함되어 있습니다(예: Amazon API Gateway, Amazon EMR). 시험에는 대상 청중이 알고 있을 것으로 예상되는 다른 약어도 포함될 수 있습니다.
범위에 포함되는 AWS 서비스 및 기능
다음 목록에는 시험에 포함되는 AWS 서비스 및 기능이 포함되어 있습니다. 이 목록은 포괄적이지 않으며 변경될 수 있습니다. AWS 제품은 주요 기능에 따라 범주로 나뉩니다:
분석
- Amazon Athena
- Amazon Kinesis
- Amazon OpenSearch Service
애플리케이션 통합
- AWS AppSync
- Amazon EventBridge
- Amazon Simple Notification Service(Amazon SNS)
- Amazon Simple Queue Service(Amazon SQS)
- AWS Step Functions
컴퓨팅
- Amazon Elastic Compute Cloud(Amazon EC2)
- AWS Elastic Beanstalk
- AWS Lambda
- AWS Serverless Application Model(AWS SAM)
컨테이너
- AWS Copilot
- Amazon Elastic Container Registry(Amazon ECR)
- Amazon Elastic Container Service(Amazon ECS)
- Amazon Elastic Kubernetes Service(Amazon EKS)
데이터베이스
- Amazon Aurora
- Amazon DynamoDB
- Amazon ElastiCache
- Amazon MemoryDB
- Amazon Relational Database Service(Amazon RDS)
개발자 도구
- AWS Amplify
- AWS CloudShell
- AWS CodeArtifact
- AWS CodeBuild
- AWS CodeDeploy
- Amazon CodeGuru
- AWS CodePipeline
- AWS X-Ray
관리 및 거버넌스
- AWS AppConfig
- AWS Cloud Development Kit(AWS CDK)
- AWS CloudFormation
- AWS CloudTrail
- Amazon CloudWatch
- Amazon CloudWatch Logs
- AWS Command Line Interface(AWS CLI)
- AWS Systems Manager
네트워킹 및 콘텐츠 전송
- Amazon API Gateway
- Amazon CloudFront
- Elastic Load Balancing(ELB)
- Amazon Route 53
- Amazon Virtual Private Cloud(Amazon VPC)
보안, 자격 증명 및 규정 준수
- AWS Certificate Manager(ACM)
- Amazon Cognito
- AWS Identity and Access Management(IAM)
- AWS Key Management Service(AWS KMS)
- AWS Private Certificate Authority
- AWS Secrets Manager
- AWS Security Token Service(AWS STS)
- AWS WAF
스토리지
- Amazon Elastic Block Store(Amazon EBS)
- Amazon Elastic File System(Amazon EFS)
- Amazon Simple Storage Service(Amazon S3)
- Amazon S3 Glacier
범위를 벗어나는 AWS 서비스 및 기능
다음 목록에는 시험 범위에서 제외되는 AWS 서비스 및 기능이 포함되어 있습니다. 이 목록은 포괄적이지 않으며 변경될 수 있습니다. 대상 직무 역할과 전혀 관련이 없는 AWS 제품은 이 목록에서 제외되었습니다:
분석
비즈니스 애플리케이션
- Amazon Chime
- Amazon Connect
- Amazon WorkMail
엔드 유저 컴퓨팅
- Amazon AppStream 2.0
- Amazon WorkSpaces
프론트엔드