私は一般的にAWSの大ファンです...しかし、RDSではありません。
@RolandoMySQLDBAは、それに対してかなり良い点をいくつか指摘しています。
EC2上のMySQLと比較したRDSの唯一の利点は、ポイントアンドクリックスナップショット、クローン、およびポイントインタイムリカバリを実行できることですが、これらは制御と柔軟性の損失を補うにはほとんど不十分です。価格が高くなることを正当化しないでください。RDSはいくつかの点でセクシーですが、すべての可動部分に到達できないため、最終的に修正できないものを最終的に信頼することはできません。
私はSUPER
特権を持っていないのが好きではありません。エラーログを追跡できないことが嫌です。データベースサーバーで "top"または "iostat"を実行して、コアとドライブがどのように負荷を楽しんでいるかを確認できないのは嫌です。フェデレーションストレージエンジンにアクセスできないのは好きではありません。ホットスタンバイ(マルチAZ)バックアップマスターマシンにお金を払うという考えは、私がリードレプリカとして活用することさえできません。確かに、MySQLがRDBMS-in-a-boxとして正常にパッケージ化および販売されるために、これらの制約のすべてを適切に設定する必要がある理由は完全に合理的な説明があります。唯一のことは、RDBMS-in-a-boxが私が持っていない一連の問題をすべて「解決」し、邪魔をして、新しい問題を引き起こすことです。
しかし、RDSの私にとって絶対的な問題は、バイナリログとレプリケーションへのアクセスがまったくないことです。特に行ベースのBinlogは、小規模な災害に対する優れた回復ツールですが、アクセスできない場合は役に立ちません。RDSの運用データベースの読み取りレプリカとしてオフィスのオンプレミスサーバーを構成しますか?RDSに存在するデータに考えられないことが発生した場合に備えて、災害復旧のためにローカルバックアップを取得し、レポートを作成しますか?それは同時に明白で素晴らしいアイデアです。
申し訳ありませんが、レプリケーションに直接アクセスすることはできません。確かに、リードレプリカの代金を支払うことはできますが、他のRDSインスタンスとしてのみです。私の本では価値提案ではありません。
更新:MySQL 5.6のRDSの1つの重要な変更
ユーザー定義機能のサポートの欠如、Federated Storage Engineの使用不能、1つを使用できないことなど、いくつかの理由でRDSを実行するのではなく、自分のサーバーを実行することを好みます(EC2でも)緊急時のアクセスには追加の接続を使用できます...ただし...
AmazonはRDSのMySQL 5.6で大幅な変更を行い、主な異論の1つ、おそらく最大の異論を排除しました。バイナリログにアクセスできるようになり、非RDSインスタンスをスレーブとして実行したり、他のユーティリティをbinlogストリームを読み取るサーバー。
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Exporting.NonRDSRepl.html
公式には、ドキュメントは、ライブマイグレーションを行うためにスレーブをセットアップできるようにこれを公開していることを示しています-を使用して既存のRDSインスタンスから外部の将来のマスターサーバーを同期し、mysqldump
それをスレーブとしてRDSに接続しますアプリケーションが新しいマスターに移行されるまで、レプリケーションストリームを介して更新のライブフィードを取得しますが、非公式には、サポートを期待しない限り、これを継続的に行うことができます...私には、合理的だ。
これは最近のウェビナーで確認され、 56:45頃から始まる会話で:
「無期限に複製された状態に保つことができます...
「...レプリケーションを維持する責任がある限り...」
「それがあなたが望むものであるならば、我々はあなたが進行中の複製をすることを妨げません。」
この新しい機能は、公開されていないWebサイトをサポートするMySQLインスタンスでRDSを使用するFEDERATED
ことに全面的に異議を唱えるのに十分でした。
したがって、私はまだそれを支持していませんが、バイナリログのライブストリームがあることで、最終的にリアルタイムでデータの制御とトランザクションがないことを保証する責任を取り戻すため、私は反対しません壊滅的な停電で失われたものは私と一緒に戻ってきました。なぜなら、私はDBAとしてコントロールを取り戻したからです。サードパーティベンダーに指をさしたり、訴訟を提起したり、その他のことを行っても、ブラックボックス内のブラックホールから失われたデータを取り戻すことはできません。
経営陣はRDSの「アイデア」を好むようであり、コストの違いに異議を唱えないため、RDSを背後に持つすべての新しいWebサイトを立ち上げています。
ポイントアンドクリックポイントインタイムリカバリは、RDSの優れた機能です。既存のマシンを変更したり中断したりすることはありません。選択したポイントインタイムに最も近い時点で、必要なバイナリログを適用して、指定したポイントインタイムまでその新しいマシンを進めます。
これに関連しますが、別の方向では、同様の戦略を使用してライブMySQLデータベースをRDSに移行することも可能です... RDSマスターを接続できます(通常、これは新しくデプロイされたインスタンス)既存のシステムのスレーブとして、RDSインスタンスに移行した時点でデータのライブバージョンを保持します。5.6でのみ機能する外部複製用のRDS binlogへのアクセスとは異なり、内部複製は 5.5.33および5.6.13以降のRDSでサポートされています。