Pulumi とは
汎用プログラミング言語によるIaC
Pulumi は、TypeScript、Python、Go、C#、Javaなどの汎用プログラミング言語でクラウドインフラストラクチャを記述できるInfrastructure as Code(IaC)プラットフォームです。
主な機能
- 本物の言語 — TypeScript、Python、Go、C#、Java、YAML
- マルチクラウド — AWS、Azure、GCP、Kubernetesおよび100以上のプロバイダー
- 状態管理 — 組み込みの状態管理
- シークレット — すぐに使える暗号化
- Policy as Code — コンプライアンスルール
Terraformに対する優位性
- HCLの代わりに本格的な言語
- IDEサポート(オートコンプリート、リファクタリング)
- コードの再利用(関数、クラス)
- インフラストラクチャテスト
- ネイティブな条件とループ
TypeScriptの例
import * as aws from "@pulumi/aws";
const bucket = new aws.s3.Bucket("my-bucket", {
website: { indexDocument: "index.html" }
});