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