ソースコードから理解する技術-UnderSourceCode

手を動かす(プログラムを組む)ことで技術を理解するブログ

Terraformを初めて触ってみた

タイトルにあるようにTerraformに初めて触ってみました。
やったこととしては、

です。

もう何番煎じの記事になるのか分からないですが、自分への備忘録として残しておきます。

インストール

インストールはWindows Subsystem for LinuxUbuntuで行いました。Linuxbrewを入れてあるので、Macと同様のコマンドになるかと思います。

$ brew update
$ brew install terraform

EC2を立てる~削除

既にAWS CLIAWSにアクセスできるよう、~/.aws/credentialsは定義済でした。なのでTerraformの定義ファイルを書き、実行しただけです。
まずTerraformの定義ファイルです。

example.tf

provider "aws" {
  region     = "ap-northeast-1"
}
resource "aws_instance" "example" {
  count         = 1
  ami           = "ami-084040f99a74ce8c3"
  instance_type = "t2.micro"

  tags = {
    Name = "${format("example%02d", count.index + 1)}"
  }
}

ファイル名は何でもいいと思いますが、.tfという拡張子とします。内容としては

  • リージョンにはap-northeast-1、つまり東京を使う
  • exampleという名前で作る
  • 数は一つ
  • AMIはAmazon LinuxのAMI IDを指定
  • インスタンスタイプはt2.micro
  • タグをフォーマットを指定して設定

をしています。

後はexample.tfを保存したフォルダで以下のコマンドを実行します。

$ terraform init      # init 初回だけ?
$ terraform plan    # plan 実行前に構築されるオブジェクトを確認できる
$ terraform apply  # apply 構築するコマンド

「apply」を行うと「Do you want to perform these actions?」と聞かれるので「yes」と入力します。
構築されたら、applyの実行結果とAWSのマネージメントコンソールとで結果を見比べてみましょう。また以下の「show」でも構築した結果を見ることができます。

$ terraform show

最後に構築したものを消して終了します。

$ terraform destroy

以前ちょくちょく使ったServerless Frameworkもそうですが、Terraformのような構成管理ツールはコマンド一発で作った環境を削除できることが、個人的には気に入っています。