1

NoSQL データベースのベンチマークを行うための小さな Java ツールを作成しました。十分なコンピューターがないため、Amazon EC2 でベンチマーク ツールといくつかのデータベース ノードを実行したいと考えています。

それは可能ですか?-> 追加の設定なしで EC2 に Java アプリをデプロイできますか?

ありがとうございました

4

2 に答える 2

2

追加の設定なしで EC2 に Java アプリをデプロイできますか

はい。一般的なウェブアプリを実行している場合は、Elastic BeanStalk を調べることができます。しかし、それはベンチマークには機能しません。

EC2 コンピューターは単なるコンピューターですが、OS を手動でインストールする代わりに、AMI と呼ばれるプリインストールされた OS を選択して起動できます。Java がプリインストールされたイメージを探すこともできますが、お気に入りのUbuntu /Fedora/Centos/ AmazonLinuxを起動して、「apt-get install java」または「yum install java」を実行するのはかなり簡単です。

最初に、プログラムをボックスにアップロードし、SSH でテストします。ただし、ワークフローを開始するときは、プログラムを S3 にアップロードしてから、起動時にボックスにダウンロードさせる方がよいでしょう。(S3 は通常、アップロード速度よりも高速で、信頼性が高くなります。)

起動時に「ごくわずかな」設定を行うだけの場合は、cloud-init. これにより、起動時に事前定義されたスクリプトが実行されます。(起動時にコマンドを EC2 ユーザーデータ構成に入れるだけです。) Java のインストール、アプリのダウンロード、アプリの実行の 3 つのコマンドと同じくらい簡単です。

より高度な操作を行うには、ChefPuppet、またはAnsibleを使用して複数のサーバーを調整します。

しかし、ベンチマークのアイデアのような単純なものについては、AWS API を使用して簡単に「独自のものを作る」ことができます。ライブラリ (Python の場合は Boto、Ruby の場合は Fog。Java の場合はいくつかあると思います) を使用して、次のことを行うプログラムを作成します。1) NoSQL DB をインストールする cloud-init スクリプトを使用してインスタンスを起動します。2) 待機します。 IPを取得するため。3) Java テスト プログラムを構成する cloud-init スクリプトを使用して別のインスタンスを起動し、ステップ 2 から IP を渡します。後で収集できるようにします) 5) インスタンスを終了してクリーンアップします (タグ付けするとクリーンアップが容易になります)

これらすべてを手動で行うこともできますが、バグが見つかった場合は、すべてを再実行する必要があり、自動化によって簡単になります。さらに、さまざまなインスタンス サイズで調査結果を繰り返したいと思うでしょう。

動作するようになったら、実際のベンチマークを実行するときにスポット インスタンスに切り替えることができます。これらのインスタンスは、起動に時間がかかりますが、大量の費用を節約できます。そのため、スポット インスタンスは開発にとって煩わしいものですが、起動時間を気にしない一括テストの実行には最適です。

于 2013-07-06T18:03:33.987 に答える