私は考えていた。プライベートS3バケットにファイルがあり、rc.localにそのようなものがあるEC2インスタンスをデプロイするとします。
GET http://privateamazons3url.com
デプロイするEC2インスタンス自動がプライベートS3バケットにアクセスできるようにするには、どうすればよいですか? AWSコントロールパネル。
私が尋ねる理由は、スナップショットイメージを使用して別のサーバーからpython botoスクリプトを使用してEC2インスタンスをリモートでデプロイすることを計画しており、スナップショットイメージにはプライベートからのファイルのダウンロードが含まれるためですS3バケット。
オプション1
新しいインスタンスが起動後すぐにファイルをダウンロードする場合は、時間制限のあるパブリックファイルを作成できます。
上記を実行することにより、EC2インスタンスに認証情報は必要ありません。ただし、公開URLはしばらくの間公開されます。
オプション2
EC2の「ロール」で新しいインスタンスを起動します。 http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/UsingIAM.html#UsingIAMrolesWithAmazonEC2Instances を参照してください
EC2ロールを使用する場合、インスタンスには、自動生成、自動期限切れのアクセスキーが定期的に提供されます。したがって、サーバーに資格情報を保持する必要はありません。代わりに、AWSクライアントはAWSから継続的に使用する新しいキーを要求しますが、これは時間とともに変化します。
このようにして、ファイルへのS3アクセスを許可するIAMポリシーをEC2ロールに与えることができます。
スナップショットのクエリ文字列でs3api情報を公開する場合は、次を使用できます。
http://docs.aws.Amazon.com/AmazonS3/latest/dev/S3_QSAuth.html
IAMを使用して、そのバケットのみへのアクセスを制限されているユーザーを作成することもできます。これにより、クエリ文字列で使用する新しいAPIキーペアが生成されます。