Glacierにバックアップしています。バックアップの設定を見直した際、昔のボールトを削除することにしたので、削除する方法をまとめておきます。API・CLIのいずれかの利用が必要になりますが、今回はCLIツールを利用した削除を行っていきます。※下記手順はAWSの公式ドキュメントを参考にしています。CLIは公式ドキュメントを参考にインストールします。最新バージョンをインストールまたは更新します。./aws/install次にprofileを作成します。profileの作成に必要なアクセスキーとシークレットキーは、事前にAWSコンソールのIAMで作成しておきます。CLIツールをインストールしても良いのですが、ボールト内のアーカイブ数が少ない場合、ブラウザで提供されているCloudShellで十分なので、AWSのコンソールにログインしてCloudShellを起動しましょう。AWSコンソール右上の端末ボタンをクリックするとCloudShellが起動します。ボールトの削除ボールトの削除は下記手順で実施します。ボールト情報(ボールト名)の取得ボールトイベントリの取得ジョブ実行アーカイブの削除ボールトの削除ボールトは、ボールト内に保存されているアーカイブが存在すると削除できないので、まず全てのアーカイブを削除する必要があります。アーカイブIDはボールトイベントリに記載されているので、ボールトイベントリの取得も必要になります。各手順について、詳細を説明していきます。ボールト情報の取得ボールトの情報を取得します。アカウントIDは、AWSコンソールの右上にあるアカウント名からアカウントIDはコピーできます。下記の出力では、123,446件のアーカイブが含まれていることがわかります。※--profileオプションは、awsコマンドでプロファイルを指定しているだけなので、デフォルトのプロファイルを利用している場合は不要です。]}削除したいボールト名を環境変数に保存しておきます。name"ボールトイベントリのダウンロードジョブの実行ボールト内のアーカイブIDを取得するため、ボールトイベントリをダウンロードします。この処理には数時間かかるので、途中で出力されるJobIDなどはどこかに保存しておきましょう。ボールトイベントリとは公式ドキュメントから引用あるボールトインベントボールト内のアーカイブのリストを指します。ID、作成日、サイズなど、アーカイブに関する情報が記載されています。回のペースで更新します。https://docs.aws.amazon.com/ja_jp/amazonglacier/latest/dev/working-with-vaults.htmlジョブを実行します。"..."}ジョブが正常に実行されているか、確認します。"InProgress",...この処理は数時間かかるので、完了するまで待ちます(※ジョブ完了から24時間以上たつと取得したアーカイブIDが無効になるので、必ず24時間以内に下記の削除を終わらせてください。ちなみに、ジョブが完了すると下記のような出力となります。上記で実行したイベントリ取得ジョブの出力にアーカイブIDが含まれているので、JSONファイルに出力します。"application/json"}JSONファイルの中身を確認してみます。各アーカイブ毎のIDが取得できているのが確認できます。}]すべてのアーカイブを一括で削除するために、シェルスクリプト(delete-archives.sh)を作成します。プロセッサー数(nprocコマンド)×2分の同時実行を可能にしています。$id_file"アーカイブを削除します。今回の例ではアーカイブ数が多いのでバックグラウンドで実行するようにnohupを利用していますが、少ない場合nohupは必要ありません。delete-archives.log削除できたかを確認しますが、アーカイブの削除が反映されるまで半日ー1日程度かかってしまいます。ボールトの削除アーカイブを削除したら、ボールトを削除可能になるので、削除します。$AWS_VAULT_NAME削除されたかを確認します。[]}AWSのポータルからも削除されているはずです。Glacierのボールトを削除する方法を紹介しました。コンソールから操作できないのが面倒くさいですし、結果が返ってくるまでも結構時間がかかります。データの保存料がやすいので、このあたりはしょうがないかもしれませんね。TwitterSharePocketHatenaLINEURLコピーこの記事を書いた人たかさん犬と暮らすクラウドエンジニア。GCPが好きだけど良く触るのはAWSとAzureです。