nokoのブログ

こちらは暫定のメモ置き場ですので悪しからず

Terraformについて調べたことメモ

はじめに

  • Terraformまわりについて復習したときのメモ

メモ

ディレクトリ構成案(最小構成)

.
├── README.md
└── stg01
    ├── ec2.tf
    ├── provider.tf
    └── versions.tf

ファイル例

  • ec2.tf
resource "aws_instance" "<pj>-stg01-app-01" {
  ami           = "ami-XXXXX"
  instance_type = "t2.medium"
  count = 1
  ebs_block_device {
    device_name    = "/dev/sda1"
    volume_type = "gp2"
    volume_size = 20
  }
  tags = {
    Name = "<pj>-stg01-app-01"
    Project = "<pj>"
  }
  key_name = "XXXXX-key"
  vpc_security_group_ids = ["sg-XXXXX"]
  subnet_id = "subnet-XXXXX"
}
  • provider.tf
provider "aws" {
  region  = "ap-northeast-1"
}

Terraformインストール手順(@デプロイ用マシン)

  • Terraformインストール
wget https://releases.hashicorp.com/terraform/0.13.2/terraform_0.13.2_linux_amd64.zip
unzip terraform_0.13.2_linux_amd64.zip
# PATHが通っているディレクトリにコピー
sudo cp terraform /usr/local/bin/
terraform -version
  • AWS環境情報設定
aws configure
# ~/.bashrc に記載して、 source ~/.bashrc でも可
# export AWS_ACCESS_KEY_ID=***
# export AWS_SECRET_ACCESS_KEY=***

Terraform実行手順(@デプロイ用マシン)

cd terraform/stg01
terraform init
terraform plan
terraform apply
terraform show

補足

  • リソースを破棄するコマンド
# 注意!
terraform destroy