콘솔을 사용하여 Amazon Simple Storage Service(Amazon S3)에 대용량 파일(1GB 이상)을 업로드하려고 합니다. 하지만 업로드가 지속적으로 실패하고 제한 시간 오류가 발생합니다. 문제를 해결하려면 어떻게 해야 합니까?
해결 방법
용량이 큰 파일의 경우 Amazon S3에서 업로드 속도를 극대화하고자 파일을 여러 개로 나눌 수 있습니다. Amazon S3 콘솔은 세션 시간 초과로 인해 대규모 업로드 중에 제한 시간을 초과할 수 있습니다. Amazon S3 콘솔 대신 AWS 명령줄 인터페이스(AWS CLI) 또는 AWS SDK를 사용해 파일을 업로드합니다.
참고: Amazon S3 콘솔을 사용하는 경우 업로드할 수 있는 최대 파일 크기는 160GB입니다. 160GB보다 큰 파일을 업로드하려면 AWS CLI, AWS SDK 또는 Amazon S3 REST API를 사용합니다.
AWS CLI
우선 AWS CLI를 설치 및 구성합니다. 이때 AWS Identity and Access Management(IAM) 사용자 또는 역할의 자격 증명으로 AWS CLI를 구성해야 합니다. IAM 사용자 또는 역할에는 Amazon S3에 액세스할 수 있는 올바른 권한이 있어야 합니다.
중요: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.
용량이 큰 파일을 업로드하려면 cp 명령을 실행합니다.
aws s3 cp cat.png s3://docexamplebucket
참고: 명령을 실행하는 위치와 동일한 디렉터리에 파일이 위치해야 합니다.
aws s3 cp와 같은 상위 수준(aws s3) 명령을 실행하면 용량이 큰 객체에 대해 Amazon S3가 자동으로 멀티파트 업로드를 수행합니다. 멀티파트 업로드에서 대용량 파일은 여러 파트로 분할되어 Amazon S3에 별도로 업로드됩니다. 모든 파트가 업로드되면 Amazon S3는 여러 파트를 단일 파일로 결합합니다. 멀티파트 업로드는 업로드 속도가 빨라지고 대용량 파일로 인한 실패 가능성이 낮아집니다.
멀티파트 업로드에 대한 자세한 내용은 AWS CLI를 사용하여 Amazon S3로 파일의 멀티파트 업로드를 수행하려면 어떻게 해야 합니까?를 참조하세요.
AWS SDK
프로그래밍 가능한 방식으로 용량이 큰 파일을 업로드하려면 Java용 AWS SDK와 같은 AWS SDK를 사용할 수 있습니다. 작업 예제는 Java용 AWS SDK를 사용하여 객체 업로드를 참조하세요.
참고: 애플리케이션 개발 및 관리를 위한 AWS SDK 및 프로그래밍 도구 키트의 전체 목록은 AWS에서 빌드할 도구를 참조하세요.
관련 정보
AWS CLI에서 Amazon S3 사용