1
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?

terraform基礎

Posted at

最初に

terraformを業務で使用することになりました。
そのため勉強したことをまとめています。
terraformで構築したことが多いため構築メインで書くことが多いです。

terraformとは

IaC(Infrastructure as code)に一種。
インフラをコードで定義し構築/運用/削除を行うことが可能
インフラを構築等することは可能ですがサーバ内の管理(ツールのインストール等)は行うことはできないためAnsible等を組み合わる必要がある。
terraformで構築できる対象はAWS/GCP/Azure等と幅広いプラットフォームに対応している。

terraformの利点

インフラをコード化できるためもし同じ環境を構築したいとなった場合作業工数が少なく済む

コード化していることで作業ミス(作業漏れ)を防ぐことができる

公式ドキュメントがわかりやすい

terrformのファイルについて

①tfファイル
terraformでインフラを構築する場合に作成するファイル。
main.tf/outputs.tf等の名前で作成することが多いように思います。
.tf前のmain/outputsについてはルールはないためわかりやすいファイル名にして問題ない。

②tfstateファイル
terraformでインフラを構築した後に自動で作成されるファイル。
ファイルの格納先は任意ですがaws環境ではs3に自動作成されるよう定義することが多いように思います。
tfstateファイルはterraformにおける最重要ファイルになります。
terraformはtfstateファイルでterraformが作成したリソースか等を確認します。
そのためもしterraform管理したくないリソースがある場合はtfstateファイルを削除するだけでterraformはそのリソースをterraformで構築したことを忘れます。

terraformの動き

terraformでリソースを構築する場合構築コマンドを実行したフォルダ内に格納されているすべてのtfファイルを見に行きます。
もし階層構造になっている場合、再帰的に子フォルダすべてを見に行きtfファイルを実行したりは基本的にしません。

terraform構築コマンド

  • terraform init
    terraformで構築するとき最初に実行するコマンド
    プロバイダーのダウンロード等を行い実行環境の準備をおこないます。
    上記コマンドではリソースの構築等は行いません。

  • terraform validate
    構文チェックコマンド
    tfファイルに記載されている内容を確認し構文として正しいか確認してくれる。

  • terraform fmt
    tfファイルを確認しフォーマットをきれいに整えてくれます。

  • terraform plan
    tfファイルをもとに構築/変更/削除するリソースの内容確認

  • terraform apply
    tfファイルを元にリソースを構築する。

  • terraform destroy
    構築したリソースの削除をする。

最後に

今回はterraformについて構築をメインに記載しました。
現在terraformを使いaws環境を構築することが多いため次はawsvpc構築の際書いたコードについて記載したい

1
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
1
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?