😽

Terraformのroute-tableのモジュール

2023/10/27に公開

route-tableのモジュールファイル

route-table.tfファイル
# ルートテーブルリソースの作成
resource "aws_route_table" "this" {
  vpc_id = var.vpc_id  // VPCのIDを指定

  route {
    cidr_block = var.destination  // 宛先CIDRブロック
    gateway_id = var.target       // ターゲットとなるゲートウェイのID
  }

  // タグの設定
  tags = {
    Name = var.name  // ルートテーブルの名前
  }
}


variables.tfファイル
# VPCのIDを指定
variable "vpc_id" {
  description = "The VPC ID."
}

# ルートテーブルの名前を指定
variable "name" {
  description = "The name of the route table."
}

# 宛先CIDRブロックを指定
variable "destination" {
  description = "The destination CIDR block."
}

# ターゲットとなるゲートウェイのIDを指定
variable "target" {
  description = "The target gateway ID."
}

output.tfファイル
# 作成したルートテーブルのIDを出力
output "route_table_id" {
  value = aws_route_table.this.id  // 作成したルートテーブルのID
}


providers.tfファイル
 # 必要なプロバイダとそのバージョンを定義
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"  // AWSプロバイダのソース
      version = "~> 5.0"          // バージョン指定
    }
  }
}

# AWSプロバイダの設定
provider aws {
  region = "ap-northeast-1"  // AWSリージョン(東京リージョン)
}

README.mdファイル

route-table.tfファイル

項目 説明
resource "aws_route_table" AWSのルートテーブルを定義するTerraformリソースです。
vpc_id ルートテーブルが作成されるVPCのIDを指定します。このIDはvariables.tfで定義されています。
route ルートテーブルのルート(転送ルール)を定義します。
cidr_block ルートの送信先CIDRブロックを指定します。
gateway_id 目的地へのトラフィックを転送するゲートウェイ(例:インターネットゲートウェイ)のIDを指定します。
tags AWSリソースに付けるタグを定義します。この例ではNameタグが設定されています。

variables.tfファイル

項目 説明
variable "vpc_id" ルートテーブルが作成されるVPCのIDを指定します。
variable "name" ルートテーブルの名前を指定します。
variable "destination" ルートの送信先CIDRブロックを指定します。
variable "target" 目的地へのトラフィックを転送するゲートウェイ(例:インターネットゲートウェイ)のIDを指定します。

output.tfファイル

項目 説明
output "route_table_id" 生成されたルートテーブルのIDを出力します。このIDは他のTerraformコードやモジュールで使用できます。

Discussion