この記事では、Terraformの count の使い方をサンプルコードを交え記載しております。 尚、AWSリソースの作成を繰り返す方法を紹介しています。 countとは 基本的な使い方1 基本的な使い方2 count.indexの利用 条件付きでリソースを作成する countの注意点 c…
AWSリソースを作成する際、「デフォルトリージョンは東京リージョンにしておいて、DR対策とかで大阪リージョン使おう」みたいな話がよくあります。 そんなとき、「あれ?大阪リージョンへのAWSリソースの作成どうやるんだっけ?」ってことが私は何回もあった…
今回はjsonencode関数についてです。 ■ はじめに ■ サンプルコード(簡易) ■ サンプルコード(詳細) ■ はじめに jsonencode関数はTerraformのリストとマップをそれぞれJSONの配列とオブジェクトに変換します。また、Terraformの文字列はJSONの文字列に、数…
今回は、RDSやAuroraのパラメータグループについて、忘れがちなところを備忘を兼ね記載致します。 ■ パラメータグループの「値」列が空白のものについて ■ パラメータグループの「送信元」列について ■ パラメータグループの「適用タイプ」列について ■ パラ…
今回は、StepFunctionsを利用したAutoScalingGroupの設定値を変更する方法についてです。 ■ はじめに ■ ゴール ■ 用途 ■ ステートマシンにアタッチするIAMロール/ポリシーについて ■ ステートマシン定義1 ■ ステートマシン定義2 ■ 補足 ■ はじめに すでにAut…
今回は、Auroraで利用する拡張モニタリングとPerformance Insightsについてです。 ■ 設定箇所について(AWSマネコン) 【拡張モニタリング】 【Performance Insights】 ■ 拡張モニタリングについて ■ Performance Insightsについて ■ 補足:拡張モニタリング…
今回はpath.module と path.rootについてです。 ■ はじめに ■ path.module について ■ path.root について ■ はじめに terraformコード内で何かしらのファイルを参照したり独自作成のテンプレートを参照するときに利用するのがpath.module , path.root です…
今回は、S3バケット内に保存したオブジェクトをダウンロードしたい時の記事になります。 ■ はじめに ■ 設定箇所(概要) ■ 設定箇所(詳細) S3バケットの「ブロックパブリックアクセス」を「オフ」 S3バケットの「バケットポリシー」を設定 ■ はじめに 社内…
今回はnullについてです。 ■ はじめに ■ null とは ■ null の利用パターン ■ はじめに 「null」・・・。 なんとなく、意味はわかるけどきちんと調べたことがなかった(もしかしたら調べるほどのものでもないのかもしれないけど)、私は調べたので、、、ここ…
セッションマネージャでEC2に接続する際に利用するIAMポリシーについて纏めた 記事になります。 ■ 背景 ■ 2023/3時点でのAmazonSSMManagedInstanceCore ■ 本題: 最小権限 ■ 余談 ■ 背景 私がセッションマネージャを利用するときにインスタンスプロファイル…
今回はterraform の for と for_each の違いについてです。 ■ はじめに ■ for_each について ■ for について ■ for について(タプル生成) ■ for について(オブジェクト生成) ■ はじめに for と for_each は全くの別物です。 ただ、for_each にfor〜がつ…
今回は、Aurora(PostgreSQL)にてS3エクスポート挙動を確認した際の内容をまとめたものになります。 ■ S3へデータをエクスポートする際のパターン ■ ① Auroraクラスターから直接S3バケットへエクスポート ■ ② Auroraクラスターのスナップショットを指定して…
今回は、ECSサービスで利用する VPCエンドポイントについてです。 ■はじめに ■com.amazonaws.region.ecs-agent について ■com.amazonaws.region.ecs-telemetry について ■com.amazonaws.region.ecs について ■はじめに Amazon ECS とインターフェイス VPC エ…
今回は、MapとObjectの違いについてです。 ■ はじめに Map: Type Constraints - Configuration Language | Terraform | HashiCorp Developer Object: Type Constraints - Configuration Language | Terraform | HashiCorp Developer ■ わかりにくいところ Ma…
今回は、CloudFrontのカスタムオリジンにS3バケットを指定した際に、S3オブジェクトにアクセスすると以下のように「SignatureDoesNotMatch」が出力された際の対応方法についてです。 ■ 結論 先に結論です。 冒頭の通り、「SignatureDoesNotMatch」が出た際は…
今回はCloudFront利用時に使っておきたいプレフィックスリストについてです。 ■ CloudFrontのプレフィックスリストとは? ■ CloudFrontのプレフィックスリストの使いどころ ■ CloudFrontのプレフィックスリストはどこにある? ■ セキュリティグループでCloud…
今回はdynamicブロックについてです。 ■はじめに dynamicブロックの公式ページは以下です。 Dynamic Blocks - Configuration Language | Terraform | HashiCorp Developer ■dynamicブロックで何ができるのか? 私がdynamicブロックについて調べている際、「…
今回は、terraformでヒアドキュメントを利用する際の<<と<<-の違いについてです。 ■背景 ■結論 ■何故? ■背景 IAMポリシーを作成する際、<<を利用してterraform planを行うと以下の通りエラーが出力される。 【コード】 【terraform plan結果】 "policy "に…
今回はリストを処理する際に利用するlength関数とelement関数とindex関数についてです。 ■はじめに length - Functions - Configuration Language | Terraform | HashiCorp Developer element - Functions - Configuration Language | Terraform | HashiCorp…
今回は、keys関数とvalues関数についてです。 ■はじめに terraformでMapを利用していると、「Mapの中のKeyだけ取得したい」「Mapの中のValueだけ取得したい」という場面があります。 そんな時に利用するのが、 keys - Functions - Configuration Language | …
今回はlookup関数についてです。 ■ lookup 関数とは map のキーを指定してバリューを取り出すことができます。 lookup - Functions - Configuration Language | Terraform | HashiCorp Developer ■ 実例 locals { vpcs2_map = { "dev1" = "10.20" "dev2" = "…
terraformのfor_eachについてです。 ■ for_eachとは(公式サイト) ■ for_eachとは(toset利用時) ■ toset 、 each.key について ■ toset について ■ each.key について ■ for_eachとは(map利用時) ■ for_eachとは(公式サイト) The for_each Meta-Argum…
今回は、GitHubActionsで利用するupload-artifactとdownload-artifactについてです。 どちらのアクションも便利で使い勝手もいいですが、少し注意が必要なこともあるので、備忘も兼ね記載しております。 ■はじめに ■artiafct とは ■upload-artiafct について…
今回は、「S3バケットのイベント発生を検知しSQSに通知する」です。 ■ はじめに ■ 用語説明 【イベント】 【イベント通知】 ■ 手順(概要) ■ 手順(1.S3バケットの作成) ■ 手順(2.SQSでキューの作成) ■ 手順(3.上記2で作成したキューのアクセス…
今回は、1つのリポジトリ内に存在する複数ブランチをローカル環境にCloneする方法についてです。 ■はじめに ■結論 ■はじめに 「何言ってるかわからない」となる気もするので、少し補足致します。GitHub上のリポジトリをCloneする際には、 git clone https://…
IAMポリシーのEffectに指定するAllow、Denyについて備忘を兼ね、まとめてみました。Allow、Denyが設定されたときの優先度についても整理しております。 ■はじめに ■はじめに、のはじめに ■結論 ■明示的な拒否(Denyが記載されている) パターン1) パターン…
CodeDeployのデプロイ設定に出てくるタイプ(カナリア、リニア)についてです。 ■はじめに ■リニアとCanary(カナリア)についての前置き ■リニアとCanary(カナリア)の違いについて ■補足: All-at-Once について ■デプロイ設定のテンプレートについて ■は…
Codecommitに作成したリポジトリのCloneの仕方についてです。 ■はじめに ■どこに手間取ったのか ■原因 ■手順 ■はじめに Codecommitを急遽使うことになり、Cloneする際に手間取ったので備忘を兼ねてです。 ■どこに手間取ったのか Codecommitにてtestリポジト…
今回はRDSのメンテナンス関連についてです。 ■はじめに ■メンテナンス状態の確認箇所 ■「メンテナンス」列の記載(ステータス)について ①必須 ②利用可能 ③次のウィンドウ ④進行中 ■「メンテナンスウィンドウ」の注意点 ■はじめに RDSのメンテナンスタイミン…
OS、ソフトウェア、ミドルウェア問わず脆弱性調査を実施する際に出てくる用語(CVSS/CVE/JVNDB/NVD)について簡単にですが備忘も兼ね、纏めております。 ■はじめに ■CVSSとは(概要) ■CVEとは(概要) ■JVNとかNVDとか ■CVSSとは(詳細) ■基本評価基準(Bas…