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

곧 출시될 end-of-support AWS SDK for Java (v1) 버전을 발표했습니다. AWS SDK for Java V2로 마이그레이션하실 것을 권장합니다. 마이그레이션 날짜, 추가 세부 정보 및 방법에 대한 자세한 내용은 링크된 공지 사항을 참조하세요.

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

클라이언트 구성

를 AWS SDK for Java 사용하면 기본 클라이언트 구성을 변경할 수 있으므로 다음과 같은 경우에 유용합니다.

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

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

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

프록시 구성

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

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

HTTP 전송 구성

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

참고

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

최대 연결 수

를 사용하여 열린 HTTP 연결의 최대 허용 수를 설정할 수 ClientConfiguration있습니다. setMaxConnections메서드.

중요

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

제한 시간 및 오류 처리

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

  • 연결 제한 시간

    연결 제한 시간은 HTTP 연결 시 연결 시도를 포기하기 전에 연결이 설정될 때까지 기다리는 시간(밀리초)입니다. 기본값은 10,000ms입니다.

    이 값을 직접 설정하려면 를 사용하십시오 ClientConfiguration. setConnectionTimeout메서드.

  • 연결 TTL(Time to Live)

    기본적으로 SDK에서는 최대한 오랫동안 HTTP 연결을 재사용하려고 합니다. 서비스가 불가능한 서버에 연결이 설정된 실패 상황에서는 유한 TTL을 설정하는 것이 애플리케이션을 복구하는 데 도움이 될 수 있습니다. 예를 들어 TTL을 15분으로 설정하면 문제가 발생한 서버에 연결이 설정된 경우라도 15분 내에 새 서버와의 연결이 다시 설정됩니다.

    HTTP 연결 TTL을 설정하려면 ClientConfiguration.setConnectionTTL 메서드를 사용하십시오.

  • 최대 오류 재시도 횟수

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

로컬 주소

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

TCP 소켓 버퍼 크기 힌트

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

애플리케이션용 TCP 버퍼 크기(선택 사항)는 주로 네트워크와 운영 체제 구성 및 기능에 따라 결정됩니다. 예를 들면, 대부분의 현대식 운영 체제는 TCP 버퍼 크기에 대해 자동 튜닝 논리를 제공하는데, 이는 자동 튜닝을 통해 버퍼 크기를 최적화할 수 있을 만큼 TCP 연결이 충분히 오랫동안 열린 상태로 유지되어야 하므로 TCP 연결성능에 큰 영향을 미칠 수 있습니다.

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

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

다음과 같은 여러 리소스는 TCP 버퍼 크기와 운영 체제별 TCP 설정을 구성하는 데 도움이 됩니다.