どうも,エンジニアのナカノです.
今や完全に春真っ最中な時期ですが,暑さがまるで夏の様です.
そのため,日中は汗だくで辛いです.これでは夏に耐えられぬ....
さて,今回は前回の記事の内容の続きとなります.
前回はよく使われるTerraformのコマンドに関する内容でした.
今回の内容は,場合によって役立つTerraformのコマンドに関してです.
- 場合によって役立つコマンド
- 出力コマンド
- graph
- output
- show
- その他
- console
- get
- import
- providers
- 最後に
場合によって役立つコマンド
出力コマンド
graph
設定内容或いはplan
,apply
,destroy
などのコマンドの結果を,ビジュアルなものとして出力してくれるコマンドです.
これを実行すると設定間の関連などが視覚的に分かるため,確認作業を行う上では役立つかもしれません.
ただ,設定が多すぎると出力結果がかえって見辛くなるため,使いどころは考える必要があるかなと思います. www.terraform.io
output
ただ単にterraform output
を実行すると,設定された全ての出力値が表示されます.
また,コマンド実行の際に-json
オプションを使うと,出力結果のフォーマットをJSON形式に変えることが出来ます.
JSON形式での出力が出来るため,例えばjq
コマンドと組み合わせて出力値の利用が可能です.
他にも,オプションの利用により,terraform.tfstate
の情報やmodule
の設定内容の出力も出来ます.
一見すると重要そうに見えないですがTerraformに慣れてくると有り難みが分かってくる,そんなコマンドです. www.terraform.io
show
このコマンドを実行すると,ファイルの設定内容をhuman-readableなフォーマットで出力してくれます.
output
コマンドは出力設定の内容しか出力しないのに対し,show
コマンドは実装した設定の内容を出力します.
そのため,show
コマンドはoutput
コマンドよりも詳細な情報を画面に表示してくれます.
www.terraform.io
その他
console
文字通りで,コンソールを扱うことが出来ます.一見すると役に立たなさそうなコマンドに思えます.
しかし例えば,このコマンドの実行後に,Terraformで使える関数などの挙動を確認することが出来ます.
挙動の確認なしにplan
やapply
を行うのは怖いため,挙動確認の点で割と重要なコマンドであると言えるでしょう.
www.terraform.io
get
module
と呼ばれるものを使って実装した場合,plan
やapply
の前にこのコマンドを実行する必要があります.
これを実行すると.terraform
ディレクトリにmodule
に関するファイルが生成されます.
ただ,今のところはget
を使わずにinit
,plan
,apply
を行うだけでこと足りる様になっているみたいです.
実際に,私はTerraformを半年ほど使っていますが,このコマンドを実行せざるを得ない状況に遭遇したことがありません. www.terraform.io
import
Terraformで管理されていないインフラリソースを,Terraformの管理対象にすることが出来るコマンドです.
正確には,このコマンドにより「リソースの情報を追記される様にterraform.tfstate
が書き換えられる」といった感じです.
もしterraform.tfstate
がない場合は生成されますが,このファイルが既に存在する場合は単に書き換えが行われます.
そのため,このコマンドを実行した後は「最新化されたterraform.tfstate
をもとに.tf
ファイルを作成して差分をなくす」作業が必要となります.
www.terraform.io
providers
プロバイダーの情報を画面に表示させるコマンドです.表示形式はツリー構造です.
特に様々なプロバイダーを利用している場合であれば,作業ミスの防止のための確認として役立つかもしれません.
ただ,このコマンドは基本的には使われる機会が殆どないのではと思います. www.terraform.io
最後に
如何でしたでしょうか.普段は重要には感じられないが場合によっては非常に役立ちそうなものばかりですね.
次回は「terraform.tfstate
に関連するコマンド」をご紹介したいと思います.
それでは,今回はこの辺りで筆を置かせて頂きます.
次回を乞うご期待ください.