継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

Terraform

Aurora AutoScaling をスケジュール実行するために Terraform で設定する

タダです. Aurora AutoScaling をスケジュール実行したいことありますよね.AWS CLI でもできますが,Terraform で設定をしてみたのでこの記事でまとめます. sadayoshi-tada.hatenablog.com Terraform のコード AutoScaling のスケジュール設定は aws_appautos…

Terraform で CloudFront の署名付き URL をやるための設定をまとめる

タダです. CloudFront の署名付き URL を使う機会があり,Terraform で関連設定を行ったことを書いていきます.今までは S3 の署名付き URL しか使ったことがなかったため備忘録としてこの記事にまとめていきます. docs.aws.amazon.com Terraform のコード Clo…

Terraform を使って CloudFront の Managed Prefix List を使って ALB アクセスを定義する

タダです. CloudFront からのネットワークアクセスを制御する方法として Managed Prefix を使って ALB のセキュリティグループでコントロールするのを Terraform でやってみたのでまとめます. aws.amazon.com Managed Prefix List を扱う Terraform のコード…

Datadog の Watchdog モニターを Terraform で作る

タダです. 前回の記事で Datadog の Watchdog モニター作る話を書きました.この記事はその続きで,Watchdog のモニターを Terraform で作っていきます. sadayoshi-tada.hatenablog.com Terraform で Watchdog モニター作成のためのコード 今回は Watchdog の …

terraform で AWS の SSO 認証ができない事象の対処法

タダです. AWS で SSO 認証で取得したクレデンシャルを使って terraform を実行した時に下記のエラーがでました.このエラーに対処する方法について本記事にまとめます. Error: error configuring S3 Backend: Error creating AWS session: profile "hoge" is…

Terraform で IAM Identity Center のCustomer Managed Policies を定義する

タダです. IAM Identity Center(旧 AWS SSO)で Customer Managed Policies を Terraform で定義して使うようにする機会があったのでこの記事に備忘録でまとめます. Customer Managed Policies とは Terraform で Customer Managed Policies で扱う 1. メンバ…

Terraform で IAM Identity Center のカスタムロール追加とグループの関連付けを行う

タダです. タイトルの通り Terraform で IAM Identity Center のカスタムロール作成とロールのグループ関連付けを行う機会があり,学びもあったので記事にしていきます. Terraform のコード 関連情報 まとめ Terraform のコード 具体的なコードは下記でカスタ…

AWS Cost Usage Report を定期的に Storage Transfer Service で Google Cloud Service に転送するのを Terraform で設定する

タダです. 以前の記事で AWS Cost Usage Report (以下,Cost Usage Report )を BigQuery にロードして Locker Studio で可視化したのですが,この記事では手動オペレーションになっていた AWS -> GCS へのデータを連携する部分の仕組み化と Terrafrom としてコ…

AWS Config の変更記録を除外するリソース登録を Terraform でやってみた

タダです. 以前の記事で AWS Config でリソース変更履歴を追跡しないよう除外できるようになったのをまとめていきましたが,当時 Terraform の対応がされていませんでした.が,Terraform Provider AWS のバージョン 5.5.0 で対応されました.この記事ではリソー…

Terraform AWS Provider で初めて Provider がクラッシュする事態に遭遇した時の対処をまとめる

タダです. Terraform AWS Provider の 5.3.0,5.4.0 で OpenSearch Serverless のリソースが対応するようになりました.そこでリソースを作ってみた後, terraform plan を実行した時に Error: The terraform-provider-aws_v5.4.0_x5 plugin crashed! とメッセ…

Terraform で Aurora のインスタンスタイプを変更しようとしたら反映されなかった時の対応

タダです. Terraform で Aurora のインスタンスタイプを変更しようとした時に terraform apply は成功しているが,Aurora のインスタンスタイプが変更されてなかった場面に遭遇したので対処をまとめておきます. 事象概要 本事象の対応まとめ 関連情報 まとめ …

Terraform を使って Azure のリソースグループを作る

タダです. Azure を触る機会が増えそうかつ Terraform を使った管理をする必要があるため,備忘録としてこの記事では Azure のリソースグループを Terraform で作ってみた内容をまとめていきます. 事前準備 関連情報 リソースグループ作成のコード作成と適用 …

Terraform で SQS のメインキューとデッドレターキューを同時に作成する時ハマったことと解決策をまとめる

タダです. SQS で非同期処理を作ろうとするときにセットで非同期処理をリトライできるようにデッドレターキューを作ることがあると思います.Terraform でデッドレターキューを作る時にハマったことがあり,その経験から次にこうすれば Terraform でデッドレタ…

EventBridge Scheduler で Lambda にパラメーターを渡してスケジュール実行する

タダです. 昨年末に EventBridge の新機能で EventBridge Scheduler がでました.この機能を使って Lambda にパラメーターを渡して実行してみます. aws.amazon.com EventBridge Scheduler とは EventBridge Scheduler で実行する Lambda の準備 Terraform で …

MySQL の構成管理を Terraform で行う

タダです. RDS MySQL でのユーザーやデーターベース管理を Terraform でやりたいと思い,MySQL Provider を使ってみたのでこの記事にまとめていきます. MySQL Provider について Provider の設定 terraform plan/apply の実行 Terraform の定義 GitHub Action…

Reusable workflows に Terraform 実行に必要な Secrets を渡す

タダです. GitHub Actions の Reusable workflows を使って,terraform plan をすることがあったのですが,その際に GitHub Actions に設定した Secrets を渡す必要がありました.他にも Reusable workflows を使う Actions はあるため,Secrets が渡されたとき…

Terraform で IAM Identity Center のインラインポリシーを設定した

タダです. IAM Identity Center(旧 AWS SSO)でカスタムポリシーを Terraform で設定したので備忘録でこの記事にまとめます. Terraform のコード 参考ドキュメント 生成されたポリシー まとめ Terraform のコード 読み取り権限として ViewOnlyAccess ポリシー…

AWS WAF で特定条件でブロックされたリクエストの発生でアラートを飛ばす

タダです. AWS WAF のログを Datadog に送って運用している中で,特定条件でブロックされたリクエストがあったらアラートを飛ばしたいとなり,Terraform でコード化したのでこの記事でまとめます. 特定条件について Datadog のモニター設定 まとめ 特定条件に…

Terraform で Aurora の拡張モニタリングを特定環境で設定する

タダです. Aurora の拡張モニタリングを有効化した時に Terraform を使って行ったのですが,特定の環境にのみ適用させる設定しました.その設定を試した結果をこの記事にまとめます. 事前準備 拡張モニタリングの有効化 関連情報 まとめ 事前準備 今回は dev …

AWS Lambda のデプロイを Terraform で行う

タダです. Terraform で Lambda のデプロイをはじめてやったので,備忘録として記事に書いておきます. Terraform のコード まとめ Terraform のコード Terraform のコードは以下のように書きました.Lambda のコードは Node.js を書いたのですが,lambda/hoge …

terraform-provider-aws v4.9.0 のリリースで破壊的な S3 の変更がなくなったと聞いたので試してみた

タダです. terraform-provider-aws の v4 で S3 リソースの変更をどうやって行くかなと思っていた頃に v4.9.0 で S3 の破壊的変更がなくなったという話がでてきたので,試した内容をまとめていきます. resource/aws_s3_bucket: The acceleration_status, acl,…

Terraform AWS Provider v3 -> v4 へ移行するのに役立つツール『tfrefactor』を試してみる

タダです. Terraform AWS Provider の v4 が出てきたことでバージョンアップされた方も多いと思います.v4 へのバージョンアップでは S3 周りの変更が多く苦労するという情報が見かけられ,その変更をサポートするツールとして tfrefactor が紹介されてたので…

Datadog で NO DATA ステータスを通知するオプションを調べた

タダです. Datadog を監視として使っているのですが,監視として集めているデータが上がってこない時に NO DATA となりアラートも発報しなかったりと監視に置いて困る状況になります.そこで,NO DATA になっているものがあったら通知するようにする方法を調べ…

条件ごとで Terraform によるリソース作成を行う

タダです. ここ最近は Terraform で学ぶことが多いため,今回もそんな記事です.今回は例えば,開発であればリソースを作らないやパラメーターを変える,本番であればこのパラメーターをセットするといった条件に応じたリソース作成を行うための小ネタを学んだの…

Terraform の差分を解消するためにローカルで tfstate を修正する

タダです. やったことないオペレーションで S3 で管理している Terraform の tfstate をローカルで変更する作業を経験したので備忘録として記事に残しておきます. 前提 行ったオペレーション 1,tfstate をローカルに持ってくる 2,tfstate を編集する 3,リモ…

カスタムルールを設定して Terraform のコードを tfsec で解析する

タダです. 業務の中で tfsec を使う機会があり,tfsecを使って,デフォルトのルールにない条件で解析を行うような仕組み化をやったのでこの記事でどういうことをやったのかをまとめていきます. github.com tfsec とは tfsec の導入 tfsec 実行 カスタムルール…

Terraform で Secrets Manager に登録するレコードをコード内に直書きせず保存する

タダです. プログラムで使うトークンや DB 接続情報,鍵情報といった秘匿情報を Secrets Manager に入れています.Secrets Manager に保管してる情報を Terraform で管理しようとした時コードで直書きし,GitHub などで管理するのはリスキーなので別の方法を探…

AWS のリソースを Terraform ファイルに変換する『aws2tf』を使ってみる

タダです. AWS のリポジトリを見ていたら aws2tf というツールを見つけました. Terrafrom を使ってのリソース管理をし始めたのでどんな動きをするかを知りたくてこのツールを使ってみることにしました.この記事で aws2tf のツールをさらっていければと思いま…

AWS での Terraform とコンテナの開発・デプロイを体感する『コンテナ時代のWebサービスの作り方』を読んだ

タダです. コンテナでアプリを動したり,その環境を Terraform で構成する経験を積んでいきたいと思い「コンテナ時代のWebサービスの作り方」を購入しました.本書を読了したので,学べることと所感をまとめていきます. Booth booth.pm 目次 本書で学べること …

複数アカウントや環境の切り替えに Terraform の WorkSpaces を使ってみた

タダです. 最近,Terraform を業務で使ったのですがデプロイする環境が複数の AWS アカウントでした.同じコードをアカウントを変えてデプロイすることを初めてやってみてわかったのが tfstate ファイルを最初のデプロイ以降に Terraform 側でデプロイするたび…