AWS SDK for Java 1.x クライアントを使用してアプリケーションを検索する
AWS SDK for Java 2.x に移行する前に、環境内のどのアプリケーションがバージョン 1.x クライアントを使用しているかを特定する必要があります。AWS CloudTrail イベントで [userAgent] フィールドをクエリして、これらのアプリケーションを検索できます。
CloudTrail Lake を使用して 1.x クライアントでアプリケーションを検索する
AWS CloudTrail Lake では、CloudTrail によって記録されたイベントをクエリできます。アプリケーションで使用される SDK バージョンを識別するデータレイクを作成するには、次の手順に従ってください。
-
CloudTrail データレイクを作成します。イベントデータストアを作成するには、ユーザーガイドを参照してください。
-
データストアを作成したら、レコードの内容を調べます。レコード本文には、リクエストされたアクション、日次、場所を示すフィールドが含まれています。詳細については、CloudTrail レコードコンテンツのユーザーガイドを参照してください。
-
データに対してクエリを実行します。ユーザーガイドに従ってクエリを実行し、クエリ結果を保存します。
各レコードの [userAgent] フィールドには、リクエストを行った SDK バージョンが含まれています。このフィールドを使用して、Java SDK のバージョン 1.x を使用しているアプリケーションを特定します。
次のサンプルクエリは、EventDatastoreID sample-Data-Store-Id に対して 2025 年 6 月 17 日以降に Java SDK 1.x で行われたすべてのリクエストを検索します。
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.%' 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 を使用する Linux システムから AWS SDK for Java のバージョン 1.12.746 を使用してリクエストが行われたことを示しています。
AWS CloudTrail イベントレコードのフィールドの説明については、「管理、データ、ネットワークアクティビティイベントの CloudTrail レコードコンテンツ」を参照してください。