自由気ままに書いちゃおう

好きなことをつらつらと・・・

terraform

【Terraform】(初心者向け)よく使う関数とメタ引数_その2

以下記事の続きとなり、その2です。 www.guri2o1667.work よく使うfunction/MetaArguments 1.endswith 2.startswith 3.format 4.merge 5.lower / uppper 6.regex / regexall 7. replace 8.substr 9. trim / trimprefix / trimsuffix / trimspace 10. can 11.…

【Terraform】(初心者向け)よく使う関数とメタ引数_その1

Terraformを使う上で利用頻度が多い関数(function)とメタ引数(MetaArguments)を独断と偏見でピックアップしたものです。 チートシート的な役割で自分の備忘になればという内容です。 整理すると思いの外たくさん使っていたみたいなので、本記事は1回目で…

【Terraform】(初心者向け)countで作成したリソースをoutputする

今回は、countで生成したresourceをoutputする際の方法を2つ記載しております。 はじめに コードの説明 outputについて パターン1: oneを使う パターン2: tryを使う はじめに 今回の記事内で利用するTerraformコードを記載いたします。 variable "vpc_id…

【Terraform】(初心者向け)forとfor_eachの違いについて_2

すごい時間が経ってしまいましたが、以下記事の続きです。 www.guri2o1667.work forとfor_eachの記事というよりは、タプルとオブジェクトの記事になっています。。。 tuple(タプル)とは? object(オブジェクト)とは? タプルとオブジェクトの違い タプルを利…

【Terraform】(初心者向け) values関数を使って値だけを取り出す

今回は、values式についてです。 values式について values関数とfor式の組み合わせについて 1. EC2の作成 2. Amazon S3バケットの作成 3. Amazon RDSデータベースの作成 4. サブネットの作成 注意点 values式について https://developer.hashicorp.com/terra…

【Terraform】(初心者向け) countを使って繰り返す

この記事では、Terraformの count の使い方をサンプルコードを交え記載しております。 尚、AWSリソースの作成を繰り返す方法を紹介しています。 countとは 基本的な使い方1 基本的な使い方2 count.indexの利用 条件付きでリソースを作成する countの注意点 c…

【Terraform】(初心者向け)別リージョンにAWSリソースを作成したい

AWSリソースを作成する際、「デフォルトリージョンは東京リージョンにしておいて、DR対策とかで大阪リージョン使おう」みたいな話がよくあります。 そんなとき、「あれ?大阪リージョンへのAWSリソースの作成どうやるんだっけ?」ってことが私は何回もあった…

【Terraform】(初心者向け)jsonencode関数について

今回はjsonencode関数についてです。 ■ はじめに ■ サンプルコード(簡易) ■ サンプルコード(詳細) ■ はじめに jsonencode関数はTerraformのリストとマップをそれぞれJSONの配列とオブジェクトに変換します。また、Terraformの文字列はJSONの文字列に、数…

【Terraform】(初心者向け)path.moduleとpath.rootについて

今回はpath.module と path.rootについてです。 ■ はじめに ■ path.module について ■ path.root について ■ はじめに terraformコード内で何かしらのファイルを参照したり独自作成のテンプレートを参照するときに利用するのがpath.module , path.root です…

【Terraform】(初心者向け)null の使い方について

今回はnullについてです。 ■ はじめに ■ null とは ■ null の利用パターン ■ はじめに 「null」・・・。 なんとなく、意味はわかるけどきちんと調べたことがなかった(もしかしたら調べるほどのものでもないのかもしれないけど)、私は調べたので、、、ここ…

【Terraform】(初心者向け)forとfor_eachの違いについて_1

今回はterraform の for と for_each の違いについてです。 ■ はじめに ■ for_each について ■ for について ■ for について(タプル生成) ■ for について(オブジェクト生成) ■ はじめに for と for_each は全くの別物です。 ただ、for_each にfor〜がつ…

【Terraform】(初心者向け)MapとObjectの違いについて

今回は、MapとObjectの違いについてです。 ■ はじめに Map: Type Constraints - Configuration Language | Terraform | HashiCorp Developer Object: Type Constraints - Configuration Language | Terraform | HashiCorp Developer ■ わかりにくいところ Ma…

【Terraform】(初心者向け)dynamic ブロックについて

今回はdynamicブロックについてです。 ■はじめに dynamicブロックの公式ページは以下です。 Dynamic Blocks - Configuration Language | Terraform | HashiCorp Developer ■dynamicブロックで何ができるのか? 私がdynamicブロックについて調べている際、「…

【Terraform】(初心者向け)ヒアドキュメントの<<と<<-の違いについて

今回は、terraformでヒアドキュメントを利用する際の<<と<<-の違いについてです。 ■背景 ■結論 ■何故? ■背景 IAMポリシーを作成する際、<<を利用してterraform planを行うと以下の通りエラーが出力される。 【コード】 【terraform plan結果】 "policy "に…

【Terraform】(初心者向け)リストで使うlength関数とelement関数とindex関数について

今回はリストを処理する際に利用するlength関数とelement関数とindex関数についてです。 ■はじめに length - Functions - Configuration Language | Terraform | HashiCorp Developer element - Functions - Configuration Language | Terraform | HashiCorp…

【Terraform】(初心者向け)MapのKeyとValueをそれぞれ取得する

今回は、keys関数とvalues関数についてです。 ■はじめに terraformでMapを利用していると、「Mapの中のKeyだけ取得したい」「Mapの中のValueだけ取得したい」という場面があります。 そんな時に利用するのが、 keys - Functions - Configuration Language | …

【Terraform】(初心者向け)lookupの使い方

今回はlookup関数についてです。 ■ lookup 関数とは map のキーを指定してバリューを取り出すことができます。 lookup - Functions - Configuration Language | Terraform | HashiCorp Developer ■ 実例 locals { vpcs2_map = { "dev1" = "10.20" "dev2" = "…

【Terraform】(初心者向け)for_eachの使い方(実例つき)

terraformのfor_eachについてです。 ■ for_eachとは(公式サイト) ■ for_eachとは(toset利用時) ■ toset 、 each.key について ■ toset について ■ each.key について ■ for_eachとは(map利用時) ■ for_eachとは(公式サイト) The for_each Meta-Argum…

【Terraform】(初心者向け)localsとvariableの使い分けについて

localsとvariableの違いについて記載致します。 ■動作確認のTerraformバージョンについて ■事の経緯 ■はじめに ■localsとvariableの定義 ■localsとvariableは何が違うのか1:特徴 【locals】 【variable】 ■localsとvariableは何が違うのか2:参照範囲 【l…