Terraform入門 AWS EC2インスタンスを立ち上げるサンプル

環境
AWS terraform
mac環境

概要
terraformでは、main.tf のような tfファイル を書き、terraformの各種コマンドを行うことで、クラウド上などにインフラリソースを構築することができます。AWSやAzure,GCPなどの providerを指定して使うようになっており、さまざまなクラウド環境の構築を行うことができます。

操作手順
1. aws configure などのコマンドによりaws_access_key_id や aws_secret_access_key等の認証情報をセットします。
認証情報ファイル

[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

設定ファイル

[default]
region=us-west-2
output=json

[profile user1]
role_arn=arn:aws:iam::333999:role/user1role
source_profile=default
role_session_name=session_user1
region=us-east-1
output=text

2.terraformの導入
$ brew install terraform

3.main.tfファイルを作成する

provider "aws" {
  version = "~> 2.0"
  region  = "ap-northeast-1"
}

resource "aws_instance" "tf_test_instance1" {
  ami           = "ami-xxxd" # 
  instance_type = "t2.micro"

  tags = {
    Name = "tf_test(20231201)"
  }
 lifecycle {
    prevent_destroy = true
  }
}

.terraformを初期化します
$ terraform init

4.terrafaromの実行
$ terraform plan

本番の実行
$ terraform apply

5.リソースを削除/削除防止
$ terraform plan -destroy

削除防止(lifecycleを指定する)

lifecycle {
   prevent_destroy = true
 }

 

Terraform

Posted by arkgame