Skip to content

harutotanabe09/TerraformLearning

Repository files navigation

Terraformとは?

インフラをコード定義するためのツール

定義したファイルをクラウド(AWS,GCP)といったサービスに対して、ソースコードで定義して実行できる

きっかけ

案件で、Terraform管理しようかという議題が一瞬あがった為、勉強したときのメモ

特徴1:ソース管理が楽

分割を意識する必要なし。階層のtfファイルがすべて実行される

Terraformは拡張子が*.tfのファイルを自動的にテンプレートとして認識してくれるので、 テンプレートファイルを複数に分割することも可能

特徴2:いろんなクラウドサービスに展開

AWSだけではなく、GCPやAzureも使える

特徴3:コマンドで整形できる

プログラム書くと、インデントが揃わなかったりイラつくことを解消できるコマンドがある

特徴4:公式ドキュメント読みやすい

https://www.terraform.io/docs/providers/aws/index.html

Terraformのインストール手順

Brewが入っているなら以下コマンドで一発

brew install terraform

初期化

terraform init

初期化(バージョンアップ)

terraform init -upgrade

整形

terraform fmt

ドライ・ラン

terraform plan -var-file="secret.tfvars"

適用

terraform apply -var-file="secret.tfvars"

削除確認

terraform plan -destroy

リソース一括削除

terraform destroy  -var-file="secret.tfvars"

環境ごと設定

terraform workspace new develop

terraform workspace list

terraform workspace select default

ドキュメント

https://qiita.com/minamijoyo/items/1f57c62bed781ab8f4d7

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages