AWS SDK for Java 1.x 클라이언트를 사용하여 애플리케이션 찾기 - AWS SDK for Java 2.x

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 버전을 식별하는 데이터 레이크를 만듭니다.

  1. CloudTrail 데이터 레이크를 만듭니다. 이벤트 데이터 스토어를 만들려면 사용 설명서를 참조하세요.

  2. 데이터 스토어를 만든 후 레코드 콘텐츠를 검사합니다. 레코드 본문에는 요청된 작업, 타이밍 및 위치를 결정하는 필드가 포함되어 있습니다. 자세한 내용은 CloudTrail 레코드 콘텐츠에 대한 사용 설명서를 참조하세요.

  3. 데이터에 대해 쿼리를 실행합니다. 사용 설명서에 따라 쿼리하고 쿼리 결과를 저장합니다.

각 레코드의 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" }

이 정보를 사용하여 요청이 이루어진 때와 위치를 확인할 수 있습니다.

이 예제에서 DynamoDB ListTables 요청은 Alice라는 이름의 IAM 사용자 자격 증명을 사용하여 IP 주소(12.345.6.78)에서 2025-07-01 02:23:52 (UTC)에 생성됐습니다. userAgent 필드의 값은 요청이 JDK 11이 설치된 Linux 시스템의 AWS SDK for Java 버전 1.12.746을 사용하여 이루어졌음을 보여줍니다.

AWS CloudTrail 이벤트 레코드의 필드에 대한 설명은 관리, 데이터 및 네트워크 활동 이벤트에 대한 CloudTrail 레코드 콘텐츠를 참조하세요.