2010-12-27 12 views
3

Amazon Web Servicesアプリケーションの設計方法を理解しようとしています。スケーリング用MySQLのEBSアーキテクチャ(Amazon Web Services)

私にはEBSのインスタンスがあります。私が理解する限り、EBSドライブをマウントして、MySQLデータベースを格納する必要があります。

後でスケールアップしたいとき、どうすればいいですか?私は、サーバーインスタンスを追加することはできますが、データベースにどのようにアクセスするのでしょうか?私が理解していることから、EBSボリュームは1つのサーバーインスタンスにのみ接続できます。

答えて

2

EBSをMySQLインスタンスで使用した経験がないので、このタイプのスケーリングは一般的にどのように行われますかは、特定のインスタンスをマスターデータベースサーバーとして使用することです。追加のWebサーバーをスピンアップすると、マスターDB IPを使用して接続します。データベースがボトルネックになった時点で、ボックスの1つ(または専用ボックス)でスレーブDBインスタンスをスピンアップします。次に、マスターからスレーブへのレプリケーションまたは循環レプリケーションのいずれかでレプリケーションを設定して、スレーブインスタンスにも書き込むことができます。

古典的なマスターからスレーブへのレプリケーションを選択する場合は、書き込みがマスターDBインスタンスでのみ実行されていることを確認する必要があります。

Zeusやその他の接続ロードバランサのようなものをセットアップして、単一のデータベースIPに接続するだけで、読み取り接続をサーバーのプールにラウンドロビンすることができます。それ以外の場合は、自分で接続を管理する必要があります。これは間違いなく簡単です。がんばろう。

+0

AWSの 'ELB'の後ろにあるMySQLスレーブをロードバランスできる可能性があります。おそらくVPCの中にあるものが理想的です。 – Christopher

0

あなたのEBS裏打ちされたインスタンス上のMySQLのクラスタリングに試してみることができます。私は同様のクエリを持っており、より多くの要件があり、投稿されたhereです。

0

EBS容量は、Snapshot->新しいボリュームテクニックを使用してスケールアップできます。また、EBSストライピング(RAID 0)を使用してストレージ容量をスケールアウトすることもできます。

AWSでは、同じEBSボリュームを2つのEC2インスタンスに同時にマウントすることはできません。アプリケーションをスケーリングする場合は、レプリケーションまたはクラスタリングのいずれかを使用してMySQL DBのスケールアウト/アップを行う必要があります。 AWS RDSはMySQLの非常に優れたオプションです。アプリケーションの読み込みが集中している場合は、RDS読み取りレプリカを使用してスケールアウトできます。書き込みスケーリングが必要な場合は、機能パーティションまたはMySQLシャードを調べることができます。

+0

IOPSをEBSボリュームにクランクしてRWのパフォーマンスを向上させることもできますが、それはまったく安くはありません。 – Christopher

0

AWSには、これ専用の製品全体があります。RDS

EST/EC2/MySQLインフラストラクチャを独自に作成して調整するよりも、RDSを使用する方が稀で最も特殊な状況です。

RDSは質問に直接答えるため、直接読み取り専用データベースを作成してクエリスレーブとして使用することもできます。また、RDSは、バックアップ、アップグレード、およびあらゆる種類のフェールオーバーインフラストラクチャを実行します。

EBSでは、複数のEC2インスタンスにディスクを接続する方法がないため、その方法を使用して障害クラスタを構築することはできません。代わりに、あるタイプの複製またはバックアップツールが必要になります。

+0

'RDS'は絶対に解決策ですが、私はいくつかの点で問題を抱えています。 SUPER()特権が必要な場合や、特にコストを意識している場合、RDSは現時点では適切なソリューションではありません。また、EBSでバックアップされたmysqlボリュームをバックアップするのも簡単です。スナップショットだけです。単一のAWS APIコールで対応でき、物理サーバの新しいディスクに比べてコストがかかります。 EBSで裏付けされたdbsには欠点がありますが、「RDS」は必ずしも答えではありません。 @Christopher。 – Christopher

+0

私は同意する、SUPER特権の欠如と価格はいくつかのユーザーのための問題になる可能性があります。 個人的には、EBSボリュームのスナップショット作成よりもRDSの自動バックアップが簡単ですが、これを行うためのスクリプトの作成とスケジューリングは簡単です。 MySQLの一般的な使用方法については、RDSが優れた全体的なソリューションであり、EC2 + EBSで自分自身を設定するよりも少ない作業であることがわかりました。 –

関連する問題