TerraformでAWSリソース1種類を複数個作成する
ここんとこ Terraform づくしです。 前回 は APIGateway と Lambda と SNS と S3 を一気にまとめて作成するものを作ったわけですが、諸般の事情から複数の DynamoDB と複数のLambdaそして複数のAPIGateway、、はてはS3まで準備しないといけなくなったので、いろいろと試行錯誤しながら準備しました。 1つのリソースを複数個用意するとかいうサンプルがなかなかなかったので 役に立つかなと思って備忘録として残しておきます。 *なんかもっと効率いい方法あれば教えてほしい。 そしてTerraformはプログラムではないのでforとかifの使い方に癖があるし 結構な制約事項となります。けれども、1個覚えればどこのクラウドだろうが オンプレだろうが1つの記述法で行けるというのは非常に魅力的なんですよねぇ。 ◆設定 1.terraformファイル群 (1)ルートに置くもの # main.tf ----------------- resource "aws_sns_topic" "this_sns_topic" { name = var.sns_topic_name } module "lambda" { source = "./lambda" } module "apigateway" { source = "./apigateway" region = var.region account_id = var.account_id } module "dymano" { source = "./dynamodb" } module "s3" { source = "./s3" } ----------------- # variables.tf ----------------- variable "access_key" { description = "AWS Access Key" }...