😺
terragrunt をさわってみる
terragrunt とは
Gruntwork 社が管理している Terraform のラッパーであり、DRYにできたりして、良い感じにメンテナンスしやすくしてくれるものです。
良いこと
- Provider などの設定を集中管理できる
- 依存関係を記述・管理できる
- などなど
実際に使ってみる
install
brew install terragrunt
利用してみる
ディレクトリ構成はこんな感じでやってみる。
terragrunt-sample/
├── modules
│ └── s3-lambda
│ └── main.tf
├── terragrunt.hcl
└── envs
├── dev
│ └── terragrunt.hcl
└── prod
└── terragrunt.hcl
実装方針としては、
modules にリソース定義を格納していっていく。
envs には、modules にそれぞれの環境にあった定義を input として渡していく。
というような感じになっています。
具体的なコードについては下記にまとめていきました。
実際、apply できて下記のようにS3とlambdaのリソースが作成されているのが確認できます。
わーい!
まとめ
良い感じに設定できましたね。今度はもう少し深く入っていきたいと思います。
Discussion