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

[その3] Terraform Cloud Private Registory サブモジュール使ってみた

Posted at

これは何?

Terraform Cloud のサブモジュールの呼び出しについて解説します。

サブモジュールについて

前回、Private Registryを登録して、メインモジュールを呼び出すことができました。
その際、プライベートレジストリから呼びだす際はsource句の部分のような内容になります。

# メインモジュールの呼び出し
module "network-templates" {
  source  = "app.terraform.io/atsuw0w-test-terraform/network-templates/aws"
  version = "1.0.0"
}

上記のモジュールですが、サブモジュールを複数作成し呼び出すことも可能です。
例えば、VPCネットワークをメインモジュールと定義し、セキュリティグループやVPCエンドポイントについてはサブモジュールから呼び出すことが可能です。
(メインとしては作成したくないけど、必要な時に作成したいリソースとかをサブモジュール化すると使い勝手が良いと思います。)

次にサブモジュールを登録します。
前回作成したプライベートレジストリ下にmodules/<リソース名>を作成し.tfテンプレートを作成します。
また、テンプレートはこちらから是非参考にお願いします!!
image.png

登録が完了して利用可能であるなら、以下のようにサブモジュールを確認することができます。
image.png

次に作成したサブモジュールを呼び出しましょう。
以前のワークスペース作成 を使用しても構いませんが、ディレクトリを「02_private_registory」に変更し、
呼び出す./02_private_registory下のテンプレートはこちらになります。

image.png

サブモジュールの呼び出しは以下の通りとなります。
source 部分のレジストリの後ろに//modules/<モジュール名>と後付けすればサブモジュールを呼び出すことができます。

# サブモジュールの呼び出し
# source = 
module "network-templates" {
  source  = "app.terraform.io/atsuw0w-test-terraform/network-templates/aws//modules/security_group"
  version = "1.0.0"
}

Terraform Cloud から呼び出してみましょう。
ワークスペース内の「+New Run」ボタンから手動でplan/applyを以下のように実行してみましょう。
image.png

実行することによって、plan/applyが成功するため、サブモジュールからも呼び出すことができました。
image.png

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