Terraform 0.12.21 で EC2 と VPC をたてる

2020年4月2日

準備

Terraform 設定

terraform は tfenv でいれます。

$ brew install tfenv

$ tfenv –version tfenv 1.0.2

最新バージョン( 0.12.21 )を確認し、 terraform をインストールします。

$ tfenv list-remote
$ tfenv install 0.12.21
//インストール済みバージョン一覧を取得
$ tfenv list
* 0.12.21 (set by /usr/local/Cellar/tfenv/1.0.2/version)

terraform コマンドが利用できるようになりました。

$ terraform –version
Terraform v0.12.21
+ provider.aws v2.50.0

aws cli 設定

Python の version は 3.7.4。

python --version
Python 3.7.4

pip で aws clie をインストール。

pip install awscli --upgrade

AWS コンソール上でクレデンシャルを作成し、ユーザ名(今回はrunble1)を指定してローカルに設定します。

aws configure --profile runble1

プロファイルを確認します。

aws configure list

Terraform で EC2, VPC をたてる

Terraform で VPC をたてる

サンプルで AWS VPC をたててみます。

mkdir terraform-vpc
cd terraform-vpc

Provider を設定します。ここの profile は aws コマンドでクレデンシャルを設定したユーザ名です。

vi main.tf
provider "aws" {
    profile = "runble1"
    region = "ap-northeast-1"
}

terraform の初期設定を行います。 git clone などでソースを持ってきた場合も必要になります。

terraform init

VPC 用の terraform ファイルを作成します。

vi myVPC.tf
resource "aws_vpc" "myVPC" {
    cidr_block = "10.1.0.0/16"
    instance_tenancy = "default"
    enable_dns_support = "true"
    enable_dns_hostnames = "false"
    tags = {
        Name = "myVPC"
    }
}

コードに問題がないことを確認します。

terraform plan

実行します。

terraform apply
# Enter a value: のところで yes を入力

作成できたことを確認。AWS コンソール画面でもできています。

terraform show

削除。

terraform destroy

基本はこの plan, apply, show を利用して開発していきますね。

VPC + EC2

成果物は github にアップ。

https://github.com/runble1/terraform-vpc-ec2

参考

初めてのTerraform サーバーワークスエンジニアブログ

Terraform入門資料(v0.12.0対応) ~基本知識から設計や運用、知っておくべきtipsまで~

Terraformを使ってAWSのVPCを作成してEC2を起動した