Amazon Web Services ブログ

Construct Hub と AWS Cloud Development Kit Version 2 の一般提供を発表

2021 年 12 月 2 日(米国時間)、Construct Hub AWS Cloud Development Kit (AWS CDK) バージョン 2 が一般提供されたことをお知らせします。

AWS CDK は、使い慣れたプログラミング言語 C#、TypeScript、Java、Python、Go (デベロッパープレビュー中) を使用して、クラウドリソースの操作を簡素化するオープンソースフレームワークです。デベロッパーはアプリケーション内で、コンストラクトと呼ばれる再利用可能なタイプを使用してクラウドリソースを作成および設定します。コンストラクトは、選択した言語の他のタイプと同じように使用します。また、カスタムコンストラクトを作成して、チームや組織全体で共有することもできます。

現在、一般提供されている新しいリリースでは、CDK を使用したクラウドリソースの定義がさらに簡単で便利になり、Construct Hub により、より広範なクラウド開発コミュニティ内でオープンソースのコンストラクトライブラリを共有できるようになりました。

Construct Hub ホームページ

AWS Cloud Development Kit (AWS CDK) バージョン 2
AWS CDK の バージョン 2  は、CDK プロジェクトを使用するデベロッパーの生産性向上に重点を置いています。バージョン 1 で各 AWS のサービスで使用可能なコンストラクトを配布および使用するために使用された個々のパッケージ (ライブラリ) は、1 つのモノリシックパッケージに統合されています。これにより、CDK アプリケーションおよびコンストラクトライブラリを公開するときの依存関係の管理が簡素化されます。また、特に、これらのサービスにピア依存関係がある場合 (例えば、AWS Key Management Service (KMS) で設定する必要がある Amazon Simple Storage Service (Amazon S3) バケットなど)、複数のサービスからコンストラクトを参照する CDK プロジェクトの操作がより便利になります。

CDK の バージョン 1 には、実験的ないくつかの API が含まれていました。時間が経つにつれて、コミュニティの経験やフィードバックに基づく他の好ましいアプローチを優先して、これらの一部は廃止予定になっていました。非推奨 API は、コンストラクトのプロパティとメソッドを扱うデベロッパーがわかりやすいよう、バージョン 2 で削除されました。さらに、CDK チームは、モノリシック一般提供パッケージに含めることなく、実験的なコンストラクトを作成およびリリースするための新しいリリースプロセスを採用しました。バージョン 2 以降、モノリシック CDK パッケージには、お客様がいつでも信頼できる安定した API のみが含まれています。実験的な API は別々のパッケージで出荷されます。これにより、チームとコミュニティが簡単に修正できるようになり、バージョン 1 で一部の問題を引き起こした不慮の破壊的な変更がお客様に発生するのを防ぐことができます。

AWS CDK のバージョン 2 のすべての変更点と、それを使用するよう CDK アプリケーションを更新する方法については、デベロッパーガイドを参照してください。

Construct Hub
Construct Hub は、オープンソースコミュニティ、AWS、およびクラウドテクノロジープロバイダが、すべての CDK のコンストラクトライブラリを発見して共有できる 1 つのホームです。現在最も人気がある CDK は、AWS CloudFormation テンプレートを生成する AWS CDK、Kubernetes マニフェストを生成する cdk8s、そして、Terraform JSON ファイルを生成する cdktf です。CDK は誰でも作成でき、進化するにつれて他のコンストラクトベースのツールを追加することもできます。

この投稿の公開時点では、Construct Hub には、AWS CDK のコアモジュールを含む 700 以上の CDK ライブラリが含まれています。これは、お客様に好まれるユースケースで、好みのプログラミング言語を使用し、好みのプロビジョニングエンジン (CloudFormation、Terraform、または Kubernetes) でクラウドアプリケーションを構築するのに役立ちます。例えば、コンテナを操作するためのライブラリは 99サーバーレス開発には 210 のライブラリウェブサイトには 53 のライブラリDatadogLogz.ioCloudflareSnyk などのようなクラウドサービスプロバイダとの統合には 65 のライブラリSlackTwitterGitLabGrafanaPrometheusWordPressNext.js などと統合する多数の追加ライブラリもあります。これらの多くはオープンソースコミュニティによって作成されました。

誰でもコンストラクトライブラリを Construct Hub に提供できます。共有する新しいライブラリは、npm 公開レジストリに公開し、タグ付けする必要があります。Construct Hub は、公開されたライブラリを自動的に検出し、ハブ上のコンシューマーが表示および検出できるようにします。コンシューマーは、使い慣れたテクノロジー、サードパーティーの統合、AWS のサービス、コンプライアンス、モニタリング、ウェブサイト、コンテナ、サーバーレスなどのユースケースについて、構築ライブラリを検索してフィルタリングできます。フィルターは、パブリッシャー、言語、CDK タイプ、およびキーワードに使用できます。下のスクリーンショットでは、すべての CDK でデータベースと Kubernetes に関連する.NET および TypeScript ライブラリをハブで検索しています。特定の CDK または CDK バージョンに絞って検索することもできます。

パブリッシャー全体を検索する

パブリッシャーは、自社のパッケージでどのプログラミング言語をサポートすべきかを決定します。Construct Hub は、サポートされているすべての言語の API リファレンスを自動的に生成し、作成者が提供するすべてのコードサンプルをサポートされている言語の文字に置き換えます。以下のスクリーンショットは、シングルページウェブアプリケーション (SPA) のデプロイに使用できる cdk-spa-deploy コンストラクトライブラリの言語固有の API ドキュメントの例を示しています。まず、ライブラリを使用する.NET デベロッパー向けのドキュメントです。

.NET コンストラクトライブラリ用に生成されたサンプルコードとドキュメント

下の 2 番目の画像は、同じコンストラクトライブラリ用に生成されたドキュメントを示していますが、今回は TypeScript デベロッパー向けです。

TypeScript で同じライブラリのサンプルコードとドキュメントを生成しました

Construct Hub に公開されるすべてのコンストラクトライブラリは、オープンソースである必要があります。これにより、アプリケーションで使用される他のサードパーティーパッケージソースと同様に、ライブラリがセキュリティとコンプライアンスのニーズを満たしていることを確認するために、ユーザーは適切な判断を下し、デューデリジェンスを実行できます。公開されたコンストラクトライブラリに関する問題は、ライブラリの Hub エントリからアクセスできる便利なリンクを使用して、ライブラリの GitHub リポジトリで提起することができます。

Construct Hub は、透明性による信頼モデルを採用しています。ユーザーは、ハブの [不正使用の報告] リンクをクリックしてライブラリの不正使用を報告できます。これにより、AWS Support チームが調査し、問題が見つかった場合は Construct Hub のリストから問題のあるパッケージを削除するよう依頼します。ユーザーは [Construct Hub にフィードバックを送る] リンクをクリックしてフィードバックを送ることもできます。これにより、GitHub リポジトリで問題を公開することができます。最後に、[パブリッシャーにフィードバックを提供する] をクリックすると、パブリッシャーがパッケージで提供したリポジトリにリダイレクトされます。

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 に参加してください。 再利用可能なコンストラクトライブラリを構築して共有する方法の詳細については、Construct Hub のベストプラクティスに関する CDKチームのブログ投稿をご覧ください。

– Steve

原文はこちらです。