このページは、ボールトと 2012 年リリース当時の REST API を使用する、Amazon Glacier サービスの既存のお客様のみを対象としています。
アーカイブストレージソリューションをお探しの場合は、Amazon S3 の Amazon Glacier ストレージクラス (S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive) を使用することをお勧めします。これらのストレージオプションの詳細については、「Amazon Glacier ストレージクラス
Amazon Glacier (元のスタンドアロンボールトベースのサービス) は、新規顧客を受け入れなくなりました。Amazon Glacier は、ボールトにデータを保存する独自の API を備えたスタンドアロンサービスであり、Amazon S3 および Amazon S3 Glacier ストレージクラスとは異なります。既存のデータは Amazon Glacier で無期限に安全性が確保され、引き続きアクセス可能です。移行は必要ありません。低コストの長期アーカイブストレージの場合、 は Amazon S3 Glacier ストレージクラス
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CLI を使用して大きなアーカイブをアップロードする
AWS Command Line Interface (AWS CLI) を使用して、Amazon Glacier (Amazon Glacier) でアーカイブをアップロードできます。大きなアーカイブのアップロードエクスペリエンスを向上させるために、Amazon Glacier にはマルチパートアップロードをサポートするいくつかの API オペレーションが用意されています。これらの API オペレーションを使用すると、アーカイブを分割してアップロードできます。パートは、任意の順序で独立かつ並列にアップロードされます。パートのアップロードが失敗した場合、アーカイブ全体ではなく、失敗したパートのみを再度アップロードするだけで済みます。マルチパートアップロードは、1 バイトから約 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 CLI の現在の設定データを確認するには、
aws configure listコマンドを使用します。aws configure list
-
(前提条件) Python のインストール
マルチパートアップロードを完了するには、アップロードするアーカイブの SHA256 木構造ハッシュを計算する必要があります。これは、アップロードするファイルの SHA256 木構造ハッシュを計算することとは異なります。アップロードするアーカイブの SHA256 木構造ハッシュを計算するには、Java、C# (.NET を使用)、または Python を使用できます。この例では、Python を使用します。Java または C# を使用する手順については、「チェックサムの計算」を参照してください。
Python のインストールの詳細については、「Boto3 デベロッパーガイド」の「Python のインストールまたは更新
(前提条件) Amazon Glacier ボールトの作成
次の例を使用するには、Amazon Glacier ボールを少なくとも 1 つ作成しておく必要があります。ボールトの作成方法の詳細については、「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" }終了すると、コマンドはマルチパートアップロードリソースのアップロード ID と Amazon Glacier 内の場所を出力します。後の手順で、このアップロード ID を使用します。
-
この例では、次のコマンドを使用して 4.4 MiB のファイルを作成し、1 MiB のチャンクに分割して、各チャンクをアップロードできます。独自のファイルをアップロードするには、データをチャンクに分割し、各パートをアップロードする、同様の手順に従います。
Linux または macOS
次のコマンドは、Linux または macOS 上に
file_to_uploadという名前の 4.4 MiB ファイルを作成します。mkfile -n 9000bfile_to_uploadWindows
次のコマンドは、Windows 上に
file_to_uploadという名前の 4.4 MiB ファイルを作成します。fsutil file createnewfile_to_upload4608000 -
次に、このファイルを 1 MiB のチャンクに分割します。
split -b 1048576file_to_uploadchunkこれで、次の 5 つのチャンクができます。最初の 4 つは 1 MiB で、最後の 1 つは約 400 キビバイト (KiB) です。
chunkaa chunkab chunkac chunkad chunkae -
upload-multipart-part コマンドを使用して、アーカイブの一部をアップロードします。アーカイブのパートは任意の順序でアップロードできます。パートを並行してアップロードすることもできます。マルチパートアップロードでは、最大 10,000 パートをアップロードできます。
次のコマンドで、
--vault-name、--account-ID、--upload-idのパラメータの値を置き換えます。アップロード ID は、initiate-multipart-uploadコマンドの出力として指定された ID と一致する必要があります。--rangeパラメータは、サイズが 1 MiB (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注記
アップロードの最後のパートが 1 MiB 未満なので、最後のコマンドの
--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終了すると、コマンドはアーカイブの ID、チェックサム、Amazon Glacier 内の場所を出力します。