前提・実現したいこと
プログラミング初心者です、初めて質問させていただきます。
質問内容に分かりにくい点があるかもしれませんので、足りない部分は聞いていただけると幸いです。
railsで作成したアプリをAWSにVPCを作成してEC2でデプロイしました。
(nginxとunicornを使用)
routes53で独自ドメインを取得しELBのALBを使い、elasticIPに紐づけています。
公開したアプリが順調だったが、アクセスが多く重くなることがあるため、サーバーの負荷分散を試みました。
同一AZ内に、EC2を複製して設置し、(便宜、複製元をEC2a、複製後をEC2bとします)EC2bにローカルからssh接続し、違いが分かるようにトップぺージを少々いじり、独自ドメインにアクセスしたところ、両方のEC2に交互にアクセスできることが確認できました。
トップページにはアクセスできたものの、トップページでuserを新規作成して次のページに行こうとすると、Ec2bではエラー(something
wentwrong)EC2aでは、既存の別ユーザーのページに飛ばされてしまいました。
トップページの次のページでは、railsでよくあるhttps~/users/:id というルーティングを使っており、またデータベース管理にはRDSインスタンスを使っておらず、gemで「gem 'mysql2', '>= 0.3.18', '< 0.6.0'」を入れています。
このことから、個々のインスタンスでDBが管理されてしまいこのようなエラーが出ているのかな?と推測するのですが、この認識であっていますでしょうか。
仮にこの認識があっているとして、EC2を複製して負荷分散して運用した場合、RDSインスタンスを必ず用いらなければいけないのでしょうか?
お手軽に負荷分散できればなんでもいいんですが、いろいろ調べてもダイレクトな記事がなく苦戦しています。
mysqlと、RDSについて、特に知識が乏しいので的外れなことを言っているかもしれませんが、
ご回答いただけると幸いです。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
ソースコード
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/03 13:31
2019/11/04 00:45