web-dev-qa-db-ja.com

ロードバランシングRDS(AWS内)

私は一般的にAWSを初めて使用するので、これは初心者の質問かもしれません。 readreplicaを使用してRDSインスタンスをセットアップし、AWSOpsworksを介してVMをマスターDBに接続しました。理想的には、マスターとスレーブの間で読み取りのバランスを取り、書き込みをマスターにのみ送信するようにします。

もちろん、これはコードで行いますが、特にRDSスレーブを追加したい場合や、1つ以上のインスタンスを削除した場合は、面倒になります。

それで、私が見逃したものはありますか?これをシームレスに行うためにまだ出会っていないAWSが提供する構成はありますか?

5
Ram G Athreya

AWSは(現在)この方法でRDSインスタンスの負荷分散をサポートしていないため、この種のことを自分で実装する必要があります。このようなものを自分で設定するために取ることができるさまざまなアプローチがいくつかあります。

  1. あなたが述べたように、あなたはあなた自身のコードでこれをすることができました、それは少し面倒です。

  2. ラウンドロビンDNS を使用して、基本的な形式の負荷分散を実装してみてください。ラウンドロビンDNSに慣れていない場合、これは基本的にDNSを使用して各クエリに対して異なるIPアドレスを返す方法です。 Route53でこれを設定する方法の詳細については、Amazonの weighted routing に関するドキュメントを参照してください。

  3. HAProxybalance のような単純なプロキシ/ロードバランサーを既存のアプリサーバーの1つまたは別の小さなインスタンスに組み込んで、RDS間の負荷分散を管理できるようにすることができます。インスタンス。

他のオプション(他の負荷分散アプリを含む)が存在する可能性がありますが、これらの1つがニーズに最も簡単なソリューションになる可能性があります。

4
Bruce P