IaC・基盤設計
この主題を扱う記事
TerraformによるIAM一括管理 ─ ロール集約とポリシー設計の実践
プロジェクトで使用するIAMロール・ポリシー・ユーザー・グループをTerraformで一括管理する設計パターンを解説する。マネージドポリシーとインラインポリシーの使い分け、AWSクォータを踏まえた設計判断を紹介する。
IAMとSecurity Group ─ 2つのアクセス制御レイヤーの設計
AWSにおけるアクセス制御はIAM(API操作レベル)とSecurity Group(ネットワーク通信レベル)の2レイヤーで構成される。アクセス先のサービスによってどちらが効くかが異なる。それぞれの役割の違いと、Terraformで一括管理する際の共通設計パターンを解説する。
構成の出力を画面の契約にする ─ Terraformのモジュール群とCloudscapeで作る運用管理画面
運用管理画面にサービス名やARNを書くと、構成が変わるたびに画面の修正が要る。Terraformがモジュールの出力から接続情報を組み立ててLambdaへ渡し、画面は情報の形と状態の語彙だけを知る構成にすると、サービスやリソースの増減に画面を直さずに追従できる。CDの進捗をデプロイ方式ごとの段階で見せる設計、権限の導き方、AIが開発しやすい構造としての位置づけを解説する。
TerraformによるSecurity Group一括管理 ─ Security Group ID参照による通信許可設計
Security Groupを一括管理し、リソース間の通信許可をSecurity Group IDの参照で設計するパターンを解説する。IPアドレスに依存せず、公開する入口を必要最小限に絞るネットワークアクセス制御の実践を紹介する。
Webサービスを運用し続けるためのTerraform設計 ─ AWSのサービスを目的の単位で組み替える
AWSのサービスを組み合わせるたびに設計をやり直すと、プロジェクトごとに作りがばらつく。ECSを中心とするWebサービスを運用し続けるという目的の単位でTerraformを組み替え、環境ごとの記述を「宣言と配線」に絞る設計の考え方と、それを支える規則・品質の担保・運用の循環を解説する。
