🍣

Terraformのvpc-endpointのモジュール

2023/10/27に公開

vpc-endpointのモジュールファイル

vpc-endpoint.tfファイル
# VPCエンドポイントリソースを作成
resource "aws_vpc_endpoint" "this" {
  vpc_id            = var.vpc_id        // VPCのID
  service_name      = var.service       // 接続先サービス名
  vpc_endpoint_type = var.endpoint_type // エンドポイントのタイプ(InterfaceまたはGateway)

  route_table_ids   = var.route_table_ids // 適用するルートテーブルのIDリスト

  // タグの設定
  tags = {
    Name = var.name // VPCエンドポイントの名前
  }
}



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

# VPCエンドポイントの名前を指定
variable "name" {
  description = "The name of the VPC endpoint."
}

# 接続先サービス名を指定
variable "service" {
  description = "The service name."
}

# エンドポイントのタイプを指定(InterfaceまたはGateway)
variable "endpoint_type" {
  description = "The VPC endpoint type."
}

# 適用するルートテーブルのIDリストを指定
variable "route_table_ids" {
  description = "The route table IDs."
  type        = list(string)
}


output.tfファイル
# 作成したVPCエンドポイントのIDを出力
output "vpc_endpoint_id" {
  value = aws_vpc_endpoint.this.id // 作成したVPCエンドポイントのID
}


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

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

README.mdファイル

vpc-endpoint.tfファイル

項目 説明
resource "aws_vpc_endpoint" AWSのVPCエンドポイントを定義するTerraformリソースです。
vpc_id VPCエンドポイントが作成されるVPCのIDを指定します。このIDはvariables.tfで定義されています。
service_name 接続するAWSサービスの名前を指定します(例:com.amazonaws.region.s3)。
vpc_endpoint_type エンドポイントのタイプを指定します(例:GatewayInterface)。
route_table_ids このVPCエンドポイントに関連付けるルートテーブルのIDを指定します。
tags AWSリソースに付けるタグを定義します。この例ではNameタグが設定されています。

variables.tfファイル

項目 説明
variable "vpc_id" VPCエンドポイントが作成されるVPCのIDを指定します。このIDはVPCエンドポイントの作成に使用されます。
variable "name" VPCエンドポイントの名前を指定します。
variable "service" 接続するAWSサービスの名前を指定します。
variable "endpoint_type" VPCエンドポイントのタイプを指定します。
variable "route_table_ids" このVPCエンドポイントに関連付けるルートテーブルのIDを指定します。リスト形式で指定。

output.tfファイル

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

Discussion