개요
이 실습에서는 AWS Cloud Development Kit(AWS CDK)의 기본 사항을 소개합니다. AWS CDK는 원하는 프로그래밍 언어로 클라우드 인프라를 쉽게 정의하고 AWS CloudFormation을 사용하여 배포할 수 있는 AWS의 소프트웨어 개발 프레임워크입니다. 이 실습에서는 ‘Hello, CDK!’ AWS Lambda 함수를 작성하고 Amazon API Gateway 엔드포인트를 사용하여 함수를 호출합니다. 그러면 사용자가 HTTP 요청을 통해 호출할 수 있습니다.
다음으로 자체 구문 작성을 포함하여 AWS CDK 구문의 개념을 소개합니다. AWS CDK 구문을 사용하면 여러 인프라 리소스를 재사용 가능한 구성 요소로 번들링할 수 있습니다. 이러한 구성 요소는 다른 사용자가 애플리케이션에서 사용할 수 있도록 공유할 수 있습니다.
마지막으로 구문 테스트에 대해 알아보고 애플리케이션에 테스트 기능을 추가합니다. 이 실습에서는 모든 애플리케이션 개발 과제에 AWS Cloud9 통합 개발 환경(IDE)을 사용합니다.
이 실습에서는 다음 서비스를 사용합니다.
AWS Cloud Development Kit(AWS CDK)
AWS CDK는 오픈 소스 소프트웨어 개발 프레임워크입니다. 익숙한 프로그래밍 언어를 사용하여 클라우드 애플리케이션 리소스를 모델링하고 프로비저닝할 수 있습니다. AWS CDK는 검증된 기본값으로 클라우드 리소스를 사전에 구성하는 상위 수준 구성 요소를 제공하므로, 전문가가 아니어도 클라우드 애플리케이션을 구축할 수 있습니다. AWS CDK를 사용하면 AWS CloudFormation을 사용하여 반복 가능한 방식으로 리소스를 프로비저닝할 수 있습니다.
AWS CDK에 대한 자세한 내용을 보려면 이 URL을 선택하십시오.
AWS Cloud9
AWS Cloud9은 웹 브라우저만으로 코드를 작성, 실행 및 디버그할 수 있는 클라우드 기반 통합 개발 환경(IDE)으로서, 코드 편집기, 디버거 및 터미널이 포함되어 있습니다. AWS Cloud9은 JavaScript, Python, PHP 등과 같은 대중적인 프로그래밍 언어를 위한 필수 도구와 함께 사전 패키지로 제공됩니다. 새 프로젝트를 시작하기 위해 파일을 설치하거나 개발 머신을 구성할 필요가 없습니다.
AWS Cloud9에 대한 자세한 내용을 보려면 이 URL을 선택하십시오.
AWS Lambda
AWS Lambda에서는 사실상 모든 유형의 애플리케이션 또는 백엔드 서비스에 대한 코드를 별도의 관리 노력 없이 실행할 수 있습니다. 코드를 업로드하기만 하면 Lambda 서비스가 고가용성을 통해 코드를 실행하고 확장하는 데 필요한 모든 것을 관리하기 때문입니다. 코드를 다른 AWS 서비스에서 자동으로 호출하도록 설정하거나 모든 웹 또는 모바일 앱에서 코드를 직접 호출할 수 있습니다.
Lambda에 대한 자세한 내용을 보려면 이 URL을 선택하십시오.
Amazon API Gateway
Amazon API Gateway는 개발자가 어떤 규모에서도 손쉽게 API를 생성, 게시, 유지 관리, 모니터링하고 보안을 유지할 수 있도록 지원하는 완전관리형 서비스입니다. API는 애플리케이션이 백엔드 서비스의 데이터, 비즈니스 로직 또는 기능에 액세스할 수 있는 ‘정문’ 역할을 합니다. API Gateway를 사용하면 애플리케이션 간에 실시간 양방향 통신이 가능하도록 하는 RESTful API 및 WebSocket API를 작성할 수 있습니다. API Gateway는 컨테이너화된 서버리스 워크로드 및 웹 애플리케이션을 지원합니다.
Amazon API Gateway에 대한 자세한 내용을 보려면 이 URL을 선택하십시오.
Amazon DynamoDB
Amazon DynamoDB는 어떤 규모에서도 10밀리초 미만의 성능을 제공하는 키-값 및 문서 데이터베이스입니다. 또한 보안, 백업 및 복원 기능이 내장되어 있으며 내구성이 좋은 완전관리형 다중 리전 데이터베이스입니다. 이 데이터베이스에서는 인터넷 규모의 애플리케이션에 메모리 내 캐싱을 사용합니다. DynamoDB는 하루에 10조 건 이상의 요청을 처리할 수 있으며 초당 2,000만 건 이상의 요청 급증을 지원합니다.
Amazon DynamoDB에 대한 자세한 내용을 보려면 이 URL을 선택하십시오.
AWS CloudFormation
AWS CloudFormation에서는 클라우드 환경에서 AWS 및 서드 파티 애플리케이션 리소스를 모델링하고 프로비저닝할 수 있도록 공용 언어를 제공합니다.
AWS CloudFormation에 대한 자세한 내용을 보려면 이 URL을 선택하십시오.
AWS Identity and Access Management(IAM)
AWS Identity and Access Management(IAM)를 사용하여 AWS 사용자 및 그룹을 만들고 관리하며 AWS 리소스에 대한 액세스를 허용 및 차단할 수 있습니다.
AWS IAM에 대한 자세한 내용을 보려면 이 URL을 선택하십시오.
목표
본 실습을 마치면 다음을 할 수 있습니다.
- 새 AWS CDK 애플리케이션을 생성
- AWS 구문 라이브러리를 사용하여 애플리케이션의 인프라를 정의
- AWS CDK 애플리케이션을 AWS 계정에 배포
- 재사용 가능한 자체 구문을 정의
- 구문에서 테스트 수행
필수 기술 지식
이 랩을 성공적으로 완료하려면 명령줄/터미널과 AWS 관리 콘솔의 기본적인 사용법에 익숙해야 합니다.
아이콘 설명
이 실습에서는 다양한 유형의 지침 및 참고 사항에 대한 주의를 환기하기 위해 다양한 아이콘이 사용됩니다. 다음 목록에서는 각 아이콘의 목적을 설명합니다.
- 명령: 실행해야 하는 명령입니다.
- 예상 출력: 명령 또는 편집된 파일의 출력을 확인하는 데 사용할 수 있는 샘플 출력입니다.
- 참고: 힌트, 팁 또는 중요한 가이드입니다.
- 추가 정보: 자세한 정보를 찾을 수 있는 위치입니다.
- 고려 사항: 자신의 환경에 개념을 적용하는 방법을 고려하거나 당면한 주제에 대한 대화를 시작하기 위해 일시 중지할 시점입니다.
- 파일 내용: 실행이 필요한 미리 생성된 스크립트 또는 파일의 내용을 표시하는 코드 블록입니다.
- 보안: 보안 모범 사례를 적용할 기회입니다.