試してみたときのメモ。
IaC としては terraform をメインで使っているが、
他の選択肢を模索中。
一番気になるのは aws lambda 周りだが、とりあえず試せたところまで。
私的要点まとめ
- pulumi cloud にスタックを作ってそこからデプロイする
- 有料版でのサポートとかを上手く使えれば結構なメリットが得られるかもしれない
- cdk よりはデプロイが速い
- というか cdk が cloudformation 経由なので遅い
- メソッドは terraform と似ている感じがする
- python でオブジェクト管理と変数渡しが可能
- 変数渡しが手っ取り早くできる (良し悪しは別として)
- IaC 以外のサービスもある
- aws 以外にも使える
試したこと
S3 だけ作ってみた。
チュートリアルでバケット作成、ファイルアップロード、静的ウェブサイトホスティングをやっている。
dynamodb と lambda についてはドキュメントを読んだだけ。
lambda にサードパーティライブラリを入れる時にどうするかが気になるところだが、
触れている記事があまり見つからなかったので結局頑張ることになりそう。
これ
が近い感じだが、他に同じような記事が見当たらない。
セットアップ
公式サイトの通りにやったので、気になったところだけピックアップ。
pulumi にログイン
サインアップして CLI からログインする。
クラウド経由で実行する形になるっぽい。
アップロードしたくない気持ちはあるが、設定ファイルをどこに置いたかわからなくなるよりはマシかという気持ちもある。
プロジェクト作成
pulumi new
でプロジェクトを作成する。
python の場合は venv の作成も行われた。
プロキシ
grpc を使っている都合で、http_proxy
と https_proxy
があるとエラーになるらしい。
とりあえず unset
して対応。
HTTP_PROXY
と HTTPS_PROXY
は残したまま、プロキシ環境下でデプロイできた。
デプロイ
pulumi up
で差分の確認とデプロイを実行する。
pulumi cloud にスタックを作成してそこからデプロイする形になる模様。
このスタックの数とかデプロイ回数とかで料金が発生するっぽい。
料金関係
無料版の制限
月あたりのリソース数が制限されている模様。
Team プランだと無料枠を超えた分だけ課金されるらしい。
有料版の機能
企業向けサポートや削除したリソースの復旧、セルフホステッド(自前のサーバに pulumi cloud を置く?)などがある。