클라이언트 구성 - AWS SDK for Java 1.x

AWS SDK for Java 1.x는 2024년 7월 31일부터 유지 관리 모드로 전환되었으며 2025년 12월 31end-of-support일에 도달할 예정입니다. 새로운 기능, 가용성 개선 사항 및 보안 업데이트를 AWS SDK for Java 2.x 계속 받으려면 로 마이그레이션하는 것이 좋습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

클라이언트 구성

를 AWS SDK for Java 사용하면 기본 클라이언트 구성을 변경할 수 있습니다. 이는 다음을 수행할 때 유용합니다.

  • 프록시를 통해 인터넷에 연결

  • 연결 제한 시간 및 요청 재시도와 같은 HTTP 전송 설정 변경

  • TCP 소켓 버퍼 크기 힌트 지정

프록시 구성

클라이언트 객체를 구성할 때 선택적 ClientConfiguration 객체를 전달하여 클라이언트의 구성을 사용자 지정할 수 있습니다.

프록시 서버를 통해 인터넷에 연결하는 경우 ClientConfiguration 객체를 통해 프록시 서버 설정(프록시 호스트, 포트 및 사용자 이름/암호)을 구성해야 합니다.

HTTP 전송 구성

ClientConfiguration 객체를 사용하여 여러 HTTP 전송 옵션을 구성할 수 있습니다. 새 옵션이 가끔 추가됩니다. 검색하거나 설정할 수 있는 옵션의 전체 목록을 보려면 참조를 AWS SDK for Java API 참조하세요.

참고

각각의 구성 가능한 값마다 기본값이 상수로 정의되어 있습니다. 의 상수 값 목록은 참조의 상수 필드 값을 ClientConfiguration참조하세요 AWS SDK for Java API.

최대 연결 수

ClientConfiguration.setMaxConnections 메서드를 사용하여 허용되는 최대 개방 HTTP 연결 수를 설정할 수 있습니다.

중요

연결 충돌과 성능 저하를 방지하기 위해 최대 연결 수를 동시 트랜잭션 수에 맞게 설정합니다. 기본 최대 연결 값은 참조의 상수 필드 값을 참조하세요 AWS SDK for Java API.

제한 시간 및 오류 처리

제한 시간 및 HTTP 연결 관련 처리 오류와 관련된 옵션을 설정할 수 있습니다.

  • 연결 제한 시간

    연결 제한 시간은 HTTP 연결이 포기하기 전에 연결을 설정하기 위해 기다리는 시간(밀리초)입니다. 기본값은 10,000ms입니다.

    이 값을 직접 설정하려면 ClientConfiguration.setConnectionTimeout 메서드를 사용합니다.

  • 라이브 연결 시간(TTL)

    기본적으로 SDK는 가능한 한 HTTP 연결을 재사용하려고 시도합니다. 서비스가 중단된 서버에 대한 연결이 설정된 장애 상황에서 유한을 확보하면 애플리케이션 복구에 도움이 될 TTL 수 있습니다. 예를 들어 15분을 설정하면 문제가 발생한 서버에 대한 연결이 설정된 TTL 경우에도 15분 이내에 새 서버에 대한 연결을 다시 설정할 수 있습니다.

    HTTP 연결을 설정하려면 ClientConfiguration.setConnectionTTL 메서드를 TTL사용합니다.

  • 최대 오류 재시도 횟수

    재설정 가능한 오류의 기본 최대 재시도 수는 3입니다. ClientConfiguration.setMaxErrorRetry 메서드를 사용하여 다른 값을 설정할 수 있습니다.

로컬 주소

HTTP 클라이언트가 바인딩할 로컬 주소를 설정하려면 를 사용합니다ClientConfiguration.setLocalAddress

TCP 소켓 버퍼 크기 힌트

하위 수준 TCP 파라미터를 조정하려는 고급 사용자는 ClientConfiguration 객체를 통해 TCP 버퍼 크기 힌트를 추가로 설정할 수 있습니다. 대부분의 사용자는 이러한 값을 변경할 필요가 없으며, 이 기능은 고급 사용자용으로 제공됩니다.

애플리케이션의 최적의 TCP 버퍼 크기는 네트워크 및 운영 체제 구성과 기능에 크게 의존합니다. 예를 들어, 대부분의 최신 운영 체제는 TCP 버퍼 크기에 대한 자동 튜닝 로직을 제공합니다. 이는 자동 튜닝이 버퍼 크기를 최적화할 수 있을 만큼 충분히 오랫동안 열려 있는 TCP 연결의 성능에 큰 영향을 미칠 수 있습니다.

대형 버퍼 크기(예: 2MB)를 사용하면 운영 체제는 원격 서버에서 해당 정보 수신 여부를 확인할 필요가 없으므로 메모리 더 많은 데이터를 버퍼링할 수 있으며, 이는 네트워크 지연 시간이 긴 경우에 특히 유용합니다.

이 옵션은 힌트일 뿐, 운영 체제에서는 인식하지 못할 수도 있습니다. 이 옵션을 사용하는 경우 사용자는 운영 체제의 구성된 제한 및 기본값을 항상 확인해야 합니다. 대부분의 운영 체제에는 최대 TCP 버퍼 크기 제한이 구성되어 있으며, 최대 TCP 버퍼 크기 제한을 명시적으로 올리지 않는 한 이 한도를 초과하지 않습니다.

다음을 포함하여 TCP 버퍼 크기 및 운영 체제별 TCP 설정을 구성하는 데 도움이 되는 많은 리소스를 사용할 수 있습니다.