AWSIaCInfrastructure_as_codePulumiAdventCalendar2021

Public preview として公開中の AWS Native package について

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