😺

terragrunt をさわってみる

2025/01/26に公開

terragrunt とは

Gruntwork 社が管理している Terraform のラッパーであり、DRYにできたりして、良い感じにメンテナンスしやすくしてくれるものです。

https://terragrunt.gruntwork.io/

良いこと

  • 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 として渡していく。
というような感じになっています。
具体的なコードについては下記にまとめていきました。
https://github.com/Wataru-Toriumi/terragrunt-sample

実際、apply できて下記のようにS3とlambdaのリソースが作成されているのが確認できます。

わーい!

まとめ

良い感じに設定できましたね。今度はもう少し深く入っていきたいと思います。

Discussion