이 페이지는 볼트와 2012년의 원래 REST API를 사용하는 Amazon Glacier 서비스의 기존 고객에게만 해당됩니다.
아카이브 스토리지 솔루션을 찾고 있다면 Amazon Glacier Amazon S3, S3 Glacier Flexible Retrieval 및 S3S3 Glacier Deep Archive의 Amazon Glacier 스토리지 클래스를 사용하는 것이 좋습니다. 이러한 스토리지 옵션에 대한 자세한 내용은 Amazon Glacier 스토리지 클래스
Amazon Glacier(기존 독립 실행형 볼트 기반 서비스)는 2025년 12월 15일부터 기존 고객에게 영향을 주지 않고 더 이상 신규 고객을 받지 않습니다. Amazon Glacier는 데이터를 볼트에 저장하고 Amazon S3 및 Amazon S3 Glacier 스토리지 클래스와 구별되는 자체 APIs가 있는 독립 실행형 서비스입니다. 기존 데이터는 Amazon Glacier에서 무기한으로 안전하고 액세스할 수 있습니다. 마이그레이션이 필요하지 않습니다. 저비용 장기 아카이브 스토리지의 경우는 S3 버킷 기반 API, 전체 가용성, 저렴한 비용 및 서비스 통합을 통해 우수한 고객 경험을 제공하는 Amazon S3 Glacier 스토리지 클래스
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS CLI를 사용하여 대용량 아카이브 업로드
AWS Command Line Interface ()를 사용하여 Amazon Glacier(Amazon Glacier)에 아카이브를 업로드할 수 있습니다AWS CLI. 더 큰 아카이브의 업로드 환경을 개선하기 위해 Amazon Glacier는 멀티파트 업로드를 지원하는 여러 API 작업을 제공합니다. 이 API 작업을 사용하여 아카이브를 파트로 나누어 업로드할 수 있습니다. 이러한 파트들은 순서에 상관없이 각각 병렬 방식으로 업로드됩니다. 멀티파트 업로드에 실패하더라도 전체 아카이브가 아니라 실패한 파트만 다시 업로드하면 됩니다. 멀티파트 업로드는 크기가 1byte에서 약 40,000기비바이트(GiB)에 이르는 아카이브에 사용할 수 있습니다.
Amazon Glacier 멀티파트 업로드에 대한 자세한 내용은 섹션을 참조하세요대용량 아카이브를 여러 파트로 나누어 업로드(멀티파트 업로드).
(사전 조건) 설정 AWS CLI
-
AWS CLI를 다운로드하고 구성합니다. 관련 지침은 AWS Command Line Interface 사용자 가이드에서 다음 주제를 참조하십시오.
-
명령 프롬프트에 다음 명령을 입력하여 AWS CLI 설정을 확인합니다. 이러한 명령은 명시적으로 자격 증명을 제공하지 않으므로 기본 프로파일의 자격 증명이 사용됩니다.
-
help 명령을 사용해 보십시오.
aws help -
구성된 계정에서 Amazon Glacier 볼트 목록을 가져오려면
list-vaults명령을 사용합니다.123456789012을 AWS 계정 ID로 바꿉니다.aws glacier list-vaults --account-id123456789012 -
에 대한 현재 구성 데이터를 보려면
aws configure list명령을 AWS CLI사용합니다.aws configure list
-
(요구 사항) Python 설치
멀티파트 업로드를 완료하려면 업로드 중인 아카이브의 SHA256 트리 해시를 반드시 계산해야 합니다. 이 작업은 업로드를 원하는 파일의 SHA256 트리 해시를 계산하는 것과 다릅니다. 업로드 중인 아카이브의 SHA256 트리 해시를 계산할 때 Java, C#(.NET와 함께) 또는 Python을 사용할 수 있습니다. 이 예시에서는 Python을 사용합니다. Java 또는 C#을 사용하는 방법 지침은 체크섬 계산 섹션을 참조하세요.
Python을 설치하는 방법에 대한 자세한 내용은 Boto3 개발자 가이드의 Python 설치 또는 업데이트
(사전 조건) Amazon Glacier 볼트 생성
다음 예제를 사용하려면 Amazon Glacier 볼트가 하나 이상 생성되어 있어야 합니다. 볼트 생성에 대한 자세한 내용은 Amazon Glacier에서 볼트 생성 섹션을 참조하세요.
예:를 사용하여 대용량 아카이브를 파트로 업로드 AWS CLI
이 예시에서는 파일을 생성하고 멀티파트 업로드 API 작업을 사용하여 이 파일을 여러 파트로 나누어 Amazon Glacier에 업로드합니다.
중요
이 과정을 시작하기 전에 요구 사항 단계를 모두 수행했는지 확인합니다. 아카이브를 업로드하려면 반드시 볼트가 생성되어 있고 AWS CLI 가 구성되어 있어야 하며 Java, C#, 또는 Python을 사용하여 SHA256 트리 해시를 계산할 준비가 되어있어야 합니다.
다음 절차에서는 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-nameawsexamplevault--part-size1048576--account-id123456789012예상 결과:
{ "location": "/123456789012/vaults/awsexamplevault/multipart-uploads/uploadId", "uploadId": "uploadId" }완료되면 명령은 Amazon Glacier에서 멀티파트 업로드 리소스의 업로드 ID와 위치를 출력합니다. 이후 단계에서 이 업로드 ID를 사용합니다.
-
이 예시에서는 다음 명령을 사용하여 4.4MiB 파일을 만들고 1MiB 청크로 분할한 다음 각 청크를 업로드할 수 있습니다. 자체 파일을 업로드하려면 데이터를 청크로 분할하고 각 파트를 업로드하는 비슷한 절차를 따를 수 있습니다.
Linux 또는 macOS
다음 명령은 Linux 또는 macOS에서
file_to_upload로 이름이 지정된 4.4MiB 파일을 만듭니다.mkfile -n 9000bfile_to_uploadWindows
다음 명령은 Windows에서
file_to_upload로 이름이 지정된 4.4MiB 파일을 만듭니다.fsutil file createnewfile_to_upload4608000 -
다음으로 이 파일을 1MiB 청크로 분할합니다.
split -b 1048576file_to_uploadchunk이제 다음과 같은 다섯 개의 청크가 있습니다. 처음 네 개는 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 --bodychunkaa--range='bytes 0-1048575/*'--vault-nameawsexamplevault--account-id123456789012--upload-idupload_ID성공하면 명령에서 업로드된 파트의 체크섬이 포함된 출력이 생성됩니다.
-
upload-multipart-part명령을 다시 실행하여 멀티파트 업로드의 나머지 파트를 업로드합니다. 업로드하는 부분과 일치하도록 각 명령의--range및–-body매개변수 값을 업데이트합니다.aws glacier upload-multipart-part --bodychunkab--range='bytes 1048576-2097151/*'--vault-nameawsexamplevault--account-id123456789012--upload-idupload_IDaws glacier upload-multipart-part --bodychunkac--range='bytes 2097152-3145727/*'--vault-nameawsexamplevault--account-id123456789012--upload-idupload_IDaws glacier upload-multipart-part --bodychunkad--range='bytes 3145728-4194303/*'--vault-nameawsexamplevault--account-id123456789012--upload-idupload_IDaws glacier upload-multipart-part --bodychunkae--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-size4608000--vault-nameawsexamplevault--account-id123456789012--upload-idupload_ID--checksumchecksum완료되면 명령은 Amazon Glacier에서 아카이브의 ID, 체크섬 및 위치를 출력합니다.