質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

3回答

3164閲覧

Amazon Glacierからアーカイブされたファイルをダウンロード出来ない

hiroken

総合スコア7

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2017/05/11 08:55

###前提・実現したいこと
あやまって消してしまったファイルをAmazon Glacierにあるアーカイブから復旧させて欲しいという依頼です。

AWS CLIなどをインストールし、依頼元からは貰った設定ファイル(/.aws/config)と、認証情報ファイル(/.aws/credentials)でセットアップは完了。
また復旧対象のGlacier ID(恐らくアーカイブID?)の138バイトの情報をもとに、ファイルダウンロードがしたいです

###発生している問題・エラーメッセージ
AWS CLIを使い、「Vault」の作成までは完了しました。
この後、作成したVaultへ指定されたファイルをアップロードさせたいのですが、アーカイブIDから紐つけてアップロード→ダウンロードが可能なのか?どんなコマンドで実行出来るのか調べてもわかりません。

✳︎以下のドキュメントが参考になりそうでしたが、アーカイブIDから取得する方法はありませんでした。
http://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-using-glacier.html

当方、AWSをはじめて触り1週間資料を眺め続けましたが不理解が多々あります。この資料からわかります、などの情報もあれば教えてください。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

Vault と アーカイブID がわかっているのなら、aws glacier initiate-job で Type: archive-retrieval のジョブを実行すればいいと思います。
aws glacier initiate-job help で書式と実行例を見ることができます。
http://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-job.html と同じ内容です。

ジョブは早くて十数分、遅くて数時間かかるかもしれません。
ジョブが終了すると、指定した SNS トピックに結果が送られます。
例えば、SNS トピックでメールを送信するようにしておくと、ダウンロード用の一時的な URL がメールで届いたと記憶しています。

投稿2017/05/11 15:22

TaichiYanagiya

総合スコア12141

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroken

2017/05/12 03:11

Yanagiyaさんご回答ありがとうございます。 以下のコマンドを実行しましたが、エラーが発生しました。 ----------------------------------- [実行コマンド] aws glacier initiate-job --account-id - --vault-name sample01 --job-parameters '{"Type": "archive-retrieval", "ArchiveId": “xxxxxxxxxxxxxxxxxxxx”}’ [結果エラー] An error occurred (InvalidParameterValueException) when calling the InitiateJob operation: Invalid vault name: arn:aws:glacier:ap-northeast-1:xxxxxxxxxxxx:vaults/sample01 ----------------------------------- 恐らく作成したVaultに、実行したアーカイブIDは無いという意味だと思います。 (参考URL→ https://forums.aws.amazon.com/message.jspa?messageID=446187) 「archive-retrieval」はアーカイブIDから検索してジョブを開始してくれるコマンドだと思いましたが、Vault単位で紐付いているという事でしょうか? 依頼元から貰ったアーカイブIDからはファイル取得するには、それに対する有効なVaultを聞く必要があるのでしょうか? 仕組みがよくわかっておらず、すみません。
TaichiYanagiya

2017/05/12 03:15

> Vault単位で紐付いているという事でしょうか? だと思います。過去にアップロードしたときの Vault とセットで指定してみてください。
hiroken

2017/05/12 03:25

以下のコマンドでボールトのリストを見る事が出来ました。 aws glacier list-vaults --account-id - そこから対象のボールトを発見し、無事にジョブが開始されました。 ダウンロード出来るかはその次の処理だと思うので、また進捗報告させて頂きます。 回答ありがとうございます!
TaichiYanagiya

2017/05/12 03:38

SNS で通知されるのは Job ID だけだったかもしれません。 ジョブ終了通知を受け取った後で "aws glacier get-job-output" で結果を取得してください。
hiroken

2017/05/12 07:40

ジョブ開始後、以下のコマンドで状況を確認しました。 aws glacier list-jobs --account-id - --vault-name sample02 4時間後、上記の実行結果内のStatusCodeが【InProgress】→【Succeeded】に変化したのを確認。 ジョブが終了したと判断し以下のコマンドを実行して数分後、無事にローカルPCのデスクトップにファイルをダウンロードする事が出来ました。 aws glacier get-job-output --account-id - --vault-name sample02 --job-id xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Desktop/file.zip Yanagiyaさんのお陰で、解決出来ました。対象が30ファイルほどあるので作業はまだ終わりではありませんが、時間をかけて終える事が出来そうです。 感謝します。ありがとうございました!
guest

0

Glacier - グレイシアは氷河を意味しており、コールドストレージサービスと言う名の通り、ほぼ動かないデータを保存する仕組みです。
#オンプレで言うところのLTOにあたります。
Vault - ボールトは貯蔵室を意味しており、データを格納する雪山に掘った番号付きの貯蔵庫と思ってください。

S3に対する機能的なバックアップ用途より、
例えば普段使わないが3年間保存しておかないようなもの(タイムカードや手形や領収書)を
保存する倉庫のダンボールみたいなイメージに近いかと思います。

GlacierのUPLOADはデータをアップロードする
DOWNLOADは解凍の要求して準備ができたらダウンロードをするとなります。

通常利用手順としては、

  1. Vault作成
  2. データアップロード
  3. データ保存(睡眠状態)
  4. データダウンロード要求をする(ここが時間が掛かる)
  5. データをダウンロードする

となりますが、グレイシアは先に述べたように
ほとんどデータダウンロードが発生しないようなものを格納する仕組みのため
一度アーカイブすると凍結状態から解凍するのに時間がかかってしまいます。
#やり方は、TaichiYanagiyaさんの言われているとおりのため割愛します。

通常、S3オブジェクトの誤った削除から復帰させたい場合は、
GlacierにアーカイブさせるのではなくS3のバージョニング機能を使う方が多いです。
事前にバケットないしオブジェクトに対してバージョニング設定をしておき、
そこから復活させた方が楽ですから、そちらを検討された方がよろしいかと思います。
ただし、バージョニング分のコストはかかります。

投稿2017/05/12 07:12

lazhuward

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroken

2017/05/12 07:31

全体が理解しやすい、ご説明ありがとうございます。 ようやく仕組みが理解できて、何をすべきかが見えてきました。 S3でデータを取り出しやすい事は理解していましたが、今回は予算を抑えたい?という意図があるのか、Glacierからの復旧依頼でした。 さきほど、ファイルをダウンロード出来ました。 ありがとうございました。
guest

0

アップロードとダウンロードのどちらを実行したいのでしょうか。ダウンロードしたいのにアップロードに関することを調べているように見受けられます。

Glacierからのダウンロード方法は、開発者ガイドに詳しくまとまっています。
https://docs.aws.amazon.com/ja_jp/amazonglacier/latest/dev/getting-started-download-archive.html

投稿2017/05/11 13:07

kongou-ae

総合スコア432

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroken

2017/05/12 00:46

Glacierの使い方として、①Vault作成 ②Vaultにアップロード ③Vaultからダウンロード の手順になると思います。(参照サイト http://tech.furyu.jp/blog/?p=1595 ) 上記の事から、まずはアップロードが必要なのかと思っています。 まずは別回答(TaichiYanagiyaさん)の頂いたコマンドを調べて試してみようと思います。 ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問