AWS のサービス の使用に必要な基本設定 - AWS SDK for Java 1.x

AWS SDK for Java (v1) の近日発表 end-of-support しました。AWS SDK for Java v2 に移行することをお勧めします。日付、その他の詳細、移行方法については、リンク先の発表内容を参照してください。

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

AWS のサービス の使用に必要な基本設定

概要

AWS SDK for Java で AWS のサービス を使用してアクセスするアプリケーションを正常に開発するには、次の条件が必要です。

重要

このセットアップセクションの手順は、ユーザーまたは組織が IAM アイデンティティセンターを使用していることを前提としています。組織が IAM アイデンティティセンターとは独立して機能する外部 ID プロバイダーを使用している場合は、SDK for Java で使用するための一時的な認証情報を取得する方法をご確認ください。以下の手順に従って、~/.aws/credentials ファイルに一時的な認証情報を追加します。

ID プロバイダーが一時的な認証情報を ~/.aws/credentials ファイルに自動的に追加する場合は、SDK AWS CLI またはにプロファイル名を指定する必要がないように、プロファイル名が [default] であることを確認してください。

AWS アクセスポータルにサインインします。

AWS アクセスポータルは、IAM アイデンティティセンターに手動でサインインするウェブ上の場所です。URL のフォーマットは d-xxxxxxxxxx.awsapps.com/start、または your_subdomain.awsapps.com/start です。

AWS アクセスポータルに慣れていない場合は、AWS SDK およびツールリファレンスガイドの IAM Identity Center authentication にあるアカウントアクセスに関するガイダンスに従ってください。ステップ 2 には従わないでください。AWS SDK for Java 1.x では、ステップ 2 で説明されている SDK の自動トークン更新や SDK の一時的な認証情報の自動取得がサポートされていないためです。

共有設定ファイルを設定します。

共有設定ファイルは開発ワークステーションにあり、すべての AWS SDK と AWS Command Line Interface (CLI) で使用される基本設定が含まれています。共有設定ファイルには多数の設定を含めることができますが、これらの手順は SDK を使用するために必要な基本要素を設定します。

共有 config ファイルをセットアップする

共有 config ファイルの内容の例を以下に示します。

[default] region=us-east-1 output=json

開発目的では、コードを実行する予定の AWS リージョン に最も近い場所を使用してください。config ファイルで使用するリージョンコードのリストについては、「Amazon Web Services 全般のリファレンス ガイド」を参照してください。出力形式の json 設定は、いくつかの可能な値のうちの 1 つです。

このセクションのガイダンスに従って config ファイルを作成します。

SDK の一時的な認証情報を設定します。

AWS アクセスポータルから AWS アカウント と IAM ロールにアクセスできるようになったら、SDK がアクセスするための一時的な認証情報を使用して開発環境を設定します。

一時的な認証情報を使用してローカル credentials ファイルを設定する手順
  1. 共有 credentials ファイルを作成します

  2. credentials ファイルに、作業用の一時認証情報を貼り付けるまで次のプレースホルダーテキストを貼り付けます。

    [default] aws_access_key_id=<value from AWS access portal> aws_secret_access_key=<value from AWS access portal> aws_session_token=<value from AWS access portal>
  3. ファイルを保存します。これで、ファイル ~/.aws/credentials はローカルの開発システムに存在しているはずです。このファイルには、特定の名前付きプロファイルが指定されていない場合に SDK for Java が使用する [default] プロファイルが含まれています。

  4. AWS アクセスポータルにサインインします

  5. AWS アクセスポータルから IAM ロール認証情報をコピーするには、「手動での認証情報更新」にある次の手順を行います。

    1. リンク先の手順のステップ 4 で、開発ニーズに合ったアクセスを許可する IAM ロールの名前を選択します。通常、このロールには PowerUserAccessDeveloper などの名前が付いています。

    2. ステップ 7 で、[AWS 認証情報ファイルにプロファイルを手動で追加] オプションを選択し、内容をコピーします。

  6. コピーした認証情報をローカル credentials ファイルに貼り付け、貼り付けたプロファイル名をすべて削除します。ファイルは以下のようになります。

    [default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
  7. credentials ファイルを保存します。

SDK for Java は、サービスクライアントを作成するときにこれらの一時的な認証情報にアクセスし、各リクエストに使用します。ステップ 5a で選択した IAM ロールの設定により、一時的な認証情報の有効期間が決まります。最大期間は 12 時間です。

一時的な認証情報の有効期限が切れたら、ステップ 4~7 を繰り返します。

Java 開発環境をインストールします。

AWS SDK for Java には、J2SE Development Kit 6.0 以降が必要です。最新の Java ソフトウェアは http://www.oracle.com/technetwork/java/javase/downloads/ からダウンロードできます。

重要

Java バージョン1.6 (JS2E 6.0) には、SHA256 で署名された SSL 証明書の組み込みサポートがありませんでした。これは 2015 年 9 月 30 日以降の AWS とのすべての HTTPS 接続で必須です。

Javaバージョン 1.7 以降は更新された証明書でパッケージ化されており、この問題の影響を受けません。

JVM の選択

AWS SDK for Java が搭載されたサーバーベースのアプリケーションで最高のパフォーマンスを得るには、64 ビットバージョンの Java Virtual Machine (JVM) を使うことをお勧めします。この JVM は、実行時にお客様が -Client オプションを指定しても、サーバーモードでのみ稼働します。

実行時に -Server オプションを指定して 32 ビットバージョンの JVM を使うと、64 ビットの JVM と同等のパフォーマンスが得られます。