web-dev-qa-db-ja.com

PostgresにRDS over EC2を使用する理由

現在EC2で実行されているデータベースがあります。より大きなマシンに移動する必要があるため、RDSを使用するという疑問が生じました。

価格:

EC2c3.large 2つのSSD(各16 GB)、2つのvCPU、4 GBのメモリをオンデマンドで1時間あたり$ 0.132で使用するインスタンス [1]

最も近い(価格を考慮して)[〜#〜] rds [〜#〜]マシンはdb.m3.medium $ 0.125 /時間(シングルAZ) [2] 。このマシンのメモリ量は同じですが、vCPU [3] は1つだけです。さらに、ストレージとio [2] の料金を支払う必要があります。

したがって、これら2つの価格は非常に似ています。

EC2の利点:

  1. すでに述べたように、もう1つのvCPU。
  2. EC2を使用すると、2番目のディスクにWrite-Ahead-Logを配置できます(データベースに大量に書き込むと、パフォーマンスが大幅に向上します)。
  3. EC2インスタンスでpgbouncerを実行できます(接続を開いたままにできるため、パフォーマンスが向上します)。
  4. 構成ファイルを編集できます(最終的にはパフォーマンスが向上します)

RDSの利点:

  1. 毎日のバックアップを自動的に行います。

RDSはEC2の利点(特に2.)をカバーできますか?他に利点はありますか?

12
kev

ほとんどの場合と同様に、コストと労力/複雑さのトレードオフです。

RDSは簡単ですが、柔軟性が低く、同じレベルのパフォーマンスではコストが高くなります。

(特に、 RDSとの間で複製する方法がないことに注意してください

8
Craig Ringer

単一インスタンスの比較ではそれほど多くありませんが、RDSには多くの利点があります。マルチAZセットアップを異なるリージョンのリードレプリカで維持することなどは、EC2で扱うよりも優れています。 RDSは、そうでなければ自分でしなければならないであろう途方もない量のツールを実行します。これは常にプラスです。 RDSはまた、データベースへの統一されたインターフェイスを提供します。私の見解では、データベースの展開の一貫性を強化するのに役立つだけでなく、かなりの利点もあります。もちろん、インスタンスでは引き続きpgbouncerを使用しています。

私は率直に言って、EC2よりもcolocハードウェアでデータベースを実行することを好みます。 EC2でデータベースを実行するのは嫌いです。それらを移動し、ダンプとバックアップを実行するのは悪夢です。ec2のI/Oパフォーマンスは単純に悲惨であり、大量のiopsを購入することは恐ろしく高価であり、ハードウェアのパフォーマンスにまったく近づきません。 RDSの制限に耐えられる場合は、常にそれを使用します。

4
figtrap