AWS SDK for Java 1.x は 2024 年 7 月 31 日にメンテナンスモードに移行し、2025 年 12 月 31 end-of-support
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS のサービス の使用に必要な基本設定
概要
AWS SDK for Java で AWS のサービス を使用してアクセスするアプリケーションを正常に開発するには、次の条件が必要です。
-
AWS IAM Identity Center にあるAWS アクセスポータルにサインインできる必要があります。
-
SDK 用に設定された IAM ロールのアクセス許可により、アプリケーションが必要とする AWS のサービス へのアクセスが許可されている必要があります。PowerUserAccess AWS 管理ポリシーに関連するアクセス許可は、ほとんどの開発ニーズに十分対応できます。
-
次の要素を備えた開発環境:
-
以下の方法で設定される共有設定ファイル。
-
config
ファイルには、AWS リージョン を指定するデフォルトプロファイルが含まれています。 -
credentials
ファイルには、デフォルトプロファイルの一部として一時的な認証情報が含まれています。
-
-
適切な Java インストール。
-
Maven
や Gradle などの構築オートメーションツール。 -
コードを使用するテキストエディター。
-
(オプションだが推奨) IntelliJ IDEA
、Eclipse 、NetBeans などの IDE (統合開発環境)。 IDE を使用すると、AWS Toolkit を統合してより簡単に AWS のサービス を使用することもできます。AWS Toolkit for IntelliJ と、AWS Toolkit for Eclipse は Java 開発に使用できる 2 つのツールキットです。
-
重要
このセットアップセクションの手順は、ユーザーまたは組織が 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
ファイルを設定する手順
-
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>
-
ファイルを保存します。これで、ファイル
~/.aws/credentials
はローカルの開発システムに存在しているはずです。このファイルには、特定の名前付きプロファイルが指定されていない場合に SDK for Java が使用する [default] プロファイルが含まれています。 -
AWS アクセスポータルから IAM ロール認証情報をコピーするには、「手動での認証情報更新」にある次の手順を行います。
-
リンク先の手順のステップ 4 で、開発ニーズに合ったアクセスを許可する IAM ロールの名前を選択します。通常、このロールには PowerUserAccess や Developer などの名前が付いています。
-
ステップ 7 で、[AWS 認証情報ファイルにプロファイルを手動で追加] オプションを選択し、内容をコピーします。
-
-
コピーした認証情報をローカル
credentials
ファイルに貼り付け、貼り付けたプロファイル名をすべて削除します。ファイルは以下のようになります。[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
-
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 と同等のパフォーマンスが得られます。