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 をプライベートサブネットに置き、アプリケーション層または bastionSystems 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)は試験の長文で選択肢になる

このトピックの学習を完了しますか?

完了状態はいつでも切り替えられます