0. 前提
前回、TerraformでEC2インスタンスを作成し、Java 17とPostgreSQL 15を自動インストールしました。
今回はPostgreSQL 15をEC2インスタンスからRDSに分離するため、RDSの概要について調べてみました。
次回以降、Terraformを使用してRDSの構築を自動化する予定です。
1. RDSとは
RDSとは、データベースの構築や管理をAWSに任せられるサービスです。
PostgreSQLやMySQLなどに対応しており、導入やバックアップ(データの保存)、更新などの作業をAWS側で行えます。
2. AWSリソース構成
変更前
EC2インスタンス
├─ Java 17
└─ PostgreSQL 15
変更後
EC2インスタンス(Java 17)
│
│ 5432番ポート
↓
RDS(PostgreSQL 15)
RDSに分離することで、アプリケーションとデータベースを別々に管理できます。
3. RDSのメリット・デメリット
| メリット | 内容 |
|---|---|
| 管理の手間を減らせる | バックアップや更新などをAWS側で管理 |
| 障害に備えられる | Multi-AZ構成を利用し、障害時に自動で切り替えられる |
| 処理の負担を分けられる | EC2インスタンスとDBでCPUやメモリを別々に使用 |
| デメリット | 内容 |
|---|---|
| 料金 | RDSの利用料金が別途発生 |
| 接続設定 | EC2インスタンスからRDSへの接続許可が必要 |
| 操作の制限 | DBが動作するOSを直接操作できない |
4. Multi-AZとは
Multi-AZとは、複数のアベイラビリティゾーン(AZ)を利用して、障害に備える仕組みです。
AZとは、AWSが同じ地域内に設けている、1つ以上のデータセンターで構成された独立した設備のことです。
RDSでは、別のAZに予備のデータベースを配置し、障害発生時に自動で切り替えることができます。
東京リージョン
├─ AZ①
│ └─ RDS(通常使用)
│ │
│ │ データを同期
│ ↓
└─ AZ②
└─ RDS(予備)
これにより、一方のAZで障害が発生しても、もう一方のAZでデータベースの運用を継続できます。
5. 感想
EC2インスタンスにPostgreSQLを直接導入する方法と比べて、RDSは管理の手間を減らせる点や、障害に備えやすい点が便利だと感じました。
一方で、追加料金が発生するため、用途に応じて使い分ける必要があると思いました。
- 閲覧数 51
コメントを追加