Amazon Glacier で AWS CLI を使用してアーカイブをダウンロードする - Amazon Glacier

このページは、ボールトと 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 (元のスタンドアロンのボールトベースのサービス) は、2025 年 12 月 15 日以降、新規のお客様を受け入れなくなります。既存のお客様に影響はありません。Amazon Glacier は、ボールトにデータを保存する独自の API を備えたスタンドアロンサービスであり、Amazon S3 および Amazon S3 Glacier ストレージクラスとは異なります。既存のデータは Amazon Glacier で無期限に安全性が確保され、引き続きアクセス可能です。移行は必要ありません。低コストの長期アーカイブストレージをお探しの場合、AWS は Amazon S3 Glacier ストレージクラスを推奨します。このストレージクラスは、コストを抑えながら、S3 バケットベースの API、AWS リージョン全体での可用性、AWS サービス統合により、優れたカスタマーエクスペリエンスを提供します。拡張機能が必要な場合は、Amazon Glacier ボールトから Amazon S3 Glacier ストレージクラスにデータを転送するための AWS ソリューションガイダンスを使用して、Amazon S3 Glacier ストレージクラスへの移行を検討してください。

Amazon Glacier で AWS CLI を使用してアーカイブをダウンロードする

AWS Command Line Interface (AWS CLI)を使用して、Amazon Glacier (Amazon Glacier) のアーカイブをダウンロードできます。

(前提条件) AWS CLI の設定

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

    のインストールAWS Command Line Interface

    の設定AWS Command Line Interface

  2. コマンドプロンプトで以下のコマンドを入力して、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

例: AWS CLI を使用してアーカイブをダウンロードする

注記

アーカイブをダウンロードするには、アーカイブ ID がわかっている必要があります。ステップ 1~4 でアーカイブ ID を取得します。ダウンロードするアーカイブ ID がすでにわかっている場合は、ステップ 5 に進みます。

  1. インベントリ取得ジョブを開始するには、initiate-job コマンドを使用します。インベントリレポートにアーカイブ ID が一覧表示されます。

    aws glacier initiate-job --vault-name awsexamplevault --account-id 111122223333 --job-parameters="{\"Type\":\"inventory-retrieval\"}"

    正常な出力:

    { "location": "/111122223333/vaults/awsexamplevault/jobs/*** jobid ***", "jobId": "*** jobid ***" }
  2. 以前の ジョブのステータスをチェックするには、describe-job コマンドを使用します。

    aws glacier describe-job --vault-name awsexamplevault --account-id 111122223333 --job-id *** jobid ***

    正常な出力:

    { "InventoryRetrievalParameters": { "Format": "JSON" }, "VaultARN": "*** vault arn ***", "Completed": false, "JobId": "*** jobid ***", "Action": "InventoryRetrieval", "CreationDate": "*** job creation date ***", "StatusCode": "InProgress" }
  3. ジョブが完了するまで待ちます。

    ジョブの出力をダウンロードする準備が整うまで待つ必要があります。ボールトに通知設定を指定している場合、またはジョブを開始したときに Amazon Simple Notification Service (Amazon SNS) トピックを指定している場合は、ジョブの完了後に Amazon Glacier からそのトピックにメッセージが送信されます。

    ボールトに特定のイベントに対する通知設定を指定できます。詳細については、「Amazon Glacier でボールト通知を設定する」を参照してください。Amazon Glacier は、特定のイベントが発生するたびに、指定された SNS トピックにメッセージを送信します。

  4. 完了したら、get-job-output コマンドを使用して、取得ジョブをファイル output.json にダウンロードします。このファイルにアーカイブ ID が含まれます。

    aws glacier get-job-output --vault-name awsexamplevault --account-id 111122223333 --job-id *** jobid *** output.json

    このコマンドは、次のフィールドを含むファイルを生成します。

    { "VaultARN":"arn:aws:glacier:region:111122223333:vaults/awsexamplevault", "InventoryDate":"*** job completion date ***", "ArchiveList":[ {"ArchiveId":"*** archiveid ***", "ArchiveDescription":*** archive description (if set) ***, "CreationDate":"*** archive creation date ***", "Size":"*** archive size (in bytes) ***", "SHA256TreeHash":"*** archive hash ***" } {"ArchiveId": ... ]}
  5. initiate-job コマンドを使用して、ボールトから各アーカイブを取得するプロセスを開始します。以下に示すようにジョブパラメータを archive-retrieval と指定する必要があります。

    aws glacier initiate-job --vault-name awsexamplevault --account-id 111122223333 --job-parameters="{\"Type\":\"archive-retrieval\",\"ArchiveId\":\"*** archiveId ***\"}"
  6. archive-retrieval ジョブが完了するまで待ちます。以前のコマンドのステータスをチェックするには、describe-job コマンドを使用します。

    aws glacier describe-job --vault-name awsexamplevault --account-id 111122223333 --job-id *** jobid ***
  7. 上記のジョブが完了したら、get-job-output コマンドを使用してアーカイブをダウンロードします。

    aws glacier get-job-output --vault-name awsexamplevault --account-id 111122223333 --job-id *** jobid *** output_file_name