Terraformを使ってAWSのVPCとサブネットを作成し、削除まで一連の流れを試してみましたので、やり方を後から追えるように記事として残します。
0. 前提
今回の操作では、AWSとTerraformを使用します。 環境設定方法は前回記事を参照してください。
1. Terraformの設定ファイルを作成
main.tfには、AWS ProviderとVPC、サブネットを定義しました。
terraform {
# 使用するProviderを設定
required_providers {
aws = {
# AWS Providerを使用
source = "hashicorp/aws"
# AWS Providerのバージョンを指定
version = "~> 6.0"
}
}
}
provider "aws" {
# 東京リージョンを使用
region = "ap-northeast-1"
}
resource "aws_vpc" "study" {
# VPCで使用するIPアドレスの範囲
cidr_block = "10.0.0.0/16"
tags = {
Name = "terraform-study-vpc"
}
}
resource "aws_subnet" "study" {
# 作成したVPCにサブネットを関連付け
vpc_id = aws_vpc.study.id
# サブネットで使用するIPアドレスの範囲
cidr_block = "10.0.1.0/24"
# 東京リージョンのAZを指定
availability_zone = "ap-northeast-1a"
tags = {
Name = "terraform-study-subnet"
}
}
今回は下記構成になります。
VPC
└─ サブネット
VPCはAWS上に作成する仮想ネットワークで、サブネットはVPC内のネットワークを分割したものです。
次回作成するEC2は、このサブネット内に配置します。
2. VPCとサブネットを作成
最初にTerraformを初期化します。
terraform init
続いて、作成されるリソースを確認します。
terraform plan
今回は下記結果になりました。
Plan: 2 to add, 0 to change, 0 to destroy.
それぞれ、追加するリソースが2個、変更するリソースが0個、削除するリソースが0個という意味です。
今回はVPCとサブネットを新しく作成するため、2 to addとなっています。
問題がなかったため、AWSへ反映します。
terraform apply
確認画面でyesを入力すると、VPCとサブネットが作成されました。
Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
AWSコンソールからも、作成されたVPCを確認できました。

サブネットも作成され、VPCにterraform-study-vpcが設定されていることを確認できました。

3. VPCとサブネットを削除
最後に、今回作成したリソースを削除します。
terraform destroy
確認画面でyesを入力すると削除されました。
Destroy complete! Resources: 2 destroyed.
これは、Terraformで管理しているリソースが2個削除されたことを表しています。
AWSコンソールからも、VPCとサブネットが削除されていることを確認できました。
4. まとめ
今回はTerraformを使って、VPCとサブネットの作成、削除までを試してみました。
基本的な流れは下記になります。
terraform init(前準備)
↓
terraform plan(確認)
↓
terraform apply(実行)
↓
terraform destroy(削除)
また、サブネットでは下記のようにVPCを参照しています。※main.tf
vpc_id = aws_vpc.study.id
このようにTerraformでは、作成したリソース同士を関連付けて管理できます。
次回は、今回作成したVPCとサブネットを利用してEC2の構築を試してみたいと思います。
- 閲覧数 115
コメントを追加