2011-06-30 18 views
3

多くのデータファイル(input_filesと呼ぶ)がAmazon S3に格納されています。Amazon EC2 - S3からデータを読み込みますか?

私は約15の独立したLinuxインスタンスを開始したいと考えています。これらのインスタンスはinput_filesS3に格納されています)をロードし、それらを独立して処理する必要があります。

すべての15の独立したLinuxインスタンスが同じ出力ファイルにに書き込むことを希望します。

完了すると、この出力ファイルはS3に保存されます。

つの質問:

(1)それはAmazon EC2 Linuxインスタンスは可能ですが、S3に接続し、そこからデータを読み込むには?

(2) 15個の独立したすべてのLinuxインスタンスが同じ出力ファイルに書き込むようにするにはどうすればよいですか?このファイルをS3にできますか?すべてのインスタンスがそれに書き込みますか?

答えて

4

(1)はい。 S3 public APIを使用してインターネット上の任意の場所からS3にアクセスできます。

(2)あなたは、思われるデータベースについて説明しています。 S3は単なるファイルストアであり、S3上のファイルには書き込まない - S3にファイルを保存する。

多分、あなたは代わりにいくつかのタイプのデータベースを調べるべきです。私はあなたがこれを見てみることをお勧めし

0

http://docs.aws.amazon.com/IAM/latest/UserGuide/role-usecase-ec2app.html

あなたは、組織のAWSリソースを管理する管理者であることを想像してみてください。あなたの組織内の開発者は、Amazon EC2インスタンス上で動作する アプリケーションを持っています。これらのアプリケーション は、 Amazon S3バケットへのアップデートなど、他のAWSリソースへのアクセスが必要です。

Amazon EC2インスタンスで実行されるアプリケーションは、AWS AWS資格情報を使用したAPIリクエストに署名する必要があります。これを行う1つの方法は、 の開発者がAWS資格情報をAmazon EC2インスタンスに渡すことです。 アプリケーションは、アプリケーションが要求に署名するために資格情報を使用できるようにします。

ただし、AWS資格情報をローテーションする場合、開発者は資格情報を使用する各Amazon EC2インスタンスを で更新する必要があります。

とPythonでこれを行う方法を参照するには: https://groups.google.com/forum/?fromgroups=#!topic/boto-users/RPoFskVw1gc

基本的な手順を次のようになります。

まず、あなたは何 サービスを表しJSONポリシー文書を作成する必要がありますIAMの役割がアクセスする必要のあるリソースが表示されます。 の例では、このポリシーはバケット「my_bucket」のすべてのS3アクションを許可します。 アプリケーションに適したポリシーを使用できます。 BUCKET_POLICY = "" "{

"文":[{

"Effect":"Allow", 

"Action":["s3:*"], 

"Resource":["arn:aws:s3:::my_bucket"]}]}""" 

次に、あなたはIAMにインスタンス・プロファイルを作成する必要が

輸入のboto

c = boto.connect_iam()

instance_profile = c.create_instance_profileインスタンスプロファイルを作成したら、あなたは、ロールを作成 インスタンスプロファイルにロールを追加し、との方針を関連付ける必要があり

(「myinstanceprofile」) ロール。

役割= c.create_role( 'myRoleの')

c.add_role_to_instance_profile( 'myinstanceprofile'、 'myRoleの')

c.put_role_policy( 'myRoleの'、「MYPOLICY 」、BUCKET_POLICY)

EC2 = boto.connect_ec2() ec2.run_instances( 'AMI-XXXXXXX'、...、instance_profile_name = 'myinstanceprofile:あなたは、インスタンスの起動時に今、あなたはそのインスタンスプロファイルを使用することができます「)

そして新しいインスタンスは、それが起動されると、それに関連した適切な役割と資格 を持っている必要があります。

Java、Ruby、... Amazon Webサイトと同じチュートリアルがあります。あなたは他のチュートリアルを見るために最初のURLを参照することができます。

関連する問題