web-dev-qa-db-ja.com

AWS:複数のDBインスタンスがあるウェブサイト

AWSでウェブサイトをホストしています。現在、RDSは1つしかありません。

その1つのDBインスタンスのコピーを作成して、別のインスタンスを作成できますか?そして、リクエストごとにロードバランサーを設定することで(高トラフィック時).

アイデアは、高トラフィックに乗り、ロードバランサーと複数のDBインスタンス(RDS)を介してAWSを管理することです。

それらの設定方法は? AWSを初めて使用するとき

4
Ankit Shah

あなたが何を達成しようとしているのか、そしてなぜ私たちがより多くを助けることができるかもしれないのかについての詳細情報。

リードレプリカ

複数の RDSリードレプリカ を作成し、データベーストラフィックの一部をそれらのレプリカにオフロードできます。書き込みはマスターデータベースに送信されます。これは、スケールではなく信頼性を目的としたRDSマルチAZとは別のものです。

ボトルネックを見つける

データベースはボトルネックになる可能性がありますが、常に問題があるとは限りません。スケールアウトを検討する前に、データベースが非常にビジーである理由を確認する必要があります。正しく索引付けされていますか?クエリが遅いですか? SQLクエリは最適化されていますか?まだの場合は、優れたDBAに確認してもらう必要があります。

代替データベース

リレーショナルデータベースが必要ですか、それとも DynamoDB のようなNoSQLデータベースをデータの一部またはすべてに使用できますか? NoSQLデータベースは通常、拡張がはるかに簡単です。

キャッシング

データベースをクエリする前に、 Elasticache インスタンスをクエリするようにアプリケーションコードを変更できますか?リレーショナルよりフラットですが、すべてがメモリ内にあるため、はるかに高速です。

垂直スケーリング

より大きなサーバーを使用するのが最も簡単なオプションの場合もあります。簡単に自動スケールアップとスケールダウンを行うことはできませんが、余裕があれば、作業量を減らすことができます。

6
Tim

使用しているDBエンジンによって異なります。 RDSでMySQL 5.6を実行している場合は、 Aurora Multi-Master を使用して、必要に応じてDBノードをさらに追加するか、または- Aurora Serverless オンデマンドで小さなDBノードを自動的に追加します。

他のRDS DBエンジン(Aurora以外のすべてのエンジン、またはAurora PgSQL)では、それほど簡単ではない場合があります。

それが役に立てば幸い:)

2
MLu