【AWS】Terraformで初めてのIaC
今回は、「【AWS】Terraformで初めてのIaC」というテーマです。
IaC未経験者がサクッと経験を積めるようになる記事に仕上げました。
ぜひこの記事を読みながら、実際に手を動かしてIaCを体験してみてください!
目次
前提条件
- AWSアカウントが作成されていること
- macbookを使用していること
- この記事は、2024年5月26日に書いています。
- 本記事に記載のコマンドを実行するにあたって生じた不具合等については、筆者は責任を負いません。
Terraformのインストール
Terraformをマシンにインストール!
brew install terraform
今回のテストプロジェクトのディレクトリを作成
私はこんな感じで作りました。
# pwd
/Users/masatakashida/workspaces/test-terraform-aws
テストプロジェクトにterraformのファイルを追加
main.tf を新規作成します。
touch main.tf
tree コマンドで確認します。
# tree
.
└── main.tf
1 directory, 1 file
main.tfを書いていきます。
初めてということで、ファイル分割は一切考えずベタ書きで。
Terraform Blockを書く
terraform {
required_version = ">= 0.14"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 3.0"
}
}
}
Terraform Settings - Configuration Language | Terraform | HashiCorp Developer
Providerを書く
# terraform blockの続き
provider "aws" {
region = "ap-northeast-1"
}
AWSのVPCリソースを書く
# provider clockの続き
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
}
AWSのSubnetリソースを書く
# aws_vpc resource blockの続き
resource "aws_subnet" "private" {
vpc_id = aws_vpc.main.id
cidr_block = "10.0.1.0/24"
availability_zone = "ap-northeast-1c"
tags = {
Name = "example-private-subnet"
}
}
main.tf が完成しました!
さあ、terraformコマンドを実行してコード通りにAWSのVPCとSubnetリソースが構築される瞬間を見届けましょう!
TerraformでAWSリソースを構築する
terraform initを実行する
初期化します。
terraform init
Command: init | Terraform | HashiCorp Developer
terraform planを実行する
これから構築する変更点をコンソールに出力してくれます。
何が作成され、何が変更され、何が削除されるのかがわかります。
terrraform plan
Command: plan | Terraform | HashiCorp Developer
terraform applyを実行する
このコマンドを実行すると、先ほど terraform plan を実行した時に出力された変更点が実際に適用されます。
terraform apply
Command: apply | Terraform | HashiCorp Developer
terraform apply が正常終了しましたか?
AWS Consoleを見にいきましょう!
VPCとSubnetリソースが作成されているはずです。
つまずいたら、コメントで教えてください!
これであなたもIaC経験者です!
おつかれさまでした!