[アップデート] TerraformでgRPCのALBターゲットグループが作成できるようになりました!

2021.03.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こちらの待望のアップデートは、terraform-provider-awsv3.27.0のリリースにて追加されました。

もう1か月程前ですが、だれも記事書いてなかったので試してみます。

やってみた

Terraform のバージョンは0.14.5を使います。

terraform-provider-aws のバージョンはv3.29.0を使います。 旧バージョンだとhealth_checkmatcherを範囲指定出来ない既知の不具合があったため。

  • バージョン指定
terraform {
  required_version = "= 0.14.5"
  required_providers {
    aws = {
      version = "= 3.29.0"
      source  = "hashicorp/aws"
    }
  }
}

Terraformのバージョン0.14からロックファイルが追加されたため、必要な場合はアップグレードを実行してください。

  • アップグレード
terraform init -upgrade

下記が該当コードになります。

  • ALBターゲットグループ
resource "aws_lb_target_group" "grpc" {
  name                 = "grpc"
  vpc_id               = aws_vpc.vpc.id
  port                 = 50051
  target_type          = "ip"
  protocol             = "HTTP"
  protocol_version     = "GRPC"

  health_check {
    path                = "/go.EchoService/HealthCheck"
    healthy_threshold   = 5
    unhealthy_threshold = 2
    timeout             = 5
    interval            = 60
    matcher             = "0-99"
    port                = "traffic-port"
    protocol            = "HTTP"
  }

  depends_on = [aws_lb.lb]
}

※その他に必要なTerraformのコードはこちらを参考にしてください。

デプロイが完了するとターゲットグループが作成されているのが確認できます。

以上、お疲れ様でした。