翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS のサービスを直接呼び出すアプリケーションで IAM ロールを使用する
クラスターの EC2 インスタンスで実行されているアプリケーションは、EC2 インスタンスプロファイルを使用して、 AWS サービスを呼び出すときに一時的なセキュリティ認証情報を取得できます。
Amazon EMR のリリース 2.3.0 以降で使用できる Hadoop のバーションは、IAM ロールを利用できるように更新されています。アプリケーションが Hadoop アーキテクチャ上で厳密に実行され、 のサービスを直接呼び出さない場合は AWS、変更なしで IAM ロールと連携する必要があります。
アプリケーションで のサービス AWS を直接呼び出す場合は、IAM ロールを利用するためにサービスを更新する必要があります。これにより、アプリケーションは、クラスターの EC2 インスタンスの /etc/hadoop/conf/core-site.xml
からアカウント認証情報を取得する代わりに、SDK を利用して IAM ロールを使うリソースにアクセスしたり、EC2 インスタンスメタデータを呼び出して一時的な認証情報を取得したりできます。
SDK を使用して IAM ロールで AWS リソースにアクセスするには
-
以下のトピックでは、複数の AWS SDKs を使用して IAM ロールを使用して一時的な認証情報にアクセスする方法を示します。各トピックは IAM ロールを使用しないアプリケーションのバージョンから始まり、IAM ロールを使用するためにアプリケーションを変換する処理を説明します。
-
「AWS SDK for Java デベロッパーガイド」の「Java 用 SDK を使用した Amazon EC2 インスタンスの IAM ロールの設定」
-
「AWS SDK for .NET デベロッパーガイド」の「Using IAM roles for Amazon EC2 instances with the SDK for .NET」
-
「AWS SDK for PHP デベロッパーガイド」の「PHP 用 SDK を使用した Amazon EC2 インスタンスの IAM ロールの設定」
-
「AWS SDK for Ruby デベロッパーガイド」の「Ruby 用 SDK を使用した Amazon EC2 インスタンスの IAM ロールの設定」
-
EC2 インスタンスメタデータから一時的な認証情報を取得するには
-
指定された IAM ロールと連動して実行している EC2 インスタンスから以下の URL を呼び出します。これにより、関連する一時的なセキュリティ認証情報 (AccessKeyId、SecretAccessKey、SessionToken、および Expiration) が返されます。次の例では Amazon EMR のデフォルトのインスタンスプロファイル (
EMR_EC2_DefaultRole
) を使用しています。GET http://169.254.169.254/latest/meta-data/iam/security-credentials/
EMR_EC2_DefaultRole
IAM ロールを使用するアプリケーションの記述の詳細については、Amazon EC2 インスタンスで実行されるアプリケーションに AWS リソースへのアクセスを許可する」を参照してください。
一時的なセキュリティ認証情報の詳細については、「一時的セキュリティ認証情報の使用」ガイドの「一時的な認証情報の使用」を参照してください。