【Pluralith】Terraformのコード内容を可視化してくれる神ツールを試してみた!

10月 11, 2023

どもども、そろそろ子育てにも慣れてきた僕です。


今回はTerraformのコード内容を構成図のように可視化してくれる神のようなツール「Pluralith」を試してみたので紹介したいと思います。

インストールとセットアップ

まずはインストール方法をご紹介します。WebUIもありますが、今回はローカルマシン上で使用したいと思います。


また、筆者はMacOSのPCを使用しているため本記事に記載するインストール手順はLinux & macOS用のものとなります。Windowsでも利用は可能ですので詳しくは下記公式ドキュメントをご確認ください。

https://docs.pluralith.com/docs/get-started/run-locally/


まずはPluralith公式ページにアクセスし、画面右上"Get Started"ボタンをクリックします。その後選択肢下側の
Local SetupのTry Nowをクリックしてください。

下記のような画面に変遷するので"Download CLI"をクリックしてバイナリファイルをダウンロードしましょう。同画面に記載されているAPI Keyも必要になるのでメモしておくかこちらの画面を残しておくようにしておいてください。

あとはターミナル上での作業です。ダウンロードしたバイナリファイルの名前を変更し、実行権限を与えた上でパスの通った場所(今回は例として/usr/local/binとします)に移動する作業となります。コマンドは下記のとおりです。

$ mv ~/Downloads/pluralithバイナリファイル名 ~/Downloads/pluralith
$ mv ~/Downloads/pluralith /usr/local/bin
$ chmod +x /usr/local/bin/pluralith

これでpluralithコマンドを実行することが可能となりました!続いてログインしてPluralithを利用できる状態にします。

$ pluralith login
※ ここで先ほど控えておいたAPIKeyを入力する必要があります。

ここまでの作業が完了したら、いよいよTerraformコードをPluralithで可視化してみたいと思います。

実行して可視化

今回本記事ではSampleとしてAWSネットワークリソースを一通り構築するTerraform moduleを利用しますが、お好みのTerraformを対象に実行いただければと思います。

module "vpc" {
  source = "terraform-aws-modules/vpc/aws"

  name = "my-vpc"
  cidr = "10.0.0.0/16"

  azs             = ["eu-west-1a", "eu-west-1b", "eu-west-1c"]
  private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]
  public_subnets  = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"]

  enable_nat_gateway = true
  enable_vpn_gateway = true

  tags = {
    Terraform = "true"
    Environment = "dev"
  }
}

それでは下記コマンドを実行して可視化してみましょう。

$ pluralith graph

しばらく待つと以下のように可視化された構成図が出力されているwebページにリダイレクトされます。そのページでは可視化されたものをPNGやPDF形式でエクスポートすることもできます。

上記はPNG形式でエクスポートした画像です。かなり成功に描かれていることがわかりますね!

まとめ

現在のTerraformの構成が意図したものになっているか確認しやすくなったと同時に、設計段階での会議で提示したりと幅広く利用できるとても便利なツールであることがわかりました。

Terraformを利用してIaC管理している皆様は是非ともご利用いただくべきです!


最後まで読んでいただきありがとうございました。

Terraform

Posted by CY