2016-10-03 15 views
0

EC2インスタンス上で動作するAWS SDK(Java、おそらく無関係)を使用して、複数のAWSアカウントでAWSリソースにアクセスする方法を探しています。EC2インスタンス上の複数のAWSアカウントの資格情報

が、より正確には想像するには、2つのAWSを占めています

  • テスト
  • PROD

を作成PRODアカウントのEC2インスタンス上で動作するJavaアプリケーションがありますたとえばAWS Java SDKのAmazonEC2Clientのインスタンスです。私はのテストの両方のクライアントインスタンスを作成したいと思っています。そこからアカウントを取得しました。

ローカルマシンのプロファイルを使用してこれを行うことはできますが、EC2インスタンスでこれを行う方法はわかりません。

答えて

2

2つの方法のいずれかを実行できます。

AssumeRole

AssumeRoleにAWSセキュリティトークンサービスを使用してください。実際の実装はあなた次第ですが、IAM RoleをEC2インスタンスに割り当ててからJava SDKのAssumeRole関数を使用して、プロダクションロールからテストに切り替えることができます(またはその逆)。

プロファイル

すでにローカルにこれを行う方法を考え出したように聞こえるが、それは(ユースケースによっては)EC2に複製することができます。つまり、私は強くアドバイスし、ベストプラクティスに従い、STS:AssumeRole(上記)を使用します。


現実的に、それはおそらく、必要に応じて、あなたが適切な役割を割り当てることができ、その場合には、生産、テストのために別々のEC2インスタンスを持っている(あなたが実際にやろうとしているかについて、ここでいくつかの仮定を行うこと)がベストです。

また、大規模なデプロイメントについては、Consolidated Billingを参照することで、それぞれの(1つの請求先アカウントのみ)別々のAWSアカウントを使用して本番環境とテスト環境を完全に分離することができます。詳細については、この記事をご覧ください:https://blog.codeship.com/separate-aws-production-and-development-accounts/

関連する問題