Terraform入門 AWS EC2インスタンスを作成する手順

環境
AWS Cloud9

概要
AWS Cloud9 は統合開発環境、または IDE です。

この AWS Cloud9 IDE では、リッチなコード編集エクスペリエンスを実現しており、複数のプログラミング言語、ランタイムデバッガ、
および組み込みターミナルがサポートされています。

操作手順
1.AdministratorAccess権限を持ったIAMユーザでAWSマネジメントコンソールにログインします。

2.Cloud9画面に遷移します。

3.画面右上のCreate environmentをクリックします。

4.環境名を入力し、Next Stepをクリックします。

5.Configure settingsは特に何も変更せずにNext Stepをクリックし、設定内容を確認後、Create environmentをクリックします。

6.Cloud9が立ち上がります。
Cloud9には最初からTerraformがインストールされています。

7.Terraformのバージョンを確認します。
$ terraform -v

作業用のディレクトリを作成します。
$ mkdir terraform && cd terraform

以下のコマンドで3つのtfファイルを作成します。
$ touch provider.tf
$ touch aws_ec2.tf

8.provider.tf

provider "aws" {
  region = "ap-northeast-1"
}

regionには、リソース構築先のAWSリージョンを指定します。今回は東京リージョン(ap-northeast-1)を指定しています。

リソースを記述する書式

resource "リソースの種類" "リソース名" {
    設定項目1 = 設定値
    設定項目2 = 設定値
    設定項目3 = 設定値
}

9.EC2インスタンスのコードを作成する

#----------------------------------------
# EC2インスタンスの作成
#----------------------------------------
resource "aws_instance" "test_web_server" {
  ami                    = "ami-xxxx" # AMI ID
  instance_type          = "t2.micro"
  subnet_id              = aws_subnet.test_subnet.id
  vpc_security_group_ids = [aws_security_group.test_sg.id]
  user_data = <<EOF
#! /bin/bash
sudo yum install -y httpd
sudo systemctl start httpd
sudo systemctl enable httpd
EOF
}

10.実行コマンド

$ terraform init

結果にTerraform has been successfully initialized!と表示されていれば成功です

$ terraform validate

結果にSuccess! The configuration is valid.と表示されていれば成功です。

$ terraform fmt
コードのインデントを自動で整形する

$ terraform apply

実環境上にリソースを構築します。

11.リソースを削除する

$ terraform destroy

 

Terraform

Posted by arkgame