開発用の AWS 認証情報とリージョンのセットアップ - AWS SDK for Java

-AWS SDK for Javaチームが採用していますソフトウェア開発エンジニアオープンソースソフトウェアとAWS開発者エクスペリエンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

開発用の AWS 認証情報とリージョンのセットアップ

AWS SDK for Java でサポートされている任意のサービスに接続するには、AWS 認証情報を指定する必要があります。AWS SDK と CLI では、プロバイダーチェーンを使用して、システムまたはユーザーの環境変数やローカルの AWS 設定ファイルなど、いくつかの場所にある AWS 認証情報が検索されます。

このトピックでは、の設定に関する基本情報について説明します。AWSを使用したローカルアプリケーション開発の認証情報AWS SDK for Java。EC2 インスタンス内で使用するための認証情報をセットアップする必要がある場合、または開発に Eclipse IDE を使用している場合は、代わりに以下のトピックを参照してください。

認証情報の設定

AWS SDK for Java で使用する認証情報の設定はさまざまな方法で行うことができますが、推奨される手法を次に示します。

  • 次の場所にあるローカルシステム上の AWS 認証情報プロファイルファイルで認証情報を設定する

    • ~/.aws/credentialsLinux、macOS、Unix の場合は

    • Windows の C:\Users\USERNAME\.aws\credentials

    このファイルには以下の形式の行が含まれている必要があります。

    +

    [default] aws_access_key_id = your_access_key_id aws_secret_access_key = your_secret_access_key

    +

    your_access_key_idyour_secret_access_key の値は、独自の AWS 認証情報の値に置き換えてください。

  • AWS_ACCESS_KEY_ID および AWS_SECRET_ACCESS_KEY 環境変数を設定する

    これらの変数を Linux、macOS、または Unix で設定するには、 を使用します。

    export AWS_ACCESS_KEY_ID=your_access_key_id export AWS_SECRET_ACCESS_KEY=your_secret_access_key

    Windows でこれらの変数を設定するには、 を使用します。

    set AWS_ACCESS_KEY_ID=your_access_key_id set AWS_SECRET_ACCESS_KEY=your_secret_access_key
  • EC2 インスタンスの場合、IAM ロールを指定し、そのロールへのアクセスを EC2 インスタンスに提供します。「」を参照してください。の IAM ロールAmazon EC2のAmazon EC2これがどのように機能するかについての詳細な説明については、Linux インスタンス用ユーザーガイドを参照してください。

これらの方法のいずれかを使用して 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 SDK for Java で AWS のサービスにアクセスするために使用するデフォルトの AWS リージョン を設定する必要があります。最適なパフォーマンスを得るために、地理的に近いリージョンを選択します。各サービスのリージョンのリストについては、アマゾン ウェブ サービス の全般のリファレンスのリージョンとエンドポイントを参照してください。

注記

リージョンを選択しないと、デフォルトで 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 リージョン 名です。

トピック