mito’s blog

IT技術メインの雑記。思い立ったが吉日。

Terraform

Terraform Provider for Ansible「resource "ansible_playbook"」を試してみた

terraform Advent Calendar 2023 の11日目の記事です。 はじめに 気になっていた Terraform Provider for Ansible をこの機に試してみました。 今回の対象は resource "ansible_playbook" です。 Terraform Registry GitHub - ansible/terraform-provider-an…

[Ansible X Terraform] Terraform Provider for Ansible 「resource "ansible_host"」を触ってみた

この記事は、Ansible Advent Calendar 2023 の3日目のエントリです。 はじめに 気になっていた Terraform Provider for Ansible をこの機に触ってみました。 Terraform Registry GitHub - ansible/terraform-provider-ansible: community terraform provider…

[Ansible][Terraform]AnsibleとTerraformのModuleの違い

AnsibleとTerraformには、Moduleと呼ばれる機能があります。 ただし、名前が同じなだけで内容は異なります。 概要 Ansible Terraform コードの要素 Module タスクの単位 Resource リソースの単位 再利用可能なコードの単位 Role タスクの集合 Module リソー…

[Terraform][AWS]Terraformで作成したSecrets ManagerとParameter Storeのtfstateにおける違い

結論 terraformで以下のリソースを作成し、手動などでシークレットの値を更新した後、再度terraformコマンドを実行すると、 Secrets Manager terraform refreshをしても、tfstateに変更はありません。 terraform applyをしても、changedになりません。 Param…

[Terraform] 関数を使って、年月日時分秒をユニークな文字列として扱う

この記事は、カサレアル Advent Calendar 2022 の19日目のエントリです。 はじめに ユニークな文字列が欲しかったので、年月日時分秒を取得し文字列にしました。 以下の関数を組み合わせます。 timestamp - Functions - Configuration Language | Terraform …

[Ansible x Terraform] local-execでPlaybookを実行してみた

この記事は、Ansible Advent Calendar 2022 の2日目のエントリです。 はじめに 今回はAnsibleのTerraformモジュールを使うのではなく、TerraformでEC2インスタンスを作成し、local-execでPlaybookを実行してパッケージをインストールします。 AnsibleのAmazo…

[Ansible x Terraform] TerraformでKeyPairの作成やAmazon Secrets ManagerにKeyPairを登録し、Ansibleで利用する

この記事は、カサレアル Advent Calendar 2022 の2日目のエントリです。 はじめに TerraformでEC2インスタンスやKerPairなどのリソースを作成し、それをAnsibleで活用します。 以下の流れで試します。 [Terraform] EC2インスタンスやSSHキー(KeyPair)などの…

[Ansible 2.13] Terraformモジュールを使う際に気を付けるポイント

はじめに AnsibleでTerraformモジュールを使った際に、気を付けるポイントを書き留めておきます。 以下にはまりました。 Terraformのoutputの変数名にハイフンを使用していたため、Ansibleで呼び出せずエラーになった。 原因はTerraformでは変数名にハイフン…

[Ansible] Terraformモジュールを使って、terraform applyを実行する

はじめに AnsibleとTerraformを組み合わせると楽できそうだったので、AnsibleのTerraformモジュールを使ってみました。 community.general.terraform module – Manages a Terraform deployment (and plans) — Ansible Documentation terraformとansibleを機…

[Terraform]モジュールで定義した変数を参照する

はじめに モジュールで定義した変数を参照するには、outputで定義する必要があります。 先日同僚から教わった、分かりやすいたとえがこちらです。 モジュールはそれ単体が一つの独立したTerraform、あるいはアプリケーションだと思っていただくとイメージし…

[Snyk][Terraform] Snykで実リソースとtfstateファイルの差分を検出してみた

はじめに 実リソースとコードの差異を検出することをドリフト検出と言うそうです。 今回は、Terraformで作成したAWSリソースとtfstateファイルの差異を検出します。 Snykで試したかったことがこれです! まとめ ドリフト検出を試して、おおむね満足のいく結…

[Terraform] terraform consoleで変数の値を確認したり、関数を使ってみる

はじめに apply後の確認に使ったり、関数の検証に使用しています。 terraform console 変数の値や式の結果を確認することができます。 Command: console | Terraform by HashiCorp aws_instanceの情報を確認する Consoleから確認することが手間なときや、ほ…

Terraformに入門、AWS EC2でインスタンスを立てた

この記事は、Terraform Advent Calendar 2021 23日目のエントリです。 はじめに Terraformは名前だけ知ってました。なお、Windows端末で立てていきます。 まとめ Terraformでガワを作って、Ansibleで中身整えるで良さそう。 あと勉強しながらこの記事を書い…