S3 버킷과 EC2 인스턴스 간에 데이터를 복사할 때 전송 속도를 높이려면 어떻게 해야 하나요?

4분 분량
0

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 Amazon Simple Storage Service(S3) 버킷으로 데이터를 전송할 때 속도를 향상시키고 싶습니다.

간략한 설명

Amazon EC2에서 Amazon S3로 데이터를 복사, 이동 또는 동기화할 때의 전송 속도는 여러 요인에 따라 달라집니다. EC2 인스턴스와 S3 버킷 간의 전송 속도를 향상시키려면 다음 해결 방법의 방법을 사용하세요.

해결 방법

EC2 인스턴스에서 향상된 네트워킹 사용

향상된 네트워킹은 더 높은 대역폭, 더 높은 PPS(Packet Per Second) 성능 및 인스턴스 간 더 낮은 지연 시간을 제공합니다. 추가 비용 없이 향상된 네트워킹을 켤 수 있습니다.

EC2 인스턴스의 PPS 요금이 한도에 도달한 것으로 보이면 인스턴스가 네트워크 인터페이스 드라이버의 상한선에 도달했을 가능성이 높습니다. 이 경우 향상된 네트워킹을 켜세요.

참고: 향상된 네트워킹을 위한 인스턴스 요구 사항을 검토해야 합니다.

데이터 전송에 병렬 워크로드 사용

데이터 전송을 완료하는 데 걸리는 전체 시간을 줄이려면 전송을 여러 개의 상호 배타적인 작업으로 분할하세요. 예를 들어 AWS Command Line Interface(AWS CLI)를 사용하는 경우 AWS S3 cp, AWS S3 mv 또는 AWS S3 sync의 동시 인스턴스를 실행할 수 있습니다. 여러 접두사에 데이터를 분산하는 경우 AWS CLI의 여러 인스턴스를 실행하여 별도의 동기화 작업을 병렬로 수행하세요.

예를 들어 서로 다른 접두사에 병렬 동기화 작업을 실행할 수 있습니다.

  • aws s3 sync s3://source-AWSDOC-EXAMPLE-BUCKET/folder1 s3://destination-AWSDOC-EXAMPLE-BUCKET/folder1
  • aws s3 sync s3://source-AWSDOC-EXAMPLE-BUCKET/folder2 s3://destination-AWSDOC-EXAMPLE-BUCKET/folder2

**참고:**AWS CLI 명령을 실행할 때 오류가 발생하면 최신 버전의 AWS CLI를 실행하고 있는지 확인합니다.

AWS CLI에서 업로드 구성을 사용자 지정합니다.

데이터 전송 속도를 높이려면 Amazon S3에 대한 다음 AWS CLI 구성 값을 사용자 지정하세요.

  • **multipart_chunksize:**이 값은 AWS CLI가 개별 파일의 멀티파트 업로드에서 업로드하는 각 부분의 크기를 설정합니다. 이 설정을 사용하면 큰 파일을 작은 부분으로 분할하여 업로드 속도를 높일 수 있습니다.
    참고: 멀티파트 업로드의 경우 단일 파일을 10,000개 이하의 개별 파트로 업로드해야 합니다. 설정한 청크 크기에 따라 부품 파일 크기와 부품 수가 균형을 이루는지 확인하십시오.
  • max_concurrent_requests: 기본적으로 AWS CLI는 멀티스레딩을 지원합니다. 한 번에 Amazon S3로 전송할 수 있는 요청 수를 늘리려면 max_concurrent_requests 값을 변경하세요. 기본값은 10입니다. 이 값을 늘리면 응답이 정체될 수 있습니다. 그러나 더 높은 max_concurrent_requests 값과 병렬 워크로드를 결합하면 전반적으로 더 빠른 전송 속도를 확인할 수 있습니다.
    참고: 더 많은 스레드를 실행하면 시스템에서 더 많은 리소스가 소비됩니다. 컴퓨터에 최대 동시 요청 수를 지원할 수 있는 충분한 리소스가 있는지 확인하세요.

Amazon S3용 VPC 엔드포인트 사용

EC2 인스턴스가 S3 버킷과 동일한 AWS 지역에 있는 경우 Amazon S3용 Virtual Private Cloud(VPC) 엔드포인트를 사용하세요. VPC 엔드포인트는 전반적인 성능을 개선하고 Network Address Translation(NAT)에 대한 부하를 줄이는 데 도움이 될 수 있습니다.

또한 인터넷 게이트웨이, NAT 디바이스 또는 VPN 연결 없이 VPC에 비공개로 연결할 수 있습니다. VPC의 인스턴스는 Amazon S3 버킷과 같은 리소스와 통신하기 위해 퍼블릭 IP 주소를 필요로 하지 않습니다. VPC 엔드포인트를 사용하면 VPC와 Amazon S3 간의 데이터 트래픽이 AWS 네트워크에서 라우팅됩니다.

지리적으로 먼 지역 간 S3 전송 가속화 사용

EC2 인스턴스와 S3 버킷이 지리적으로 서로 가까운 경우 데이터 전송 속도가 더 빨라질 수 있습니다. 인스턴스와 버킷이 지리적으로 멀리 떨어진 지역에 있는 경우 Amazon S3 전송 가속화를 켜세요. 전송 가속화는 추가 요금이 발생하므로 반드시 Amazon S3 요금을 검토하세요.

전송 가속화가 사용 사례의 전송 속도를 향상시킬지 확인하려면 Amazon S3 전송 가속화 속도 비교 도구를 사용하세요.

EC2 인스턴스 유형 업그레이드

높은 EC2 인스턴스 CPU 사용률은 전송 속도의 요인이 될 수 있습니다. 더 높은 메모리 및 네트워크 성능을 제공하는 다른 인스턴스 유형으로 인스턴스를 업그레이드할 수 있습니다. 인스턴스 유형의 큰 인스턴스 크기는 일반적으로 같은 유형의 작은 인스턴스 크기보다 더 나은 네트워크 성능을 제공합니다.

참고: EC2 인스턴스와 Amazon S3 간에 안정적인 네트워크 연결을 위해서는 최소 10GiBPS의 네트워크 연결이 있는 인스턴스 유형을 선택하세요.

청크 전송 사용

대용량 파일을 전송하는 경우 멀티파트 업로드 및 범위 지정 GET이 전반적인 전송 성능을 개선하는 데 도움이 될 수 있습니다.

관련 정보

모범 사례 설계 패턴: Amazon S3 성능 최적화

AWS 공식
AWS 공식업데이트됨 일 년 전