RDSの位置づけ・ネットワーク・ストレージの基礎
マネージドRDSとEC2上の自己構築の違い、エンジン選択の考え方、ACID、ストレージタイプ、パブリック/プライベート接続を整理します。
学習順Step 52 / 61サービスDB試験ドメイン弾力性
RDS(Relational Database Service)とは
RDSは、MySQL、PostgreSQL、MariaDB、Oracle、SQL Server、Amazon Aurora(別系統だがコンソール上は RDS ファミリー)などのリレーショナルエンジンを、AWS がプロビジョニング・パッチ適用・バックアップ・メンテナンスウィンドウまで含めて運用しやすくするマネージドサービスです。
EC2 に DB を自前インストールするアンマネージド構成と比べると次の対比が試験に効きます。
| 観点 | EC2 自前 DB | RDS |
|---|---|---|
| OS/ファイルシステム | SSH 可能、任意チューニング | SSH 不可。提供範囲のパラメータグループで調整 |
| パッチ | 自分で計画 | メンテナンスウィンドウで適用(停止・フェイルオーバーが伴うことがある) |
| バックアップ | 自作 | 自動バックアップ・スナップショットが標準機能 |
| スケール | 自分で設計 | インスタンスクラス変更・ストレージ拡張・レプリカなどが用意される |
トランザクションと ACID(概要)
リレーショナル DB のトランザクションは、試験でも名前が出る ACID で整理すると理解しやすいです。
- 原子性(Atomicity) … まとめた処理がすべて成功するか、まったく反映されないか。
- 一貫性(Consistency) … 制約を満たした矛盾のない状態が保たれること。
- 分離性(Isolation) … 同時実行しても互いの中間状態が見えないように制御できること。
- 永続性(Durability) … コミット後の結果が障害後も失われないこと。
RDS の主な制約(試験の「正しくない記述」対策)
マネージドである代償として、次のような制限が問題文に出ます(細部はエンジン・世代で変わるため公式で確認)。
- OS にログインできない、任意のファイルを置けない。
- エンジンバージョンや拡張は、AWS がサポートする範囲に限られる。
- 個別パッチを自分だけ適用のような運用はできないイメージに近い。
- インスタンスやストレージには上限があり、巨大単一ノードの限界を超えると Aurora/シャーディング/NoSQL など別アーキテクチャが論点になる。
ストレージタイプの考え方
ワークロードの IOPS・スループット・一貫性に合わせてストレージを選びます。試験では次のような対比がよく出ます(数値は世代で変わるので直前はドキュメント確認)。
- 汎用 SSD(gp2/gp3 等) … 容量に応じたベース IOPSとバースト/ベースラインのイメージ。多くのワークロードのデフォルト候補。
- プロビジョンド IOPS(io1/io2) … IOPS を事前にプロビジョン。一貫した高 IOPS が必要な OLTP で選択肢に上がる。
- マグネティック(旧世代) … レガシー。新規では避ける、という文脈が出やすい。
ベストプラクティスの抜粋(試験でそのまま効く)
公式ドキュメントのベストプラクティスは長いですが、SAA で選択肢のキーワードになりやすいものだけ抜き出します。
- 十分な RAM(可能な限りワークセットをメモリに載せる)。
- Enhanced Monitoring(拡張モニタリング) で OS に近いボトルネックを特定。
- CloudWatch アラームで CPU、空きストレージ、接続数などの閾値監視。
- MySQL/MariaDB ではストレージエンジンに InnoDB(MyISAM 一辺倒は NG になりやすい)。
- 大きなテーブルのパーティションは、単一テーブルが極端に肥大化しないよう設計(16TB 超に注意という文脈が試験で問われることがある)。
ネットワーク上の置き方
- パブリックアクセス …
Publicly accessible = Yesにするとパブリック IPが付くイメージですが、それだけではインターネットから届かない。セキュリティグループで自宅 IP や bastion からのみ DB ポートを開けるなど、ネットワークと SG の両方で絞る必要があります。本番でインターネットに SQL ポートを晒すのはアンチパターンとして問われます。 - プライベート配置 … DB をプライベートサブネットに置き、アプリケーション層または bastion、Systems Manager Session Manager 経由で操作するのが一般的です。
- 単一 AZ のみ … AZ 障害で DB が止まるリスクが高い。信頼性要件が高い本番では マルチ AZ(別トピック)が第一候補になります。
2層構成でのセキュリティグループ
Web サーバーと DB の典型的な2層構成では、DB のセキュリティグループでアプリケーション層の SG をソースに指定し、DB ポート(例: 3306)だけを許可します。0.0.0.0/0 に DB ポートを開ける選択肢は、ほぼ不正解側です。
公式ドキュメント(深掘り)
重要ポイント
- ▸RDSはOSにSSHできず、バージョン・パッチ・拡張はAWSの提供範囲に制約
- ▸ACIDはトランザクションの性質を整理する語彙。試験の用語問題に直結
- ▸汎用SSDとプロビジョンドIOPSはIOPS要件で選択。磁気はレガシー扱い
- ▸パブリックRDSはSGで厳格に。本番はプライベート+踏み台またはSystems Manager
- ▸ベストプラクティス(InnoDB・監視・RAM)は試験の長文で選択肢になる
このトピックの学習を完了しますか?
完了状態はいつでも切り替えられます
この試験ドメイン内で次の学習に進む
同じサービスの関連トピック
RDS / Aurora / ElastiCache に関連するトピックを続けて確認できます。