はじめに 私が Terraform で AWS リソースの開発を進めるなかで DB の認証情報等の機密情報をどうやって取り扱うかという問題にぶつかりました。 tf ファイルに平文で記述してしまうと Git で tf ファイルを管理することができません。 あらかじめ Terraform 外で Secrets Manager や Parameter Store を作成しておいて、Data Source として扱う方法もありますが、そうすると SecretsManager や ParameterStore は Terraform での管理対象外になってしまいます。 なんとかして機密情報を直接 Terraform で扱う方法がないかと調べた結果、sops + AWS KMS がとても便利だったので紹介します。 前提 sops において AWS KMS で作成したキーを使用するにあたり、AWS Cr