이 페이지는 Vaults와 2012RESTAPI년의 원본을 사용하는 S3 Glacier 서비스의 기존 고객만 사용할 수 있습니다.
아카이브 스토리지 솔루션을 찾고 있다면 Amazon S3, S3 Glacier Instant Retrieval , S33 S3 Glacier Flexible Retrieval 및 S3 Glacier Deep Archive 의 S3 Glacier 스토리지 클래스를 사용하는 것이 좋습니다. Amazon S3 이러한 스토리지 옵션에 대한 자세한 내용은 Amazon S3 사용 설명서의 S3 Glacier 스토리지 클래스
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS CLI를 사용하여 대용량 아카이브 업로드
() 를 사용하여 Amazon S3 빙하 (S3 Glacier) 에 아카이브를 업로드할 수 있습니다. AWS Command Line Interface AWS CLI대규모 아카이브의 업로드 환경을 개선하기 위해 S3 Glacier는 멀티파트 업로드를 지원하는 몇 가지 API 작업을 제공합니다. 이러한 API 작업을 사용하여 아카이브를 여러 부분으로 나누어 업로드할 수 있습니다. 이러한 파트들은 순서에 상관없이 각각 병렬 방식으로 업로드됩니다. 멀티파트 업로드에 실패하더라도 전체 아카이브가 아니라 실패한 파트만 다시 업로드하면 됩니다. 멀티파트 업로드는 크기가 1byte에서 약 40,000기비바이트(GiB)에 이르는 아카이브에 사용할 수 있습니다.
S3 Glacier 멀티파트 업로드에 대한 자세한 내용은 대용량 아카이브를 여러 파트로 나누어 업로드(멀티파트 업로드) 섹션을 참조하세요.
주제
(전제 조건) 설정 AWS CLI
-
AWS CLI를 다운로드하고 구성합니다. 관련 지침은 AWS Command Line Interface 사용자 가이드에서 다음 주제를 참조하십시오.
-
명령 프롬프트에 다음 명령을 입력하여 AWS CLI 설정을 확인합니다. 이러한 명령은 명시적으로 자격 증명을 제공하지 않으므로 기본 프로파일의 자격 증명이 사용됩니다.
-
help 명령을 사용해 보십시오.
aws help
-
list-vaults
명령을 사용하여, 구성된 계정의 S3 Glacier 볼트 목록을 가져옵니다. Replace123456789012
AWS 계정 ID와 함께.aws glacier list-vaults --account-id
123456789012
-
의 현재 구성 데이터를 보려면
aws configure list
명령을 사용하십시오. AWS CLIaws configure list
-
(요구 사항) Python 설치
멀티파트 업로드를 완료하려면 업로드하려는 아카이브의 SHA256 트리 해시를 계산해야 합니다. 이렇게 하는 것은 업로드하려는 파일의 SHA256 트리 해시를 계산하는 것과 다릅니다. 업로드하려는 아카이브의 SHA256 트리 해시를 Java 계산하려면 C# (with. NET) 또는. Python 이 예시에서는 Python을 사용합니다. Java 또는 C#을 사용하는 방법 지침은 체크섬 계산 섹션을 참조하세요.
Python을 설치하는 방법에 대한 자세한 내용은 Boto3 개발자 가이드의 Python 설치 또는 업데이트
(요구 사항) S3 Glacier 볼트 생성
다음 예시를 사용하려면 적어도 하나 이상의 S3 Glacier 볼트가 생성되어 있어야 합니다. 볼트 생성에 대한 자세한 내용은 Amazon S3 Glacier에서 볼트 생성 섹션을 참조하세요.
예: 를 사용하여 대규모 아카이브를 여러 부분으로 나누어 업로드 AWS CLI
이 예시에서는 파일을 생성하고 멀티파트 업로드 API 작업을 사용하여 이 파일을 여러 부분으로 나누어 업로드합니다. Amazon S3 Glacier
중요
이 과정을 시작하기 전에 요구 사항 단계를 모두 수행했는지 확인합니다. 아카이브를 업로드하려면 저장소를 만들고 AWS CLI 구성한 다음 C #을 사용하거나 Java SHA256 트리 해시를 계산할 준비가 되어 있어야 합니다. Python
다음 절차에서는 initiate-multipart-upload
upload-multipart-part
, 및 complete-multipart-upload
AWS CLI 명령을 사용합니다.
이 명령에 대한 자세한 내용은 AWS CLI 명령 참조의 initiate-multipart-upload, upload-multipart-part, complete-multipart-upload 섹션을 참조하세요.
-
initiate-multipart-upload 명령을 사용하여 멀티파트 업로드 리소스를 생성합니다. 요청에서 파트 크기를 바이트 수로 지정합니다. 마지막 파트를 제외하고 사용자가 업로드한 파트는 여기에서 지정하는 크기를 따라야 합니다. 멀티파트 업로드를 시작할 때 전체 아카이브 크기를 알 필요는 없습니다. 하지만 최종 단계에서 업로드를 완료할 때는 각 파트의 총 크기가 바이트로 필요합니다.
다음 명령에서
--vault-name
및--account-ID
파라미터의 값을 사용자의 정보로 바꿉니다. 이 명령은 파트 크기가 파일당 1메비바이트(MiB)(1024 x 1024바이트)인 아카이브를 업로드하도록 지정합니다. 필요한 경우 이--part-size
파라미터 값을 바꾸세요.aws glacier initiate-multipart-upload --vault-name
awsexamplevault
--part-size1048576
--account-id123456789012
예상 결과:
{ "location": "/
123456789012
/vaults/awsexamplevault
/multipart-uploads/uploadId
", "uploadId": "uploadId
" }완료되면 이 명령은 멀티파트 업로드 리소스의 업로드 ID와 S3 Glacier 내의 위치를 출력합니다. 이후 단계에서 이 업로드 ID를 사용합니다.
-
이 예시에서는 다음 명령을 사용하여 4.4MiB 파일을 만들고 1MiB 청크로 분할한 다음 각 청크를 업로드할 수 있습니다. 자체 파일을 업로드하려면 데이터를 청크로 분할하고 각 파트를 업로드하는 비슷한 절차를 따를 수 있습니다.
Linux 또는 macOS
다음 명령은 Linux 또는 macOS에서
file_to_upload
로 이름이 지정된 4.4MiB 파일을 만듭니다.mkfile -n 9000b
file_to_upload
Windows
다음 명령은 Windows에서
file_to_upload
로 이름이 지정된 4.4MiB 파일을 만듭니다.fsutil file createnew
file_to_upload
4608000 -
다음으로 이 파일을 1MiB 청크로 분할합니다.
split -b 1048576
file_to_upload
chunk이제 다음과 같은 다섯 개의 청크가 있습니다. 처음 네 개는 1MiB이고 마지막 한 개는 약 400키비바이트(KiB)입니다.
chunkaa chunkab chunkac chunkad chunkae
-
upload-multipart-part 명령을 사용하여 아카이브의 파트를 업로드합니다. 아카이브를 파트를 어떤 순서로든 업로드할 수 있습니다. 또한 병렬 방식으로 파트를 업로드할 수도 있습니다. 멀티파트 업로드에서 업로드할 수 있는 파트 수는 최대 10,000개입니다.
다음 명령에서
--vault-name
,--account-ID
, 및--upload-id
파라미터 값을 바꿉니다. 업로드 ID는initiate-multipart-upload
명령 출력으로 제공된 ID와 일치해야 합니다.--range
파라미터는 크기가 1MiB(1024 x 1024바이트)인 파트를 업로드하도록 지정합니다. 이 크기는initiate-multipart-upload
명령에서 지정한 크기와 일치해야 합니다. 필요한 경우 크기 값을 조정하세요.--body
파라미터는 업로드하는 파트의 이름을 지정합니다.aws glacier upload-multipart-part --body
chunkaa
--range='bytes 0-1048575/*'
--vault-nameawsexamplevault
--account-id123456789012
--upload-idupload_ID
성공하면 명령에서 업로드된 파트의 체크섬이 포함된 출력이 생성됩니다.
-
upload-multipart-part
명령을 다시 실행하여 멀티파트 업로드의 나머지 파트를 업로드합니다. 업로드하는 부분과 일치하도록 각 명령의--range
및–-body
매개변수 값을 업데이트합니다.aws glacier upload-multipart-part --body
chunkab
--range='bytes 1048576-2097151/*'
--vault-nameawsexamplevault
--account-id123456789012
--upload-idupload_ID
aws glacier upload-multipart-part --body
chunkac
--range='bytes 2097152-3145727/*'
--vault-nameawsexamplevault
--account-id123456789012
--upload-idupload_ID
aws glacier upload-multipart-part --body
chunkad
--range='bytes 3145728-4194303/*'
--vault-nameawsexamplevault
--account-id123456789012
--upload-idupload_ID
aws glacier upload-multipart-part --body
chunkae
--range='bytes 4194304-4607999/*'
--vault-nameawsexamplevault
--account-id123456789012
--upload-idupload_ID
참고
업로드의 마지막 부분이 1MiB 미만이므로 최종 명령의
--range
파라미터 값은 그보다 더 작습니다. 성공하면 각 명령에서 업로드된 각 부분에 대한 체크섬이 포함된 출력을 생성합니다. -
다음으로 아카이브를 조합하고 업로드를 완료합니다. 아카이브의 전체 크기 및 SHA256 트리 해시를 포함해야 합니다.
아카이브의 SHA256 트리 해시를 계산하려면Java, C# 또는 를 사용할 수 있습니다. Python 이 예시에서는 Python을 사용합니다. Java 또는 C#을 사용하는 방법 지침은 체크섬 계산 섹션을 참조하세요.
Python 파일
checksum.py
를 생성하고 다음 코드를 추가합니다. 필요한 경우 원본 파일의 이름을 바꾸세요.from botocore.utils import calculate_tree_hash checksum = calculate_tree_hash(open('
file_to_upload
', 'rb')) print(checksum) -
checksum.py
를 실행하여 SHA256 트리 해시를 계산합니다. 다음 해시는 출력과 일치하지 않을 수 있습니다.$
python3 checksum.py$
3d760edb291bfc9d90d35809243de092aea4c47b308290ad12d084f69988ae0c -
complete-multipart-upload 명령을 사용하여 아카이브 업로드를 완료합니다.
--vault-name
,--account-ID
,--upload-ID
, 및--checksum
파라미터의 값을 바꿉니다.--archive
파라미터 값은 아카이브의 전체 크기를 바이트로 지정합니다. 이 값은 반드시 업로드한 개별 파트 크기의 총합이 되어야 합니다. 필요한 경우 이 값을 바꾸세요.aws glacier complete-multipart-upload --archive-size
4608000
--vault-nameawsexamplevault
--account-id123456789012
--upload-idupload_ID
--checksumchecksum
완료되면 명령이 아카이브의 ID, 체크섬 및 S3 Glacier 내의 위치를 출력합니다.