Amazon Web Services 한국 블로그

Construct Hub 및 AWS Cloud Development Kit 버전 2 정식 출시

Construct HubAWS Cloud Development Kit(AWS CDK) 버전 2가 정식으로 출시되었습니다.

AWS CDK는 익숙한 프로그래밍 언어인 C#, TypeScript, Java, Python 및 Go(개발자 미리 보기)를 사용하여 클라우드 리소스 작업을 간소화하는 오픈 소스 프레임워크입니다. 개발자는 애플리케이션 내에서 자신이 선택한 언어의 다른 유형과 마찬가지로 사용하는 구문(Constructs)이라는 재사용 가능한 유형을 사용하여 클라우드 리소스를 생성하고 구성합니다. 사용자 정의 구문을 작성하여 팀과 조직 전체에서 공유할 수도 있습니다.

오늘 정식 출시된 새 릴리스에서는 CDK를 사용하여 클라우드 리소스를 정의하는 것이 훨씬 더 간단하고 편리해졌으며 Construct Hub를 사용하면 더 넓은 클라우드 개발 커뮤니티 내에서 오픈 소스 구성 라이브러리를 공유할 수 있습니다.

Construct Hub 홈 페이지

AWS Cloud Development Kit(AWS CDK) 버전 2
AWS CDK 버전 2는 CDK 프로젝트로 작업하는 개발자의 생산성 향상에 중점을 둡니다. 버전 1에서 각 AWS 서비스에 사용할 수 있는 구문을 배포하고 사용하는 개별 패키지(라이브러리)가 단일 모놀리식 패키지로 통합되었습니다. 이는 CDK 애플리케이션과 구문 라이브러리를 게시할 때 종속성 관리를 간소화합니다. 또한 특히 해당 서비스에 피어 종속성(예: AWS Key Management Service(KMS) 키로 구성해야 하는 Amazon Simple Storage Service(Amazon S3) 버킷)이 있는 경우 여러 서비스의 구문을 참조하는 CDK 프로젝트로 작업하는 것이 더 편리해집니다.

CDK 버전 1에는 실험적인 일부 API가 포함되어 있습니다. 시간이 지남에 따라 이들 중 일부는 커뮤니티 경험 및 피드백을 기반으로 하는 선호되는 다른 접근 방식을 위해 더 이상 사용되지 않는 것으로 표시되었습니다. 더 이상 사용되지 않는 API는 구문 속성과 메서드로 작업하는 개발자가 확인하기 쉽도록 버전 2에서 제거되었습니다. 또한 CDK 팀은 모놀리식 GA 패키지에 포함할 필요 없이 실험 구문을 생성하고 릴리스하기 위한 새로운 릴리스 프로세스를 채택했습니다. 버전 2부터 모놀리식 CDK 패키지에는 고객이 항상 신뢰할 수 있는 안정적인 API만 포함됩니다. 실험용 API는 별도의 패키지로 제공되므로 팀과 커뮤니티에서 쉽게 수정하고 고객이 버전 1에서 일부 문제를 일으킨 갑작스런 주요 변경 사항을 경험하지 않도록 합니다.

AWS CDK 버전 2의 모든 변경 사항과 이를 사용하도록 CDK 애플리케이션을 업데이트하는 방법은 개발자 안내서에서 확인할 수 있습니다.

Construct Hub
Construct Hub는 오픈 소스 커뮤니티, AWS 및 클라우드 기술 공급자가 모든 CDK에 대한 구성 라이브러리를 검색하고 공유할 수 있는 단일 홈입니다. 오늘날 가장 인기 있는 CDK는 AWS CloudFormation 템플릿을 생성하는 AWS CDK, Kubernetes 매니페스트를 생성하는 cdk8sTerraform JSON 파일을 생성하는 cdktf입니다. 누구나 CDK를 생성할 수 있으며 발전에 따라 다른 구문 기반 도구를 추가할 수 있습니다.

이 게시물이 게시된 시점에서 Construct Hub에는 고객이 선호하는 프로그래밍 언어, 선호하는 사용 사례 및 선호하는 프로비저닝 엔진(CloudFormation, Terraform 또는 Kubernetes)을 사용하여 클라우드 애플리케이션을 구축할 수 있도록 지원하는 핵심 AWS CDK 모듈을 비롯한 700여 개의 CDK 라이브러리가 포함되어 있습니다. 예를 들어, 컨테이너 작업을 위한 99개의 라이브러리, 서버리스 개발을 위한 210개의 라이브러리, 웹 사이트를 위한 53개의 라이브러리, Datadog, Logz.io, Cloudflare, Snyk와 같은 클라우드 서비스 공급자와의 통합을 위한 65개의 라이브러리, Slack, Twitter, GitLab, Grafana, Prometheus, WordPress, Next.js 등과 통합되는 수십 개의 추가 라이브러리가 있습니다. 이들 중 다수는 오픈 소스 커뮤니티에 의해 생성되었습니다.

누구나 Construct Hub에 구문 라이브러리를 제공할 수 있습니다. 공유하려는 새 라이브러리는 npm 퍼블릭 레지스트리에 게시하고 태그를 지정해야 합니다. Construct Hub는 게시된 라이브러리를 자동으로 감지하고 허브에서 소비자가 보고 검색할 수 있도록 만듭니다. 소비자는 익숙한 기술, 서드 파티 통합, AWS 서비스 및 규정 준수, 모니터링, 웹 사이트, 컨테이너, 서버리스 등의 사용 사례에 대한 구문 라이브러리를 검색하고 필터링할 수 있습니다. 게시자, 언어, CDK 유형 및 키워드에 대해 필터를 사용할 수 있습니다. 아래 스크린샷에서는 모든 CDK에서 데이터베이스 및 Kubernetes와 관련된 .NET 및 TypeScript 라이브러리에 대한 허브를 검색하고 있습니다. 특정 CDK 또는 CDK 버전으로 필터링할 수도 있습니다.

게시자 간 검색

게시자는 패키지에서 지원해야 하는 프로그래밍 언어를 결정합니다. 그런 다음 Construct Hub는 지원되는 모든 언어에 대한 API 참조를 자동으로 생성하고 작성자가 제공하는 모든 코드 샘플을 지원되는 언어로 번역합니다. 아래 스크린샷에서는 단일 페이지 웹 애플리케이션(SPA)을 배포하는 데 사용할 수 있는 cdk-spa-deploy 구문 라이브러리에 대한 언어별 API 문서의 예를 보여줍니다. 먼저 라이브러리로 작업하는 .NET 개발자를 위한 설명서입니다.

.NET 구문 라이브러리에 대해 생성된 샘플 코드 및 문서

아래 두 번째 이미지는 동일한 구문 라이브러리용으로 생성된 문서를 보여주지만 이번에는 TypeScript 개발자용입니다.

TypeScript에서 동일한 라이브러리에 대해 생성된 샘플 코드 및 문서

Construct Hub에 게시된 모든 구문 라이브러리는 오픈 소스여야 합니다. 이를 통해 사용자는 애플리케이션에서 사용되는 다른 서드 파티 패키지 소스와 마찬가지로 라이브러리가 보안 및 규정 준수 요구 사항을 충족하는지 확인하기 위해 올바른 판단을 내리고 실사를 수행할 수 있습니다. 게시된 구성 라이브러리와 관련된 문제는 라이브러리의 허브 항목에서 액세스할 수 있는 편리한 링크를 사용하는 라이브러리의 GitHub 리포지토리에서 발생할 수 있습니다.

Construct Hub는 신뢰를 통한 투명성 모델을 사용합니다. 사용자는 허브에서 ‘남용 신고(Report abuse)’ 링크를 클릭하여 라이브러리 남용을 신고할 수 있습니다. 그러면 AWS Support 팀이 문제를 조사하고 문제가 발견되면 Construct Hub 목록에서 문제가 되는 패키지를 제거합니다. 사용자는 ‘Construct Hub에 피드백 제공(Provide feedback to Construct Hub)’ 링크를 클릭하여 피드백을 보낼 수도 있습니다. 이 링크를 통해 GitHub 리포지토리에서 문제를 제기할 수 있습니다. 마지막으로 ‘게시자에게 피드백 제공(Provide feedback to publisher)’을 클릭하면 게시자가 패키지와 함께 제공한 리포지토리로 리디렉션됩니다.

Construct Hub의 피드백 링크

AWS CDK와 마찬가지로, Construct Hub는 오픈 소스이며, 구문으로 구축되었고, 실제로 Construct Hub에서 자체적으로 사용 가능합니다. 관심이 있다면 CDK 팀이 CDK를 사용하여 GitHub 리포지토리에서 허브를 개발하는 방법을 확인할 수 있습니다.

Construct Hub - Construct Hub에서!

지금 바로 AWS CDK 버전 2 및 Construct Hub를 시작해 보세요.
AWS Cloud Development Kit(AWS CDK) 버전 1을 사용하여 클라우드 인프라를 정의하는 CDK 애플리케이션을 구축했다면 버전 2에 대해 문서화된 변경 사항을 살펴보고 새 버전이 앞으로 프로젝트 설정을 단순화하는 데 어떻게 도움이 되는지 확인하세요. 그리고 더 넓은 커뮤니티와 새로운 구문을 공유하는 데 관심이 있다면 Construct Hub참여하세요.

– Steve