質問: ### 前提 * サービスは日本用のサービスと海外用のサービスの2つがある * それぞれのサービスのドメインは別にしている * 海外用のサービスは多言語対応をサブディレクトリを用いて行う (例) example.com/en example.com/vn * それぞれのサービスのデータは一部同じデータベース(RDS)から参照する * 要件としてはパフォーマンスを最大限考慮した設計 * (追記)サービスはチャット機能やレコメンド機能があり比較的規模は大きなものとなります。ユーザーの想定は1万〜10万を想定しております。 ### 問題点 海外のサービスを多言語対応する時にリージョンをそれぞれに指定しようと考えており、そのためにALBを利用する予定です。 そうなるのインスタンスはそれぞれのリージョンに置くことになるのですが、RDSは日本と同じデータを参照していることからリージョンは東京になってしまいます。 つまり、性能の点で懸念が生じてしまうと感じています。 ### 聞きたいこと * 日本のデータと同じデータのみ東京のリージョンのRDSから参照してくるのが良いのか * 同じ構成のRDSを複数用意してそれぞれリージョンがそれぞれのRDSを参照して、データに不整合が起きないように処理をさせるべきなのか(そもそもできるのか?) * その他に良い構成があるか 色々調べては見たのですが、最適な方法がわからず質問させていただいました。 何卒、よろしくお願い致します。
回答: そもそもRDSに直接読みに行かないといけないのが性能的にちょっとネックではありませんか? ベトナムから東京リージョンに接続すると1クエリあたり約10倍の時間が掛かるのでちょっとしんどいと思いますよ。 例えば、RDSからElasticSearchに流し込んでそこから参照させるのはどうでしょうか。 こんな構成です。10分ぐらいで作ったやつなので恐縮ですが。。。 #ベトナムですとシンガポールリージョンを選ぶと思われますのでその想定で。 !イメージ説明 どうしても東京リージョンのRDSがマスターじゃないとやだと言われた場合はこれは使えません。