

 **このページは、ボールトと 2012 年リリース当時の REST API を使用する、Amazon Glacier サービスの既存のお客様のみを対象としています。**

アーカイブストレージソリューションをお探しの場合は、Amazon S3 の Amazon Glacier ストレージクラス (S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive) を使用することをお勧めします。これらのストレージオプションの詳細については、「[Amazon Glacier ストレージクラス](https://aws.amazon.com/s3/storage-classes/glacier/)」を参照してください。

Amazon Glacier (元のスタンドアロンボールトベースのサービス) は、新規顧客を受け入れなくなりました。Amazon Glacier は、ボールトにデータを保存する独自の API を備えたスタンドアロンサービスであり、Amazon S3 および Amazon S3 Glacier ストレージクラスとは異なります。既存のデータは Amazon Glacier で無期限に安全性が確保され、引き続きアクセス可能です。移行は必要ありません。低コストの長期アーカイブストレージの場合、 は [Amazon S3 Glacier ストレージクラス](https://aws.amazon.com/s3/storage-classes/glacier/) AWS を推奨します。これにより、S3 バケットベースの APIs、低コスト、 AWS サービス統合で優れたカスタマーエクスペリエンスを実現できます。 AWS リージョン 拡張機能が必要な場合は、[Amazon Glacier ボールトから Amazon S3 Glacier ストレージクラスにデータを転送するためのAWS ソリューションガイダンス](https://aws.amazon.com/solutions/guidance/data-transfer-from-amazon-s3-glacier-vaults-to-amazon-s3/)を使用して、Amazon S3 Glacier ストレージクラスへの移行を検討してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# を使用した大きなアーカイブのアップロード AWS CLI
<a name="uploading-an-archive-mpu-using-cli"></a>

 AWS Command Line Interface () を使用して、Amazon Glacier (Amazon Glacier) にアーカイブをアップロードできますAWS CLI。大きなアーカイブのアップロードエクスペリエンスを向上させるために、Amazon Glacier にはマルチパートアップロードをサポートするいくつかの API オペレーションが用意されています。これらの API オペレーションを使用すると、アーカイブを分割してアップロードできます。パートは、任意の順序で独立かつ並列にアップロードされます。パートのアップロードが失敗した場合、アーカイブ全体ではなく、失敗したパートのみを再度アップロードするだけで済みます。マルチパートアップロードは、1 バイトから約 40,000 ギビバイト (GiB) までのサイズのアーカイブに対して使用できます。

Amazon Glacier マルチパートアップロードの詳細については、「[パート単位での大きなアーカイブのアップロード (マルチパートアップロード)](uploading-archive-mpu.md)」を参照してください。

**Topics**
+ [(前提条件) のセットアップ AWS CLI](#Creating-Vaults-CLI-Setup)
+ [(前提条件) Python のインストール](#Uploading-Archives-mpu-CLI-Install-Python)
+ [(前提条件) Amazon Glacier ボールトの作成](#Uploading-Archives-mpu-CLI-Create-Vault)
+ [例: を使用してパート単位で大きなアーカイブをアップロードする AWS CLI](#Uploading-Archives-mpu-CLI-Implementation)

## (前提条件) のセットアップ AWS CLI
<a name="Creating-Vaults-CLI-Setup"></a>

1.  AWS CLIをダウンロードして設定します。手順については、*「AWS Command Line Interface ユーザーガイド」*の次のトピックを参照してください。

    [のインストール AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 

   [の設定 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)

1. コマンドプロンプトで次のコマンドを入力して、 AWS CLI セットアップを確認します。これらのコマンドは、いずれも認証情報を明示的に提供しないため、デフォルトプロファイルの認証情報が使用されます。
   + help コマンドを使用してください。

     ```
     aws help
     ```
   + 設定したアカウントの Amazon Glacier ボールトのリストを取得するには、`list-vaults` コマンドを使用します。*123456789012* を AWS アカウント ID に置き換えます。

     ```
     aws glacier list-vaults --account-id 123456789012
     ```
   + の現在の設定データを表示するには AWS CLI、 `aws configure list` コマンドを使用します。

     ```
     aws configure list
     ```

## (前提条件) Python のインストール
<a name="Uploading-Archives-mpu-CLI-Install-Python"></a>

マルチパートアップロードを完了するには、アップロードするアーカイブの SHA256 木構造ハッシュを計算する必要があります。これは、アップロードするファイルの SHA256 木構造ハッシュを計算することとは異なります。アップロードするアーカイブの SHA256 木構造ハッシュを計算するには、Java、C\$1 (.NET を使用)、または Python を使用できます。この例では、Python を使用します。Java または C\$1 を使用する手順については、「[チェックサムの計算](checksum-calculations.md)」を参照してください。

Python のインストールの詳細については、「Boto3 デベロッパーガイド」の「[Python のインストールまたは更新](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#installation)」を参照してください。**

## (前提条件) Amazon Glacier ボールトの作成
<a name="Uploading-Archives-mpu-CLI-Create-Vault"></a>

次の例を使用するには、Amazon Glacier ボールを少なくとも 1 つ作成しておく必要があります。ボールトの作成方法の詳細については、「[Amazon Glacier でボールトを作成する](creating-vaults.md)」を参照してください。

## 例: を使用してパート単位で大きなアーカイブをアップロードする AWS CLI
<a name="Uploading-Archives-mpu-CLI-Implementation"></a>

この例では、ファイルを作成し、マルチパートアップロード API オペレーションを使用してそのファイルをパート単位で Amazon Glacierにアップロードします。
**重要**  
この手順を開始する前に、前提条件となる手順をすべて実行しておくようにしてください。アーカイブをアップロードするには、ボールトを作成して AWS CLI を設定し、Java、C\$1、または Python を使用して SHA256 木構造ハッシュを計算できるように準備しておく必要があります。

次の手順では、`initiate-multipart-upload`、、`upload-multipart-part`および `complete-multipart-upload` AWS CLI コマンドを使用します。

これらのコマンドそれぞれの詳細については、「AWS CLI コマンドリファレンス」の「[https://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-multipart-upload.html](https://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-multipart-upload.html)」、「[https://docs.aws.amazon.com/cli/latest/reference/glacier/upload-multipart-part.html](https://docs.aws.amazon.com/cli/latest/reference/glacier/upload-multipart-part.html)」、「[https://docs.aws.amazon.com/cli/latest/reference/glacier/complete-multipart-upload.html](https://docs.aws.amazon.com/cli/latest/reference/glacier/complete-multipart-upload.html)」を参照してください。**

1. [https://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-multipart-upload.html](https://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-multipart-upload.html) コマンドを使用して、マルチパートアップロードリソースを作成します。リクエストで、パートサイズをバイト数で指定します。アップロードする各パートは、最後のパートを除き、すべてこのサイズになります。アップロードを開始する際にアーカイブ全体のサイズを把握している必要はありません。ただし、最後の手順でアップロードを完了するときには、各パートの合計サイズ (バイト単位) が必要になります。

   次のコマンドで、`--vault-name` パラメータと `--account-ID` パラメータの値を独自の情報に置き換えます。このコマンドは、ファイルごとに 1 メビバイト (MiB) (1024 x 1024 バイト) のパートサイズのアーカイブをアップロードするよう指定します。必要に応じてこの `--part-size` パラメータ値を置き換えます。

   ```
   aws glacier initiate-multipart-upload --vault-name awsexamplevault --part-size 1048576 --account-id 123456789012
   ```

   正常な出力:

   ```
   {
   "location": "/123456789012/vaults/awsexamplevault/multipart-uploads/uploadId",
   "uploadId": "uploadId"
   }
   ```

   終了すると、コマンドはマルチパートアップロードリソースのアップロード ID と Amazon Glacier 内の場所を出力します。後の手順で、このアップロード ID を使用します。

1. この例では、次のコマンドを使用して 4.4 MiB のファイルを作成し、1 MiB のチャンクに分割して、各チャンクをアップロードできます。独自のファイルをアップロードするには、データをチャンクに分割し、各パートをアップロードする、同様の手順に従います。

   

**Linux または macOS**  
次のコマンドは、Linux または macOS 上に `file_to_upload` という名前の 4.4 MiB ファイルを作成します。

   ```
   mkfile -n 9000b file_to_upload
   ```

**Server**  
次のコマンドは、Windows 上に `file_to_upload` という名前の 4.4 MiB ファイルを作成します。

   ```
   fsutil file createnew file_to_upload 4608000
   ```

1. 次に、このファイルを 1 MiB のチャンクに分割します。

   ```
   split -b 1048576 file_to_upload chunk
   ```

   これで、次の 5 つのチャンクができます。最初の 4 つは 1 MiB で、最後の 1 つは約 400 キビバイト (KiB) です。

   ```
   chunkaa
   chunkab
   chunkac
   chunkad
   chunkae
   ```

1. [https://docs.aws.amazon.com/cli/latest/reference/glacier/upload-multipart-part.html](https://docs.aws.amazon.com/cli/latest/reference/glacier/upload-multipart-part.html) コマンドを使用して、アーカイブの一部をアップロードします。アーカイブのパートは任意の順序でアップロードできます。パートを並行してアップロードすることもできます。マルチパートアップロードでは、最大 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 --body chunkaa --range='bytes 0-1048575/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID
   ```

   正常にアップロードできると、コマンドはアップロードされたパートのチェックサムを含む出力を生成します。

1. `upload-multipart-part` コマンドをもう一度実行して、マルチパートアップロードの残りのパートをアップロードします。アップロードするパートと一致するように、各コマンドの `--range` パラメータと `–-body` パラメータの値を更新します。

   ```
   aws glacier upload-multipart-part --body chunkab --range='bytes 1048576-2097151/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID
   ```

   ```
   aws glacier upload-multipart-part --body chunkac --range='bytes 2097152-3145727/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID
   ```

   ```
   aws glacier upload-multipart-part --body chunkad --range='bytes 3145728-4194303/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID
   ```

   ```
   aws glacier upload-multipart-part --body chunkae --range='bytes 4194304-4607999/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID
   ```
**注記**  
アップロードの最後のパートが 1 MiB 未満なので、最後のコマンドの `--range` パラメータ値は小さくなります。正常にアップロードできると、それぞれのコマンドはアップロードされた各パートのチェックサムを含む出力を生成します。

1. 次に、アーカイブを組み立てて、アップロードを終了します。アーカイブの合計サイズと SHA256 木構造ハッシュを含める必要があります。

   アーカイブの SHA256 木構造ハッシュを計算するには、Java、C\$1、または Python を使用できます。この例では、Python を使用します。Java または C\$1 を使用する手順については、「[チェックサムの計算](checksum-calculations.md)」を参照してください。

   Python ファイル `checksum.py` を作成し、次のコードを挿入します。必要に応じて、元のファイルの名前を置き換えます。

   ```
   from botocore.utils import calculate_tree_hash
   					
   checksum = calculate_tree_hash(open('file_to_upload', 'rb'))
   print(checksum)
   ```

1. `checksum.py` を実行して SHA256 木構造ハッシュを計算します。次のハッシュは出力と一致しないことがあります。

   ```
   $ python3 checksum.py
   $ 3d760edb291bfc9d90d35809243de092aea4c47b308290ad12d084f69988ae0c
   ```

1. [https://docs.aws.amazon.com/cli/latest/reference/glacier/complete-multipart-upload.html](https://docs.aws.amazon.com/cli/latest/reference/glacier/complete-multipart-upload.html) コマンドを使用してアーカイブのアップロードを終了します。`--vault-name`、`--account-ID`、`--upload-ID`、`--checksum` のパラメータの値を置き換えます。`--archive` パラメータ値は、アーカイブの合計サイズをバイト単位で指定します。この値には、アップロードした個々のパートのすべてのサイズの合計値を指定する必要があります。必要に応じてこの値を置き換えます。

   ```
   aws glacier complete-multipart-upload --archive-size 4608000 --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID --checksum checksum
   ```

   終了すると、コマンドはアーカイブの ID、チェックサム、Amazon Glacier 内の場所を出力します。