Amazon Web Services ブログ
CDK for Terraform on AWS 一般提供 (GA) のお知らせ
この記事は”Announcing CDK for Terraform on AWS”を翻訳したものです。
2 年前、 HashiCorp 社と AWS CDK チームが Cloud Development Kit for Terraform (CDKTF) の共同開発を開始しました。 CDKTF はオープンソース (Mozilla 2.0) として提供され、 Terraform を利用したクラウドインフラの構築をより開発者フレンドリーなものとするツールとなっています。ここ 2 年間で多くの企業が、クラウド開発を簡素化し、開発者が好みのプログラミング言語でインフラストラクチャを定義およびプロビジョニングを実現するワークフローツールの AWS CDK や CDK for Kubernetes (CDK8s) 、 CDK for Terraform (CDKTF) を採用することによって、 CDK コミュニティが成長する様子を目にしてきました。
本日、 CDK for Terraform (CDKTF) が一般提供 (GA) になったことを HashiCorp 社と共に発表できることをうれしく思います。
オープンソースの JSII ライブラリに構築された CDK for Terraform を利用することで、 Terraform の各設定を C# 、 Python 、 TypeScript 、 Java 、または Go で書くことが可能であり、さらに Terraform プロバイダやモジュールといったエコシステムを継続して利用することが可能です。アプリケーションの中に Terraform レジストリから既存のプロバイダやモジュールをインポートすることが可能であり、 CDKTF が選定したプログラミング言語のリソースクラスを生成します。
CDKTF を利用することで、開発者は使い慣れたプログラミング言語からコンテキストを切り替えることなく、インフラストラクチャをコードとしてセットアップできます。アプリケーションビジネスロジックの定義に使用する場合と同じツールと構文を使用してインフラストラクチャリソースをプロビジョニングすることが可能です。これによってチーム開発においては、 Terraform のエコシステムや確立された Terraform デプロイパイプラインを介したインフラ構築を、使い慣れた言語で共同開発することが可能となります。
ConstructHub でのコラボレーション
すべての CDK で共通するものとして、 Constructs と呼ばれるカスタムの抽象化レイヤーを作成することで、複雑さの軽減やコードの重複を削減できるといったものがあります。 Constructs を利用することで、都度リソースを定義するのではなく、既存のリソース設定を繰り返し利用することができるため、開発が簡素化し、新しい機能とサービスの提供のスピードアップを実現できます。
チーム間や組織間で作成したConstructsを共有することも可能であり、 Construct Hub で全ての CDK ( AWS CDK 、 CDK8s 、 CDKTF )の Constructs を探すことができます。是非 Construct Hub で現在 CDKTF で利用可能な construct を確認してみてください。
CDK for Terraform を利用した Amazon Elastic Kubernetes Service (Amazon EKS)
実際の CDK for Terraform の利用方法について学ぶために、 AWS のシニアクラウドアーキテクトによるこちらのデモをご確認ください。このデモをご確認いただくことで、 CDK for Terraform や Terraform Cloud 、 Sentinel を利用した Amazon EKS ワークロードの安全なデプロイを、プラットフォームチームと開発者チームが効果的に実現する方法を学ぶことができます。デモには、プラットフォームチームと開発者チームが一体となって、 HashiCorp Terraform 、 Sentinel ポリシー、 CDK for Terraform 、 Amazon EKS を使用するワークフローがチュートリアルとして説明されています。
CDK for Terraform と AWS CDK を是非お試しください
CDK for Terraform のリリースの詳細については、 HashiCorp 社ブログと 2022 年 8 月 22 日のウェビナーをご確認ください。追加になったテストサポートや Terraform Cloud と CDKTF を利用した開発といった、新しい機能の情報を得ることができます。
はじめてプロジェクトで利用されるといった場合には、チュートリアルを実施していただくか、 CDKTF のドキュメントをご確認いただくことを推奨します。また、 AWS CDK についての詳細はこちらでご確認いただくことが可能であり、 CDK へのコントリビュートにご興味のある方はこちらをご確認ください。
本ブログは、ソリューションアーキテクトの津郷が翻訳しました。原文はこちらです。