2016-04-06 8 views
0

私のec2インスタンスは、ルビーアプリケーション用のサーバーです。私は別のインスタンスを作成し、それをストレージ+単純な計算センター(例えばファイルを圧縮する)として作って、Amazon S3 Serverに送信したいと考えています。2つのec2インスタンス間の通信方法は? (私はルビーユーザーです)

どこから始めたらいいか分からないので、別のインスタンスを作成していません。サーバーサービスをインストールする必要がありますか、またはそこにRubyをインストールする必要がありますか?

また、新しいインスタンスサーバーへのポストリクエストを作成するにはどうすればよいですか?今のところ、wave blobファイルは "params [:data]"で受信され、S3サーバに送信されます(writeメソッド)。以下はコードの一部です。

obj = S3_BUCKET.objects[params[:fname]] 
     obj.write(
     file: params[:data], 
     acl: :public_read 
     ) 

     render :json => { 
          :file_content => "ex1", 
          :body => "ex2" 
      } 

私は本当に概念を学び、深く理解したいと思っています。どこから始めたらいいか分かります。 :)

ベスト

答えて

0

は、私は、サーバーサービスをインストールする必要がありますか、私もそこにルビー をインストールする必要がありますか?

この質問は非常に広いです。もちろん、新しいサーバーを作成して、既に稼働しているサーバーのスナップショットからサーバーを作成しない限り、実行したいすべてのサービスを持つことはできません。標準のLinux AMIから新しいLinuxサーバーを作成するだけであれば、そのサーバーで実行したいソフトウェアをインストールする必要があります。

一般に、特定のポートで待機しているサービスを、第1のサーバー上のアプリケーションが呼び出すことができるように、第2のサーバーで実行する必要があります。これは、標準HTTP/HTTPSポートでリッスンするRESTサービスでも、多種多様なサービスタイプでも可能です。

また、実際にはAWS固有のものはありません。これは標準的なLinuxサーバーのものです。唯一のAWS固有の項目は、2つのサーバ間のネットワーク通信を可能にするためにセキュリティグループを開くことですが、まだその点に達していません。

また、新しいインスタンスサーバーへのポストリクエストを作成するにはどうすればよいですか?

私はあなたの質問のこの部分を理解していません。ブラウザのPOST要求を、最初のサーバーの代わりに2番目のサーバーに直接向けたいとしていますか?あなたがここで何を求めているのかを理解するためには、アプリケーションアーキテクチャに関する詳細が必要です。そして、正直なところ、2番目の質問として投稿してください。

+0

こんにちは!あなたのポイントはまさに正しいです。最初のサーバー上の私のアプリケーションは、音声データファイルを記録し、それは1分ごとにAjaxのポストリクエストでS3サーバに保存されます。それでは、特定のポートで待機するように2番目のサーバーで実行されているサービスをセットアップする方法はありますか? (私のアプリの弾性IPは52.27.103.211で、2番目のサーバの公開IPは52.37.117.220です)。 (:私は質問の最初の部分を完全に知りたいです。 –

+0

"特定のポートで待ち受けるために、2番目のサーバー上で実行されるサービスをセットアップする方法"申し訳ありませんが、その質問は広すぎます。私はサーバープログラミングをやっていますか? "という質問には、何千もの答えがあります。プログラミング言語とデータ伝送方法を選択してから、やり直す方法がわからない場合は、 –