はじめに
業務でAWSの構成の一部をTerragruntを使用して管理しているのですが、構成が複雑になってゆくにつれてコードを読んで構成を理解するのが難しい、意図した構成になっているか視覚的になっていないので分かりづらいという問題がありました。
その問題をPlulalithで解消するためにTerraformの勉強と一緒にPlulalithも使ってみようという記事の第三弾です。
TerraformでEC2とEC2周辺のVPCやサブネット、インターネットゲートウェイなどのネットワーク周りの環境を作成するtfファイルを作成し、
作成した環境をもとにPluralithを使用して構成図を作成してみたのですが、新たに発見があったので備忘メモとして残しておきたいと思います。
また、前回同様以下書籍内の「TerraformではじめるAWS構成管理」の手順を参考にして実施しました。
Terraform初心者の方におすすめです。
これまでに行ったこと
第一弾の前々回はインストール編ということでインストールを実施しました。
そして第二弾は実際にTerraformでEC2のみの作成と構成図を作成するというところまでできました。
やりたいこと
基本的なEC2環境をTerraformで作成し、Pluralithで構成図を作成したい!
そしてあわよくば「Changes」のグレースケールをカラーで表示できるようになりたい!
環境
OS:Windows11 Pro
Terraform:v1.5.2
pluralith CLI Version: 0.2.2
pluralith Graph Module Version: 0.2.1
AWS CLI:2.4.23
今回作成した環境のコード
実際に記述したコードはこちらになります。
今回は記述したコードについて詳細は省きます。
また、リポジトリ内に「pluralith_graph」というディレクトリを作成したのですがその直下にPluralithで作成した構成図も置いてあります。
今回記述したコードでPluralithで構成図を作成してみた結果
毎回terraform plan
でエラーが起きないことを確認してからterraform apply
、その後plulalith graph
という流れで環境の作成と構成図の作成を行っていました。
流れを変えてみようと考え、ネットワーク構成のみapply済みの状態でEC2作成用のec2.tfを作成してterraform plan
を実行後に
pluralith graph
を実行したら以下のように表示されました。
ネットワークのつながりや変更内容が表示されていることが分かります。
とても見やすいです。
このような構成図であれば初見でも環境が理解しやすいかもしれないですね。
が、注目したいのはChangesで今回変更予定の箇所はカラーで、それ以外の作成済みの箇所はグレースケールになっているところです!
ちゃんと変更予定の箇所が反映されています!
結論
Changesはいつもグレースケールだったのでなぜなのだろうと思っていたのですが、毎回terraform apply
を実行した後に構成図を作成してしまっていたからでした。
terraform plan
実行後に構成図を作成したところ画像のように表示されたのでterraform plan
の後に構成図を作成するのが正しい使い方のようでした。
以下気づいた点です。
-
terraform apply
実行前のplan実行後の差分に対してChangesが反映される。 -
terraform apply
実行後だとすでに変更されているためChangesは何も無いためすべてグレースケール状態になる。
所感
構成図を作成するうえでChangesがずっとグレースケールになっていたのが気がかりだったのですが今回気づくことができて良かったです。
「Costs」についても表示できるようになったので近いうちにまとめたいと思います。
参考