메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 2006-03-01)

Amazon S3 듀얼 스택 엔드포인트 사용

Amazon S3 듀얼 스택 엔드포인트는 IPv6 및 IPv4를 통해 S3 버킷에 요청하는 것을 지원합니다. 이 단원에서는 듀얼 스택 엔드포인트를 사용하는 방법을 설명합니다.

Amazon S3 듀얼 스택 엔드포인트

듀얼 스택 엔드포인트에 요청하는 경우, 버킷 URL이 IPv6 또는 IPv4 주소로 확인됩니다. IPv6을 통해 버킷에 액세스하는 방법에 대한 자세한 내용은 IPv6을 통해 Amazon S3에 요청을 참조하십시오.

REST API를 사용하는 경우, 엔드포인트 이름(URI)을 사용하여 Amazon S3 엔드포인트에 직접 액세스합니다. 가상 호스팅 방식 또는 경로 방식 엔드포인트 이름을 사용하여 듀얼 스택 엔드포인트를 통해 S3 버킷에 액세스할 수 있습니다. Amazon S3는 리전 듀얼 스택 엔드포인트 이름만 지원합니다. 이는 이름의 일부로 리전을 지정해야 함을 뜻합니다.

듀얼 스택 가상 호스트 방식 및 경로 방식 엔드포인트 이름에는 다음과 같은 명명 규칙을 사용합니다.

  • 가상 호스팅 방식 듀얼 스택 엔드포인트:

    bucketname.s3.dualstack.aws-region.amazonaws.com

     

  • 경로 방식 듀얼 스택 엔드포인트:

    s3.dualstack.aws-region.amazonaws.com/bucketname

엔드포인트 이름 스타일에 대한 자세한 내용은 버킷 액세스를 참조하십시오. Amazon S3 엔드포인트 목록은 AWS General Reference리전 및 엔드포인트를 참조하십시오.

중요

듀얼 스택 엔드포인트를 사용할 경우 Transfer Acceleration을 사용할 수 있습니다. 자세한 내용은 Amazon S3 Transfer Acceleration 시작하기 단원을 참조하십시오.

AWS Command Line Interface(AWS CLI) 및 AWS SDK를 사용하는 경우, 파라미터 또는 플래그를 사용하여 듀얼 스택 엔드포인트를 변경할 수 있습니다. 구성 파일의 Amazon S3 엔드포인트를 재정의하여 듀얼 스택 엔드포인트를 직접 지정할 수도 있습니다. 다음 단원에서는 AWS CLI 및 AWS SDK의 듀얼 스택 엔드포인트를 사용하는 방법을 설명합니다.

AWS CLI의 듀얼 스택 엔드포인트 사용

이 단원에서는 듀얼 스택 엔드포인트에 요청하는 데 사용되는 AWS CLI 명령의 예를 보여 줍니다. AWS CLI를 설치하는 지침은 AWS CLI 설치 단원을 참조하십시오.

AWS Config 파일의 프로파일에서 구성 값 use_dualstack_endpointtrue로 설정하여 s3s3api AWS CLI 명령의 모든 Amazon S3 요청을 지정된 리전의 듀얼 스택 엔드포인트로 보냅니다. --region 옵션을 사용하여 구성 파일 또는 명령에 리전을 지정합니다.

AWS CLI에서 듀얼 스택 엔드포인트를 사용하는 경우, pathvirtual 주소 스타일이 모두 지원됩니다. 구성 파일에 설정된 주소 스타일은 버킷 이름이 호스트 이름에 있는지 URL의 일부인지 제어합니다. 기본적으로 CLI는 가능한 경우 가상 방식을 사용하나 필요한 경우 경로 방식으로 대체합니다. 자세한 내용은 AWS CLI Amazon S3 구성을 참조하십시오.

다음 예제와 같이 기본 프로파일에 use_dualstack_endpointtrue로, addressing_stylevirtual로 설정하는 명령을 사용하여 구성을 변경할 수도 있습니다.

Copy
$ aws configure set default.s3.use_dualstack_endpoint true $ aws configure set default.s3.addressing_style virtual

(모든 명령이 아닌) 지정된 AWS CLI 명령에 대해서만 듀얼 스택 엔드포인트를 사용하려는 경우, 다음 방법 중 하나를 사용할 수 있습니다.

  • s3 또는 s3api 명령에 대해 --endpoint-url 파라미터를 https://s3.dualstack.aws-region.amazonaws.com 또는 http://s3.dualstack.aws-region.amazonaws.com으로 설정하여 명령별로 듀얼 스택 엔드포인트를 사용할 수 있습니다.

    Copy
    $ aws s3api list-objects --bucket bucketname --endpoint-url https://s3.dualstack.aws-region.amazonaws.com
  • AWS Config 파일에 별도의 프로파일을 설정할 수 있습니다. 예를 들어 use_dualstack_endpointtrue로 설정하는 프로파일을 하나 작성하고, use_dualstack_endpoint를 설정하지 않는 프로파일을 하나 작성합니다. 명령을 실행할 때 듀얼 스택 엔드포인트를 사용할지 여부에 따라 사용할 프로파일을 지정합니다.

참고

현재는 AWS CLI에서 듀얼 스택 엔드포인트로 Transfer Acceleration를 사용할 수 없습니다. 그러나 곧 AWS CLI를 지원할 예정입니다. 자세한 내용은 AWS Command Line Interface(AWS CLI)의 Transfer Acceleration 사용 섹션을 참조하십시오.

AWS SDK의 듀얼 스택 엔드포인트 사용

이 단원에서는 AWS SDK를 사용하여 듀얼 스택 엔드포인트에 액세스하는 방법의 예제를 보여 줍니다.

AWS Java SDK 듀얼 스택 엔드포인트 예제

다음 예제와 같이 setS3ClientOptions 인스턴스를 만들 때 AWS Java SDK의 AmazonS3Client 메서드를 사용하여 듀얼 스택 엔드포인트를 사용하도록 설정합니다.

Copy
AmazonS3 s3Client = new AmazonS3Client(new ProfileCredentialsProvider()); s3Client.setRegion(Region.getRegion(Regions.US_WEST_2)); s3Client.setS3ClientOptions(S3ClientOptions.builder().enableDualstack().build());

Microsoft Windows에서 AWS Java SDK를 사용하는 경우, 다음과 같은 Java 가상 머신(JVM) 속성을 설정해야 할 수 있습니다.

Copy
java.net.preferIPv6Addresses=true

실제 Java 예제를 작성하여 테스트하는 방법에 대한 자세한 내용은 Java 코드 예제 테스트 단원을 참조하십시오.

AWS .NET SDK 듀얼 스택 엔드포인트 예제

.NET용 AWS SDK를 사용하는 경우, 다음 예제와 같이 AmazonS3Config 클래스를 사용하여 듀얼 스택 엔드포인트를 사용하도록 설정합니다.

Copy
var config = new AmazonS3Config { UseDualstackEndpoint = true, RegionEndpoint = RegionEndpoint.USWest2 }; using (var s3Client = new AmazonS3Client(config)) { var request = new ListObjectsRequest { BucketName = “myBucket” }; var response = s3Client.ListObjects(request); }

객체 나열에 대한 전체 .NET 예제는 .NET용 AWS SDK을 사용한 키 나열 단원을 참조하십시오.

참고

현재는 듀얼 스택 엔드포인트를 사용할 경우 전송 속도를 높일 수 없습니다. 구성 객체에 UseAccelerateEndpointUseDualstackEndpoint를 모두 구성하는 경우 .NET SDK에서 예외가 발생합니다. 자세한 내용은 .NET용 AWS SDK의 Transfer Acceleration 사용 단원을 참조하십시오.

실제 .NET 예제를 작성하여 테스트하는 방법에 대한 자세한 내용은 Amazon S3 .NET 코드 예시 실행 단원을 참조하십시오.

REST API의 듀얼 스택 엔드포인트 사용

REST API를 사용하여 듀얼 스택 엔드포인트에 요청하는 방법에 대한 자세한 내용은 REST API를 사용하여 듀얼 스택 엔드포인트에 요청 단원을 참조하십시오.