5

私の現在のシナリオは、Struts 2.0 でビルドされ、tomcat + mysql サーバーで実行されている Java EE アプリケーションを持っているというものです。アプリは現在、2 GB の RAM と 60 GB のディスクを備えた Virtual Private Server でホストされています。ただし、アプリケーションの使用量はピーク時に 10 倍から 20 倍に増加し、Tomcat と MySQL サーバーがクラッシュします。

代替品を探し始めたところ、Amazon の EC2 が最適であることがわかりました。RHEL AMI の無料利用枠のマイクロ インスタンスを正常にセットアップし、マシンに Tomcat + MySQL をインストールしました。また、Amazon Web サイトで EBS、ロード バランサー、Auto Scale、Cloud Watch、および関連するものについて読みました。

これは、AWS を介して達成したい私の主な目的です。

  • Amazon に 2 つの EC2 インスタンスをセットアップする (プライマリとセカンダリ)
  • セカンダリ インスタンスは 1 日のほとんどの時間、非アクティブになります
  • ピーク時には、セカンダリ インスタンスが自動的にウェイクアップする必要があります
  • ロード バランサーは、可用性に応じて両方のサーバーへのトラフィックのルーティングを開始します。
  • トラフィックが減少した後、セカンダリ サーバーは自動的に非アクティブ化されます。

次のばかげた質問があります:)

  • 両方の EC2 インスタンス間で MySQL データはどのように共有されますか? MySQL を EBS ボリュームにインストールし、このボリュームを両方の EC2 インスタンスに同時にマウントできますか? これで、現在の VPS ではピーク時に多くの接続が発生するという既存の MySQL の問題が解決されますか?

  • アップロードされたファイルと画像を両方の EC2 インスタンスで共有するにはどうすればよいですか? これらのファイルを外部 EBS ボリューム (Tomcat WebApps ディレクトリの外) に保存する必要がありますか?

  • 完全なプロジェクト フォルダーを外部 EBS ボリュームに保持し、両方の EC2 tomcat インスタンスで仮想マッピングを行うことはできますか? そのメリットとデメリットを教えてください。

また、EC2 での tomcat のクラスタリング、セッション管理、AWS 自動スケーリング、およびロード バランサーに関する優れたチュートリアルも役立ちます。

4

1 に答える 1

3

AWS 構造を構築する経験はまだありませんが、できる限りお手伝いします。

1) EC2 インスタンスを介して EBS ボリュームを共有することはできません。このシナリオでは Web サービスまたは RDS を使用する必要があります。 、ロードバランサーはシステムにもう少し費用を追加します。aws 計算機を使用して、それが価値があるかどうかを確認してください。

2)S3を使用することをお勧めするファイルについては、APIは本当にシンプルで、トリックがなく、高速で、EBSに画像を保存するよりもはるかに安価です。リンクをデータベースに保存するだけで、どこからでもアクセスできます。

3) 最初の回答で述べたように、EBS ボリュームを共有することはできないため、2 つの等しいインスタンスが必要になります。

また、次のオプションもご覧ください: http://aws.amazon.com/pt/elasticbeanstalk/ これは、AWS で何かを開始するための非常に簡単な方法です。

于 2013-08-24T12:47:10.830 に答える