Terraform AWS Cloud Control (AWS CC) ProviderがGA
Terraform AWS Cloud Control (AWS CC) ProviderがGA
と発表があった為、ひとまず概要から確認してみる事にしました。
2024年5月30日発表のブログがこちら
Terraform AWS CC プロバイダーのリリースにより、IaC ツールとして Terraform を使用している AWS のお客様は、リリース当日に Terraform AWS CC プロバイダーで通常利用できる最新の AWS イノベーションを使用してクラウドインフラストラクチャを構築することで、市場投入までの時間を短縮できるようになりました。
awscc provider(<= New!)
AWS Cloud Control API を利用した AWS リソースのライフサイクル管理。このプロバイダーは、利用可能な CloudFormation リソース定義から完全に生成され、HashiCorp AWS プロバイダー チームによって内部的に管理されています。
aws provider(既存のTerraform AWS標準プロバイダー)
CloudFormation Registryについて
知っておくべきこと
Cloud Control プロバイダーのリソースとデータ ソースは、CloudFormation レジストリから取得された CloudFormation スキーマに基づいて完全に生成されます。
CloudFormationにもS3バケットの中身を空にしてから削除してくれるリソースタイプが存在します。
CloudFormationレジストリのサードパーティ拡張機能をテンプレートでアクティブにするリソースタイプをSleepの例で説明。
CloudFormation(&CDK)からCloudFlareリソースを作成する方法。
上記で扱っているのは、いわゆるサードパーティ製のパブリッシャーによるリソースタイプでしたが、↓画像のラジオボタンにあるようにAWS製のリソースタイプにはCloudFormationの「Type」で指定している馴染みのものです。
これらはサードパーティ製とは違いユーザー自身が希望して有効化を必要とせず、https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/ReleaseHistory.html にて追加が知らされたと同タイミングで既にレジストリに登録済みの状態からスタートします。
Cloud Control APIについて
既存のAWSプロバイダーともファイル内で共存可能
AWS プロバイダーと AWS CC プロバイダーの両方を同じ設定ファイルで使用できます。
暗に、「既にawsプロバイダを利用してリソースを定義しているtfファイルに追加していく事が可能だよ(awsプロバイダが使えなくなる訳でもないよ)」と言っているものと思います。
使用例にも大きな違いはなさそうです。
左aws,右awscc
何が嬉しいか
以下動画の説明がとてもわかりやいです。(後半部分にデモも存在)
新しい機能サービスが追加されると、このプロセス(API使用確認、GitHubのIssueを開き、PRを作成し、テストを実行、レビュー、マージetc )を繰り返し、特に新しいサービスの場合、これには数日から数週間、場合によっては数ヶ月かかる場合もあります。
一貫したスキーマがある場合、 構造を作成するとそのスキーマをプログラムでスキャンしてすべてのリソース属性をマッピングできるため、スキーマを理解する為に各AWSサービスを個別に検査する必要がなくなり、1つの場所に行くだけで済みます。
その他、AWSCCのドキュメントにはコピペで使える実用的な例がある事も嬉しいねとの事です。
例:
説明ブロックの後半部分Terraform Providerのドキュメントを自動生成するtfplugindocsについても触れています。
わかりやすいブログも見つけました。
後書き
ひとまず概要を勉強してみました、近日リソースを立ててみたりこれまでのawsプロバイダーとの違いが他にないかもう少し調べてみたいと思います。
Discussion