

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

# AWS SDK for Java 1.x クライアントを使用してアプリケーションを検索する
<a name="migration-find-apps-using-v1"></a>

に移行する前に AWS SDK for Java 2.x、環境内のどのアプリケーションが SDK for Java 1.x クライアントを使用しているかを特定する必要があります。CloudTrail ログを使用して、SDK の使用状況を追跡したり、アプリケーションログで非推奨の警告を検索したり、ソースコードとビルド設定を調べたり、デプロイ可能な Java アーティファクトを調べたりできます。環境で使用可能なメソッドを使用します。

## CloudTrail Lake を使用して 1.x クライアントでアプリケーションを検索する
<a name="migration-find-v1-apps-with-cloudtrail"></a>

AWS CloudTrail Lake では、CloudTrail によって記録されたイベントをクエリできます。アプリケーションで使用される SDK バージョンを識別するデータレイクを作成するには、次の手順に従ってください。

1. CloudTrail データレイクを作成します。イベントデータストアを作成するには、[ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html)を参照してください。

1. データストアを作成したら、レコードの内容を調べます。レコード本文には、リクエストされたアクション、日次、場所を示すフィールドが含まれています。詳細については、[CloudTrail レコードコンテンツのユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html)を参照してください。

1. データに対してクエリを実行します。[ユーザーガイドに従ってクエリを実行し、クエリ結果を保存します](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-run-query.html)。

各レコードの *[userAgent]* フィールドには、リクエストを行った SDK バージョンが含まれています。このフィールドを使用して、SDK for Java 1.x を使用するアプリケーションを識別します。

次のサンプルクエリは、EventDatastoreID の 2025 年 6 月 17 日以降に SDK for Java 1.x で行われたユーザーアプリケーションおよびサードパーティーツールからのすべてのリクエストを検索します`sample-Data-Store-Id`。

```
select userIdentity, eventSource, awsRegion,
    eventName, eventType, eventTime, userAgent,
    requestParameters, sourceIPAddress
 from sample-Data-Store-Id
where eventTime > '2025-06-17 00:00:00'
and userAgent like '%aws-sdk-java/1.%'
and userAgent not like '%aws-internal/%'
order by eventTime desc
```

以下は、クエリ結果のイベントコンテンツの例です。

```
{
    "userIdentity": "{
         "type": "IAMUser",
         "principalId": "AIDAJ45Q7YFFAREXAMPLE",
         "arn": "arn:aws:iam::123456789012:user/Alice",
         "accountId": "123456789012",
         "accessKeyId": "",
         "userName": "Alice"
    }",
    "eventSource": "dynamodb.amazonaws.com",
    "awsRegion": "us-west-2",
    "eventName": "ListTables",
    "eventType": "AwsApiCall",
    "eventTime": "2025-07-01 02:23:52.000",
    "userAgent": "aws-sdk-java/1.12.746 Linux/5.10.240 OpenJDK/11.0.25+9-LTS ...",
    "requestParameters": "",
    "sourceIPAddress": "12.345.6.78"
}
```

この情報を使用して、リクエストが行われた日時と場所を判断できます。

この例では、Alice という名前の IAM ユーザー認証情報を使用して、IP アドレス `12.345.6.78` から `2025-07-01 02:23:52 (UTC)` に DynamoDB `ListTables` リクエストが行われています。*userAgent* フィールドの値は、JDK 11 を使用する `1.12.746` Linux システムから AWS SDK for Java のバージョンを使用してリクエストが行われたことを示します。

 AWS CloudTrail イベントレコードのフィールドの説明については、[CloudTrail record contents for management, data, and network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html)」を参照してください。

アカウントで CloudTrail が有効になっていない場合は、組織の AWS アカウント管理者に連絡して有効にするか、次のセクションで説明する代替方法のいずれかを使用します。

CloudTrail Lake は、クエリごとに取り込まれたデータとスキャンされたデータに対して課金されます。コストを最小限に抑えるには、クエリを特定の時間範囲とリージョンにフィルタリングします。現在の料金については、「[AWS CloudTrail 料金表](https://aws.amazon.com/cloudtrail/pricing/)」を参照してください。

## SDK 非推奨のアプリケーション警告レベルのログを検索する
<a name="migration-find-v1-apps-log-warning"></a>

バージョン 1.12.767 (2024 年 7 月 30 日にリリース) 以降、 AWS SDK for Java 1.x はアプリケーションの起動時に非推奨警告を発行します。この警告のアプリケーションログを検索して、SDK for Java 1.x を使用しているアプリケーションとホストを特定できます。

警告の正確な表現は SDK バージョンによって異なります。
+ バージョン 1.12.767 から 1.12.796:

  `WARNING: The AWS SDK for Java 1.x entered maintenance mode starting July 31, 2024 and will reach end of support on December 31, 2025...`
+ バージョン 1.12.797 以降:

  `WARNING: The AWS SDK for Java 1.x reached end of support on December 31, 2025...`

末尾は、警告メッセージが追加のテキストで続く`...`ことを示します。共通プレフィックスを検索`The AWS SDK for Java 1.x`して、いずれかのバージョンの警告を検索できます。

次の例は、 を使用してこの警告を検索する方法を示しています`grep`。

```
grep -r "The AWS SDK for Java 1.x" /path/to/your/application/logs/
```

警告が見つかった場合、`grep`コマンドは一致するログ行を出力します。警告が見つからない場合は、アプリケーションが SDK for Java 1.x を使用していないか、1.12.767 より前のバージョンを使用しています。その場合は、このドキュメントで説明されている他の方法のいずれかを使用します。

## ソースコードと依存関係を検索する
<a name="migration-find-v1-apps-source-code"></a>

コードベースとビルド設定ファイルで AWS SDK for Java 1.x への参照を検索できます。キー識別子は、すべての SDK for Java 1.x アーティファクトで使用される`com.amazonaws`グループ ID です。

次の例は`grep`、 を使用して一般的な Java プロジェクトファイル全体の`com.amazonaws`リファレンスを検索する方法を示しています。

**例: SDK for Java 1.x インポートの Java ソースファイルを検索する (プロジェクトのルートディレクトリから実行)**

```
grep -r "import com.amazonaws" --include="*.java" .
```

出力の例:

```
src/main/java/com/example/App.java:import com.amazonaws.services.s3.AmazonS3;
```

**注記**  
`com.amazonaws` パッケージは、 などの SDK for Java 1.x に含まれていないライブラリでも使用されます`aws-lambda-java-core`。インポートが SDK for Java 1.x からのものであることを確認するには、`pom.xml`、、`build.gradle`または依存関係管理設定の対応するアーティファクト ID が で始まることを確認します`aws-java-sdk-`。

**例: Maven `pom.xml` ファイルで SDK for Java 1.x の依存関係を検索する (プロジェクトのルートディレクトリから実行)**

```
grep -r "com.amazonaws" --include="pom.xml" .
```

出力の例:

```
pom.xml:    <groupId>com.amazonaws</groupId>
```

**例: SDK for Java 1.x 依存関係の Gradle ビルドファイルを検索する (プロジェクトのルートディレクトリから実行)**

```
grep -r "com.amazonaws:aws-java-sdk" --include="*.gradle" .
```

出力の例:

```
build.gradle:    implementation 'com.amazonaws:aws-java-sdk-s3:1.12.xxx'
```

上記の`grep`コマンドは、ソースファイルとビルドファイルで直接宣言された SDK for Java 1.x リファレンスを識別します。ただし、アプリケーションは SDK for Java 1.x に推移的に依存している場合もあります。これは、SDK 自体に依存するサードパーティーのライブラリを通じて行われます。ビルドツールの依存関係ツリーを使用して、直接 SDK for Java 1.x 依存関係と推移的 SDK for Java 1.x 依存関係の両方を検索します。ビルドシステムに一致する例を選択します。

**例: Maven を使用してすべての推移的な SDK for Java 1.x 依存関係を検索する (プロジェクトのルートディレクトリから実行)**

```
mvn dependency:tree -Dincludes=com.amazonaws
```

出力の例:

```
[INFO] com.example:my-application:jar:1.0-SNAPSHOT
[INFO] +- com.amazonaws:aws-java-sdk-s3:jar:1.12.746:compile
[INFO] |  \- com.amazonaws:aws-java-sdk-core:jar:1.12.746:compile
[INFO] \- some.thirdparty:library:jar:2.3.1:compile
[INFO]    \- com.amazonaws:aws-java-sdk-dynamodb:jar:1.12.600:compile
```

`-Dincludes=com.amazonaws` フラグはツリーをフィルタリングして、SDK for Java 1.x アーティファクトのみを表示します。この例では、 `aws-java-sdk-s3`は直接的な依存関係ですが、 によってもたらされる推移的な依存関係`aws-java-sdk-dynamodb`です`some.thirdparty:library`。

**例: Gradle を使用して、すべての推移的な SDK for Java 1.x 依存関係を検索する (プロジェクトのルートディレクトリから実行)**

```
gradle dependencies --configuration runtimeClasspath | grep "com.amazonaws"
```

出力の例:

```
+--- com.amazonaws:aws-java-sdk-s3:1.12.746
|    \--- com.amazonaws:aws-java-sdk-core:1.12.746
\--- com.amazonaws:aws-java-sdk-dynamodb:1.12.600
```

Gradle には Maven の と同等の依存関係フィルターが組み込まれていないため`-Dincludes`、パイプスルーが最も簡単なアプローチ`grep`です。

## デプロイ可能な Java アーティファクトを検査する
<a name="migration-find-v1-apps-inspect-artifacts"></a>

デプロイ可能な Java アーティファクト (JARs、WARs、または EARs) を検査し、 AWS SDK for Java 1.x がアプリケーションにパッケージ化されているかどうかを確認できます。Java アーカイブファイルは ZIP 形式のファイルです。SDK for Java 1.x が存在するかどうかを判断するには、アーカイブ`com/amazonaws/sdk/versionInfo.properties`内の ファイルを探します。このファイルは `aws-java-sdk-core`モジュールに含まれ、SDK バージョン番号が含まれています。

### `jar` コマンドを使用したクイックチェック
<a name="migration-find-v1-apps-jar-command"></a>

すべての依存関係クラスが最上位レベルでマージされる uber-jar の場合、アーカイブコンテンツを一覧表示し、バージョンファイルを検索します。

次の例では、 をアプリケーションの JAR ファイルへのパス`myapp.jar`に置き換えます。

```
jar -tf myapp.jar | grep 'versionInfo.properties'
```

SDK が存在する場合、出力は次のとおりです。

```
com/amazonaws/sdk/versionInfo.properties
```

`jar` コマンドが環境で使用できない場合 (JRE 専用または最小限のコンテナイメージなど）、`unzip -l`代わりに を使用できます。

```
unzip -l myapp.jar | grep 'versionInfo.properties'
```

バージョンを出力するには:

```
unzip -p myapp.jar com/amazonaws/sdk/versionInfo.properties
```

出力の例:

```
platform=java
version=1.12.xxx
```

**注記**  
上記のコマンドは、uber-jars の最上位エントリのみを検索します。SDK クラスはJARs (依存関係が外部) またはネストされた JARs (WARs、EARs`lib/`または または の Lambda パッケージなど) 内では見つかりません`WEB-INF/lib/`。シン JARs の場合は、代わりにビルド設定 (`pom.xml`、`build.gradle`) または依存関係ツリーを確認してください。ネストされた JARs の場合は、ディスクに抽出せずに ZIP アーカイブを再帰的に読み取ることができるツールを使用して、バンドルされた JARs を検索します。