2012-05-17 5 views
9

これが奇妙な質問であれば申し訳ありません。私はamazon Webサービスを使用してiphoneアプリケーションのために私自身のサーバーを展開するためのものをたくさん読んできました。AWSトークン自動販売機を独自のインスタンスにデプロイするか、それを自分のアプリケーションインスタンスにマージできますか?

私が今直面している問題は、トークン自動販売機システムを使用して、モバイルデバイスにアクセスして、それぞれのアカウントから物をアップロードまたは取得することです。したがって、私が考えた構造は次のとおりです。

1)デバイスはSimpleDBとS3に一時的にアクセスするためにTVMサーブレットに接続します。

2)デバイスは、ユーザーとパスワードを含むsimpleDBドメインに対して自身を認証します。

3)サーバーは、デバイスに一意のIDを送信します。

4)デバイスは、この固有のIDを使用して写真をS3にアップロードします。

5)アップロードからの応答が成功した場合、デバイスはSimpleDBの一意のIDと他のフィールドを含む情報を追加します。

私はこのために必要なEC2インスタンスに関する混乱があります。私は、この手順のほとんどを行うサーブレットで単一のJavaアプリケーションを使用することができると思うが、私はトークン自動販売機で認証を使用する場合は、私は2番目のインスタンスを起動する必要がありますか? amazon自体の例はトークン自動販売機に独自のインスタンスを使用し、データベースに直接アクセスする権限を取得するだけです。しかし、私はこれらのアップロードとダウンロードをリダイレクトするために私自身のサーバー側の処理が必要な理由で、サーバー側のロジックが必要になります。

さらに、もしこの構造が理にかなっているかどうか私に教えてくれる人がいれば、私は完全にサーバー/データベースのものに新しいので、私は本当に良い構造が何であるかを知ることができません。私は必要なアマゾンサービスのベストプラクティスとヒントを読んだ。しかし、私はまだ不確実です。

フィードバックとサポートに感謝します。

+0

AWS自体でこれを試しましたか? –

+0

AWS Simple WorkFlow(SWF)を見ましたか?あなたのようなアーキテクチャの場合、ダウンロードを簡単に制御できます。また、AWS iPhone SDKを使用すると簡単に接続できます。 – Bourbon

+0

@ジャック・ノーですが、難しい質問のように思えなかったので、最初にここで尋ねると思いました。 – Pochi

答えて

1

まず、この構造が理にかなっています。 IMHOには、少なくとも2つのパスがあります。

1)Elastic Beanstalkを使用して単一の配置を実行する。
このパスを選択すると、より簡単なアプローチは、AWSのToken Vending Machine for Identity Registration - Sample Java Web Applicationのほとんどをフォローし、ソースコードを変更してサーバーサイドのロジックを追加したり、現在のサーブレットコードを変更したり、仕事をするより多くの新しいサーブレット。上のリンクの提案に従って、Elastic Beanstalkを使用して.warを構築し、直接展開することができます。基本的なコンセプトは、Elastic Beanstalkを「サービスとしてのアプリケーションサーバー」として認識し、いくつかの展開面を簡単にすることです。

2)任意のアプリケーションサーバー(Tomcat、JBoss、WebLogicなど)で1つ以上のEC2インスタンスを起動します。 このようにすれば、アプリケーションのデプロイメントをより柔軟に設計できます(EC2インスタンスはクラウド内の仮想マシンと非常によく似ており、必要なものをインストールしたり、ファイアウォールルールなどを設定できます)。 a)TVMを別のインスタンスにデプロイするか、b)同じインスタンスでb.1)新しいアプリケーションかb.2)をサーバーサイドロジックと同じアプリケーションとして使用するか( Elastic Beanstalk)あなたの選択は、実際にアプリケーションのサイズ、期待される負荷、コードとTVMの間の結合などによって異なります。

あなたの質問は非常に一般的です。あなたが望むものを達成するために複数のアプローチを行うことができます。そのため、最初のステップを踏んで2つの可能なパスを概観します。明確でないものを明確にすることをためらってください。それが役に立てば幸い。

関連する問題