4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Terraform基本的な説明

Last updated at Posted at 2023-04-29

記事の目的

  • Terraformについての学習備忘録用
  • TerraformでAWS環境構築までのフローの振り返り用

記事の概要

  • Terraformとは?
  • Terraformを使用する前提条件
  • Terraformインストール(tfenv)
  • Terraform基本ファイル
  • Terraform基本コマンド

こちらでTerraformでAWS環境構築(VPCとサブネット)までについてもまとめているので、よければ見てみて下さい:raised_hands:

Terraformとは?

HashiCorpが開発しているインフラ構成をコードを使って管理するためのツールです。
HCLという記法でコードを記述し、インフラの状態を管理することができます。
Terraformは IaC(Infrastructure as Code) を実現するツールのこと
サーバーやネットワークといったインフラの構成をプログラムのコードで書いて、書いたコードを元にインフラを構築することができます。

わかりやすくいうとコードで構築するものを書いてあげるとコマンド叩くだけで、AWSなどの環境をすぐに構築できる便利なものになるかと思います。
また、コードで管理しているので前作った環境なんだっけ:thinking:?みたいにならずコードを見れば構築した内容を確認することができ、コマンドを叩けば同じものを構築できる素晴らしいものですかね!
つまり1回作成しちゃえば同じ環境をいくらでも短時間で作れちゃいますね

スクリーンショット 2023-04-27 22.23.51.png
引用元【Terraformとは?】Terraformによるインフラ管理のメリットを解説

Terraformを使用する前提条件

TerraformでAWS環境を構築するには最低でも以下の前提条件があります

  • Terraform CLIをインストールしていること
  • AWS CLIをインストールしていること
  • AWS accountと関連する認証情報でリソースが作成できる状態にあること

Terraform基本インストール

tfenvをインストール

tfenvをインストールしてからtfenvを使用してTerraformをインストールすることでバージョンをすぐに切り替えられるので
まずはtfenvを下記コマンドでインストールします

brew install tfenv

インストール可能なバージョン一覧を確認

 tfenv list-remote

私の場合下記のように表示されました(どんどん更新されるので人によって異なります)

1.5.0-alpha20230405
1.4.6
1.4.5
1.4.4
1.4.3
省略〜〜〜〜〜〜〜〜〜

Terraformをインストール

最新と一個前をインストール

tfenv install 1.4.6
tfenv install 1.4.5

インストールされたバージョンのリスト確認

tfenv list

今回は下記コマンドで最新の方を使用していきます

tfenv use 1.4.6

Terraform基本ファイル

.tfファイル

AWSプロバイダー情報(IAM情報・リージョンなど)を記載する

.tfvarsファイル

環境ごとに異なる値を記載する

.tfsatateファイル

Terraformで管理しているインフラソースをすべて記載されているJSONファイルで
AWSだとS3のバケット内で管理されている
JSON形式で記載されているが拡張子は.tfsatateになりterraform.tfsatateのような感じ

Terraform基本コマンド

terraform init

初めに必ず実行する必要があります。
ワークスペースの初期化やプラグインがダウンロードされる

terraform plan

変更内容が表示されます。
コードを作成、変更した場合は、terraform planすることで実行内容に問題ないかを確認します。

terraform apply

変更を実行します。ここで完了すると、実際にAWSにリソースが構築されます。
変更内容が表示されるので、問題なければyesを入力します。

terraform destroy

リソースを破棄します。
破棄対象のリソースが表示されるので、問題なければyesを入力します。

terraform fmt

インデントなどのスタイルをフォーマットするためのコマンドです。
インデントなどのずれを直してくれるので、実行しとくと良い

terraform validate

構文をチェックするためのコマンドです。
terraform applyでもエラーは表示されるので、念の為実行する感覚で良さそう

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?