翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWSAWS リージョン一時的な認証情報の設定と開発用
でサポートされている任意のサービスに接続するにはAWS SDK for Java、AWS一時認証情報を指定する必要があります。AWSSDK と CLI では、プロバイダーチェーンを使用して、システムまたはユーザーの環境変数やローカルのAWS設定ファイルなど、いくつかの場所にあるAWS一時認証情報が検索されます。
このトピックでは、AWSを使用してローカルアプリケーション開発用の一時認証情報を設定する方法に関する基本情報を提供しますAWS SDK for Java。EC2 インスタンス内で使用するための認証情報をセットアップする必要がある場合、または開発に Eclipse IDE を使用している場合は、代わりに以下のトピックを参照してください。
-
EC2 インスタンスを使用している場合は、での IAM ロールを使用したAWSリソースへの許可の付与での説明に従って、IAM ロールを作成し、そのロールへのアクセス権を EC2Amazon EC2 インスタンスに付与します。
-
を使用して Eclipse 内でAWS認証情報を設定しますAWS Toolkit for Eclipse
。詳細については、AWS Toolkit for Eclipseユーザーガイドの「AWS認証情報の設定」を参照してください。
一時認証情報の設定
の一時的な認証情報はさまざまな方法で設定できますが、推奨される方法は次のとおりです。AWS SDK for Java
-
次の場所にあるローカルシステム上のAWS認証情報プロファイルのファイルで一時認証情報を設定する
-
~/.aws/credentials
Linux、macOS、Unix の場合は -
Windows の
C:\Users\USERNAME\.aws\credentials
一時的な認証情報を取得する方法については、このガイドのを参照してください。SDK の一時的な認証情報の設定
-
-
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
、AWS_SESSION_TOKEN
および環境変数を設定します。これらの変数を Linux、macOS、または Unix で設定するには、 を使用します。
export AWS_ACCESS_KEY_ID=your_access_key_id export AWS_SECRET_ACCESS_KEY=your_secret_access_key export AWS_SESSION_TOKEN=your_session_token
Windows でこれらの変数を設定するには、 を使用します。
set AWS_ACCESS_KEY_ID=your_access_key_id set AWS_SECRET_ACCESS_KEY=your_secret_access_key set AWS_SESSION_TOKEN=your_session_token
-
EC2 インスタンスの場合、IAM ロールを指定し、そのロールへのアクセスを EC2 インスタンスに提供します。これがどのように機能するかについての詳細な説明についてはAmazon EC2、LinuxAmazon EC2 インスタンス用ユーザーガイドの IAM ロールを参照してください。
これらの方法のいずれかを使用してAWS一時認証情報を設定すると、AWS SDK for Javaその一時認証情報を設定する Java アプリケーションでの AWS 認証情報の使用の詳細については、AWS 認証情報の使用を参照してください。
IMDS 認証情報の更新
AWS SDK for Java は、認証情報の有効期限に関係なく、バックグラウンドで 1 分ごとに IMDS 認証情報を更新するオプトインをサポートしています。これにより、認証情報をより頻繁に更新できるようになり、IMDS に到達できないことで認識される AWS の可用性に影響が出る可能性が低くなります。
1. // Refresh credentials using a background thread, automatically every minute. This will log an error if IMDS is down during 2. // a refresh, but your service calls will continue using the cached credentials until the credentials are refreshed 3. // again one minute later. 4. 5. InstanceProfileCredentialsProvider credentials = 6. InstanceProfileCredentialsProvider.createAsyncRefreshingProvider(true); 7. 8. AmazonS3Client.builder() 9. .withCredentials(credentials) 10. .build(); 11. 12. // This is new: When you are done with the credentials provider, you must close it to release the background thread. 13. credentials.close();
を設定AWS リージョン
AWS SDK for Java で AWS のサービスにアクセスするために使用するデフォルトの AWS リージョン を設定する必要があります。最適なパフォーマンスを得るために、地理的に近いリージョンを選択します。各サービスのリージョンのリストについては、Amazon Web Services の全般のリファレンスのリージョンとエンドポイントを参照してください。
注記
リージョンを選択しないと、デフォルトで us-east-1 が使用されます。
認証情報の設定と同様の方法でデフォルトの AWS リージョンを設定できます。
-
ローカルシステムの次の場所にある AWS Config ファイルで AWS リージョン を設定します。
-
Linux、macOS、または Unix の ~/.aws/config
-
Windows の C:\Users\USERNAME\.aws\config
このファイルには以下の形式の行が含まれている必要があります。
+
[default] region = your_aws_region
+
your_aws_region を目的の AWS リージョン (「us-west-1」など) に置き換えます。
-
-
AWS_REGION
環境変数を設定します。Linux、macOS、または Unix では、
を使用してください:
export AWS_REGION=your_aws_region
Windows では、
を使用します。
set AWS_REGION=your_aws_region
your_aws_region は目的の AWS リージョン 名です。