AWS IoT RuleとTerraformを使い、ローカルコンテナからPublishしたMQTTメッセージをCloudWatch Logsへ保存する最小構成を検証した記事。IoT Rule・IAM Role/Policy・Log groupの3要素で経路を構成し、IoT SQLでpayloadとtopic階層からThing名を抽出してログイベントとして保存する手順とTerraformコードを紹介している。
AWSのdefault DBサブネットグループをTerraformのimportブロックで取り込もうとするとname="default"が原因で"Default" is not allowed as "name"エラーが発生する。原因はTerraform AWS Provider(およびRDS API仕様)がname値としてdefaultを禁止しているためで、nameを省略してimportすると成功しdescription更新等の管理も可能になるが、意図しない挙動のため推奨はできず、defaultサブネットグループに依存しない構成が望ましいとまとめている。
LocalStackのライセンス変更を受け、MITライセンスのFlociを使ってローカル環境でAWSを模擬し、Terraform・AWS CLIをDockerで構築する方法を紹介する記事。
IAM Policy Autopilot 0.3.0 で追加された Terraform plan 結果から IAM ポリシーを生成する機能を検証した記事。SQS キューと Lambda 関数の作成・削除それぞれの plan/plan-destroy から最小権限ポリシーの「ベースライン」を生成できることを確認し、Lambda の例では不要な権限(iam:TagUser 等)や Resource が "*" になる箇所を Warnings 機能が指摘する挙動も紹介している。
TerraformのAWSエミュレータFlociを使い、ECS+RDS構成で7種類のインフラ設定ミスがローカル検証できるか検証した記事。DBホスト名/ポート誤りや循環参照は検出できたが、セキュリティグループのingress不足、SSL必須設定、ルートテーブル誤り、IAMロール不足(ECS経由)、デッドロックは再現できなかった。エミュレータが再現するのはAPIレスポンス(コントロールプレーン)のみで、ネットワーク制御や料金等のデータプレーン・非機能面は再現されない。TrivyやCheckovなどの静的解析も既定ルールでは同様のケースを検出できず、terraform validateやカスタムポリシーの併用が有効と結論づけている。