MySQLでもPostgreSQLでも、DBの運用って地味に面倒だ。バックアップ、パッチ適用、レプリケーション、フェイルオーバー…。これら全部から解放してくれるのがRDS(Relational Database Service)だ。
RDSのすごさは「マネージド」の一言に尽きる。DBエンジンを選んで(MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, Aurora)、インスタンスサイズを決めて…はい、数分でDBが使える。バックアップは自動、パッチも自動、マルチAZ構成にしてれば障害時も自動フェイルオーバー。
僕が一番嬉しかったのは自動バックアップとポイントインタイムリカバリ。万が一データを誤って消しても、最大35日前までの任意の時点に戻せる。「やっちまった…」が帳消しになる安心感、これが月額数千円で買えるなら安い。
RDS選びのポイントは3つ:
- Auroraにするか通常RDSにするか — AuroraはAWS独自の分散ストレージで、通常のMySQLより最大5倍速い。でも高い。個人開発ならt3.microの通常RDSで十分。
- マルチAZ構成 — スタンバイを別AZに置く。コストは倍だけど、障害時は自動で切り替わる。本番系は絶対これ。
- パラメータグループ — MySQLのmy.cnf相当。文字コードやタイムゾーンの設定を忘れずに。
注意点:RDSはsshでログインできない。MySQL WorkbenchとかSequel Aceで繋ぐ。慣れるとこっちの方が便利だけど、最初は戸惑うかも。
参考:Amazon RDS ドキュメント | RDS 料金