AWS 基礎 08

RDSを最奥の金庫として置く

RDSはアプリが使うデータ層で、インターネットに公開しません。配置・接続許可・DB設定を別々の部品として読むと、構成の意図が見えます。

TL;DR

  1. RDSはprivate側の永続データ層
  2. 接続元をECSのSecurity Groupに絞る
  3. subnet group・SG・parameter groupで支える

01DBは最奥に置く

公開の入口から、処理層を挟んで初めて到達する。

ALB、ECS、RDSを段階的に分離した構成
DBを直接公開せず、アプリを経由して使う。

RDSはアプリの永続データ層。教材では、作成済みVPCとDB subnet groupを指定してRDSを配置する。外部クライアントがRDSへ直接つなぐ経路は作らない。

経路: 利用者 → ALB → ECS API → RDS。DBはAPIの背後に隠す。

02RDS本体を支える3点セット

置き場、鍵、設定をRDSインスタンスから分離する。

RDSをDB subnet group、Security Group、Parameter Groupで支える図
RDSの周辺設定に責務を分ける。
部品何を決めるか
DB subnet groupRDSを配置するVPC内・複数AZのsubnet
Security GroupDBへ到達できる通信元とポート
Parameter GroupPostgreSQLなどDBエンジンの設定

デフォルトのparameter groupは変更できないため、教材ではカスタムparameter groupを使う理由を説明している。

03許可はECSからRDSへ一点で与える

DBのSecurity Groupは、広いIP許可ではなくアプリのSecurity Groupを送信元にする。

ECSのSecurity GroupだけがRDS Security Groupで許可される図
誰でも到達できるDBではなく、アプリだけが接続できるDBにする。
確認点: RDS接続はネットワークの表門。RDS Security GroupでECS Task側のSecurity Groupを許可する。
学習用の設定実務で考えること
単一インスタンス・コストを意識可用性、バックアップ、保守、停止方針
教材のVPCに配置本番要件に合うネットワークと運用設計

結論

  1. RDSは公開せず、ECSからだけ到達させる。
  2. DB subnet group、Security Group、Parameter Groupの3役を分けて理解する。
  3. DB接続の可否はRDS側Security Groupの送信元許可で確認する。