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

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

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

클라이언트 구성

AWS SDK for Java에서는 기본 클라이언트 구성을 변경할 수 있으며, 이러한 구성 변경은 다음 작업을 수행하려는 경우에 도움이 됩니다.

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

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

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

프록시 구성

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

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

HTTP 전송 구성

ClientConfiguration객체를 사용하여 여러 HTTP 전송 옵션을 구성할 수 있습니다. 이따금씩 새 옵션이 추가되기도 합니다. 가져오거나 설정할 수 있는 전체 옵션 목록을 보려면 AWS SDK for Java API 참조를 참조하세요.

참고

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

최대 연결 수

를 사용하여 열린 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 설정을 구성하는 데 도움이 됩니다.