できるだけproductionに近い状態でAWSの各コンポーネントと通信したり、DBのデータを取得できる環境で、アプリケーションの動作確認をしたいことがある。 共有の開発者用のステージング環境等で、それを行うこともできるが、開発者が増えてくると利用が競合して順番待ちが発生したりとかする。 RDBのスキーマを弄ったり、データ投入フロー自体を修正する様な場合は、排他的に利用するべきだが、必ずしも全ての修正がそんなにヘビーな修正ではない。 コンテナの独立性を利用すれば、開発者個別にもっと自由に使える環境を開放できるはず。 というわけで、terraformと組み合わせて、そこそこ手軽に作る方法を考えてみた。 resource "aws_alb" "per_developer" { count = "${length(var.users)}" name = "${element(var.users,