Pulumi AWS Native package について
Pulumi 社から AWS Native package が公開され約 4 カ月経過しました。
なぜ AWS Native package が作成されたか等この記事で紹介します。
AWS Native package が作成された理由
AWS Native package の公開と同時に Amazon Web Services から、AWS のリソースを操作するための新しいインターフェース AWS Cloud Control API が公開されています。
下記記事内に記載されている通り Pulumi と HashiCorp (Terraform) がリリースパートナーとして AWS Cloud Control API と連携しながら各することで、より早く提供されたサービスを Pulumi や HashiCorp (Terraform) から操作することができるようになります。
原文:
日本語訳:
今までの pulumi-aws
は AWS Terraform Provider に依存する形で作成されており、いままでは AWS が新しい機能・サービスの追加を行っても Terraform の更新を待つ必要がありました。
(まだプレビューですが) AWS Cloud Control API で リソースを操作する AWS Native package は、特別な事情がない限り AWS Cloud Control API に変更が入った当日に提供されます。
Pulumi や Terraform が対応していないため 別のツールやサービス (CloudFormation) などで管理することもありましたがその可能性が格段と低くなりました。
AWS Native package はいつプレビュー版でなくなるか
現時点正式バージョンの公開は発表されていません。
AWS Native package は利用しても良いのか?
For new projects, we recommend using AWS Native and AWS Classic side-by-side so you can get the speed and correctness benefits of AWS Native where possible. For existing projects, AWS Classic remains fully supported; at this time, we recommend waiting to migrate existing projects to AWS Native.
pulumi-aws-native
repository の README には以下のように記載されています。
新規で作成するプロジェクト
AWS Native と AWS Classic を両方を利用できるように設定
AWS Native が利用できるリソースは AWS Native を利用して構築
既存のプロジェクト
AWS Classic は引き続きサポートするため AWS Native に急いで移行することは推奨していない。
ただし、今後移行することを求められることは容易に想像できるため、新規でリソースを作成する場合は AWS Native を利用した方がよいと思います。
さいごに
今回は、Pulumi の AWS Native package について紹介しました。
AWS Cloud Control API の登場でさらに IaC が進んでいくのではととてもわくわくしています。
Reference