前回の記事で、CodeCommitのリポジトリを作りました。 CodeCommit ではTerraformの定義を管理したいと思います。今回はローカルPCでTerraformの定義を作成して、動作検証を行いたいと思います。具体的には、VS Code と Remote WSLでLinuxのUbuntu20.04を動かし、Terraformのインストールを行い、main.tfを実行してAWS環境にVPCを作成します。
TerraformでAWSのVPCを構築
Terraformの準備
下記コマンドにてTerraformのダウンロードを行います。
sudo apt-get update
sudo apt-get install unzip
wget https://releases.hashicorp.com/terraform/1.1.3/terraform_1.1.3_linux_amd64.zip
下記コマンドにてファイルを解凍し、パスが通っている場所に移動します。
unzip terraform_1.1.3_linux_amd64.zip
sudo mv terraform /usr/local/bin
下記コマンドにてバージョンが確認できれば、Terraformの準備は完了です。
terraform -v
Terraform実行ファイルの設定
下記コマンドにてTerraform実行ファイルを格納するフォルダを作成します。
mkdir terraform_aws
作成したディレクトリに移動して、main.tfファイルを作成します。
cd terraform_aws
vi main.tf
main.tfは下記のように記述しました。terraform applyを実行するときに、IAMのシークレットキーとアクセスキーを入力するようにしております。
variable "aws_access_key" {}
variable "aws_secret_key" {}
variable "region" {
default = "ap-northeast-1"
}
variable "images" {
default = {
us-east-1 = ""
us-west-2 = ""
us-west-1 = ""
eu-west-1 = ""
eu-central-1 = ""
ap-southeast-1 = ""
ap-southeast-2 = ""
ap-northeast-1 = "ami-0218d08a1f9dac831"
sa-east-1 = ""
}
}
provider "aws" {
access_key = "${var.aws_access_key}"
secret_key = "${var.aws_secret_key}"
region = "${var.region}"
}
resource "aws_vpc" "sample_vpc" {
cidr_block = "10.10.0.0/16"
enable_dns_support = "true"
enable_dns_hostnames = "true"
instance_tenancy = "default"
assign_generated_ipv6_cidr_block = "false"
tags = {
Name = "sample_vpc"
}
}
TerraformをUbuntu20.04にて実行
下記コマンドにて、ワークスペースの初期化を行います。
terraform init
下記コマンドにて、ドライランを実行します。
terraform plan
ドライランの結果が問題無ければ下記を実行します。
terraform apply
AWS環境にてVPCが新規作成できたので、下記コマンドでVPCを削除します。
terraform destroy
まとめ
今回は、ローカルPCにてTerraformを実行して、AWS環境に新規VPCを作成すること成功しました。次回は、作成したmain.tfを前回作成したCodeCommitにpushしてみたいと思います。