AWS 基礎コース / Chapter 04

AWSアカウントを「環境の境界」として設計する

アカウント分離は請求を分けるためだけではない。事故の影響範囲を小さくし、誰がどの環境を操作できるかを一本化する設計である。

TL;DR

  1. 環境名は短く一貫して命名し、リソース名・ドメイン・IaCの認知負荷を下げる。
  2. Organizationsでstgとprdを別アカウントに置くと、権限と障害の境界を明確にできる。
  3. Identity Centerで人のログインと権限セットを管理し、個別IAMユーザーに依存しない。

01名前を環境の識別子として固定する

人が読む名前と自動化が扱う名前をずらさない

環境名をリソース名とドメインで統一する図
環境名を一つの語彙に揃えると、構成全体を横断して追える。

環境名を三文字のサフィックスなどに統一すると、リソース名、サブドメイン、Terraformの変数で同じ意味を保てる。後から表記揺れを直すコストを避ける基礎設計だ。

命名は見た目の問題ではない。操作対象を取り違えないための安全装置である。

02Organizationsで環境を物理的に分ける

stgとprdはタグや名前ではなくアカウントで隔てる

AWS Organizationsでstgとprdを分ける図
環境の分離をアカウント境界に置くと、影響範囲が明確になる。

Organizationsで管理アカウントの下にstg・prdのメンバーアカウントを作る。片方の環境で誤操作しても、もう片方のリソースは別のアカウントにあるため同じ権限では触れない。

アカウント分離は「本番だけ特別に注意する」運用ではなく、普段から越境しにくい構造を作る方法である。

03人のアクセスはIdentity Centerへ集約する

誰にどのアカウントの何を許すかを中央で追えるようにする

IAM Identity Centerでユーザーにアカウント権限を付与する図
認証する人と、許可される操作を分けて管理する。

Identity Centerにユーザーを置き、アカウントごとに権限セットを割り当てる。個別のアクセスキーやIAMユーザーを増やすより、入退室の管理を一箇所で確認しやすい。

管理アカウントへの日常ログインを減らし、必要な環境へ必要な権限だけを渡す。

結論

  1. 命名・アカウント・認証を同時に整えると環境境界が明確になる。
  2. stgとprdを分ける理由は、事故と権限の影響範囲を分けるため。
  3. 人のアクセスはIdentity Centerを起点に追えるようにする。