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

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

【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の文字列に、数…

【AWS】RDSパラメータグループのあれこれ

今回は、RDSやAuroraのパラメータグループについて、忘れがちなところを備忘を兼ね記載致します。 ■ パラメータグループの「値」列が空白のものについて ■ パラメータグループの「送信元」列について ■ パラメータグループの「適用タイプ」列について ■ パラ…

【AWS】StepFunctionsでAutoScalingGroupのdesired_capacityとmax_sizeとmin_sizeを変更

今回は、StepFunctionsを利用したAutoScalingGroupの設定値を変更する方法についてです。 ■ はじめに ■ ゴール ■ 用途 ■ ステートマシンにアタッチするIAMロール/ポリシーについて ■ ステートマシン定義1 ■ ステートマシン定義2 ■ 補足 ■ はじめに すでにAut…

【AWS】Auroraで利用する拡張モニタリングとPerformance Insightsの違いについて

今回は、Auroraで利用する拡張モニタリングとPerformance Insightsについてです。 ■ 設定箇所について(AWSマネコン) 【拡張モニタリング】 【Performance Insights】 ■ 拡張モニタリングについて ■ Performance Insightsについて ■ 補足:拡張モニタリング…

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

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

【AWS】S3バケット内のデータをダウンロードしたい(パブリックアクセスを行いたい)

今回は、S3バケット内に保存したオブジェクトをダウンロードしたい時の記事になります。 ■ はじめに ■ 設定箇所(概要) ■ 設定箇所(詳細) S3バケットの「ブロックパブリックアクセス」を「オフ」 S3バケットの「バケットポリシー」を設定 ■ はじめに 社内…

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

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

【AWS】セッションマネージャで利用するポリシーの最小権限について

セッションマネージャでEC2に接続する際に利用するIAMポリシーについて纏めた 記事になります。 ■ 背景 ■ 2023/3時点でのAmazonSSMManagedInstanceCore ■ 本題: 最小権限 ■ 余談 ■ 背景 私がセッションマネージャを利用するときにインスタンスプロファイル…

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

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

【AWS】AuroraのS3エクスポートの種類について

今回は、Aurora(PostgreSQL)にてS3エクスポート挙動を確認した際の内容をまとめたものになります。 ■ S3へデータをエクスポートする際のパターン ■ ① Auroraクラスターから直接S3バケットへエクスポート ■ ② Auroraクラスターのスナップショットを指定して…

【AWS】ECSの各エンドポイントの説明

今回は、ECSサービスで利用する VPCエンドポイントについてです。 ■はじめに ■com.amazonaws.region.ecs-agent について ■com.amazonaws.region.ecs-telemetry について ■com.amazonaws.region.ecs について ■はじめに Amazon ECS とインターフェイス VPC エ…

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

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

【AWS】CloudFront経由でのアクセス時に「SignatureDoesNotMatch」によりアクセスが拒否される

今回は、CloudFrontのカスタムオリジンにS3バケットを指定した際に、S3オブジェクトにアクセスすると以下のように「SignatureDoesNotMatch」が出力された際の対応方法についてです。 ■ 結論 先に結論です。 冒頭の通り、「SignatureDoesNotMatch」が出た際は…

【AWS】CloudFrontのプレフィックスリストについて

今回はCloudFront利用時に使っておきたいプレフィックスリストについてです。 ■ CloudFrontのプレフィックスリストとは? ■ CloudFrontのプレフィックスリストの使いどころ ■ CloudFrontのプレフィックスリストはどこにある? ■ セキュリティグループでCloud…

【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…

【Github】GitHubActionsで利用するupload-artifactとdownload-artifact

今回は、GitHubActionsで利用するupload-artifactとdownload-artifactについてです。 どちらのアクションも便利で使い勝手もいいですが、少し注意が必要なこともあるので、備忘も兼ね記載しております。 ■はじめに ■artiafct とは ■upload-artiafct について…

【AWS】S3バケットのイベント発生を検知しSQSに通知する

今回は、「S3バケットのイベント発生を検知しSQSに通知する」です。 ■ はじめに ■ 用語説明 【イベント】 【イベント通知】 ■ 手順(概要) ■ 手順(1.S3バケットの作成) ■ 手順(2.SQSでキューの作成) ■ 手順(3.上記2で作成したキューのアクセス…

【GitHub】1つのリポジトリ内に存在する複数ブランチをローカル環境にCloneする方法

今回は、1つのリポジトリ内に存在する複数ブランチをローカル環境にCloneする方法についてです。 ■はじめに ■結論 ■はじめに 「何言ってるかわからない」となる気もするので、少し補足致します。GitHub上のリポジトリをCloneする際には、 git clone https://…

【AWS】IAMポリシーのAllow/Denyの優先度について

IAMポリシーのEffectに指定するAllow、Denyについて備忘を兼ね、まとめてみました。Allow、Denyが設定されたときの優先度についても整理しております。 ■はじめに ■はじめに、のはじめに ■結論 ■明示的な拒否(Denyが記載されている) パターン1) パターン…

【AWS】CodeDeployのデプロイ設定のタイプ(カナリア、リニア)について

CodeDeployのデプロイ設定に出てくるタイプ(カナリア、リニア)についてです。 ■はじめに ■リニアとCanary(カナリア)についての前置き ■リニアとCanary(カナリア)の違いについて ■補足: All-at-Once について ■デプロイ設定のテンプレートについて ■は…

【AWS】CodeCommitに作成したリポジトリのCloneの仕方

Codecommitに作成したリポジトリのCloneの仕方についてです。 ■はじめに ■どこに手間取ったのか ■原因 ■手順 ■はじめに Codecommitを急遽使うことになり、Cloneする際に手間取ったので備忘を兼ねてです。 ■どこに手間取ったのか Codecommitにてtestリポジト…

【AWS】RDSのメンテナンスウィンドウとメンテナンス状態について

今回はRDSのメンテナンス関連についてです。 ■はじめに ■メンテナンス状態の確認箇所 ■「メンテナンス」列の記載(ステータス)について ①必須 ②利用可能 ③次のウィンドウ ④進行中 ■「メンテナンスウィンドウ」の注意点 ■はじめに RDSのメンテナンスタイミン…

脆弱性調査時に出てくるCVSS/CVE/JVN/NVDについて

OS、ソフトウェア、ミドルウェア問わず脆弱性調査を実施する際に出てくる用語(CVSS/CVE/JVNDB/NVD)について簡単にですが備忘も兼ね、纏めております。 ■はじめに ■CVSSとは(概要) ■CVEとは(概要) ■JVNとかNVDとか ■CVSSとは(詳細) ■基本評価基準(Bas…