はじめに
- Terraformの場合、CloudFormationと違い、PCやEC2など
実行環境の準備
とTerraformが使うための認証情報(アクセスキー/シークレット or IAMロール)の設定
が必要になる。 - ちょっとテストでコード作成・デプロイしたい場合や、最初のリソース作成だけをTerraformでやりたい場合は、そのためにこれらに環境を準備することに手間を感じていた。
- そこでAWS CloudShellを使った
1分でできるTerraform実行環境の構築手順
を整理してみました。
最速Terraformデプロイ
0.必要なもの
- AWSアカウント
- Terraformデプロイに必要な権限を割り当てられたIAMユーザ(AdministratorAccess)
1.実行環境の起動
CloudShellとは
2.Terraformのインストール
Terraformのインストール方法
- terraformコマンドの実行ファイルをHashicorpのサイトから直接ダウンロードします。
以下をコピペしてください。
## 実行ファイルのダウンロード
curl -o tf.zip https://releases.hashicorp.com/terraform/1.3.4/terraform_1.3.4_linux_amd64.zip
## ファイルの解凍
unzip tf.zip
## コマンド実行ファイル置き場をhomeディレクトリに作成、ファイルを移動
mkdir .bin
mv terraform .bin/
## パスを通す
echo "export PATH=$PATH:$HOME/.bin" >> .bashrc
source .bashrc
CloudShellへのTerraformのインストールについては、yumやtfenvで行うことも可能ですが、homeディレクトリ以外への変更は、一度ログインセッションが切れるとリセットされます。
最新バージョンのダウンロードURL確認先
https://www.terraform.io/downloads
インストール後の確認
- 以下のように
terraform -v
と入力して、バージョンが表示されればOKです。
"terraform -v"を入力
$ terraform -v
Terraform v1.3.4
on linux_amd64
3.デプロイ(Init/Plan/Apply)
- ログインしているIAMユーザの権限がCloudShellにも引き継がれているため、そのままデプロイできます。
tfファイルの作成
main.tf
# AWS Provider を設定
provider "aws" {
region = "ap-northeast-1"
}
# VPCを作成
resource "aws_vpc" "example" {
cidr_block = "10.0.0.0/16"
}