##目的
S3のライフサイクルポリシーでGlacierに移動することはあるが、直接Glacierをさわることがあまりないので再度やってみる。
S3のライフサイクルポリシーでGlacierに移動した場合は、Glacierのコンソールから操作できず、S3のコンソールから操作することになる。
Glacierのコンソール操作は、Vaultの作成、削除が可能
その他、アーカイブのダウンロードや削除はCLIかAPI経由で実施する必要がある
それぞれの操作は、数時間かかるものもある
https://docs.aws.amazon.com/amazonglacier/latest/dev/downloading-an-archive.html
##Glacierで使用する用語
ボールト
ボールトは、アーカイブを格納するコンテナ
https://docs.aws.amazon.com/ja_jp/amazonglacier/latest/dev/working-with-vaults.html
アーカイブ
写真、動画、ドキュメントなど、ボールトに格納するオブジェクト
https://docs.aws.amazon.com/ja_jp/amazonglacier/latest/dev/working-with-archives.html
インベントリ
ボールトの情報が格納されている
Amazon Glacier はボールトインベントリを約 1 日 1 回のペースで更新される
ジョブ
ジョブ
Amazon Glacier ジョブを開始して、アーカイブに SELECT クエリを実行したり、アーカイブを取得したり、またはボールトインベントリを取得することができます。
以下は、Amazon Glacier ジョブのタイプです。
select— アーカイブに SELECT クエリを実行。
archive-retrieval— アーカイブを取得。
inventory-retrieval— ボールトのインベントリ。
##流れ
ボールトの作成(管理コンソール/CLI/API)※即時完了
アーカイブの登録(CLI/API)
アーカイブのダウンロード(CLI/API)
アーカイブの削除(CLI/API)
ボールトの削除(管理コンソール/CLI/API)※即時完了
ここまでは待ち時間なく終わる
###アーカイブの登録
アーカイブとして、CloudFormationのYamlファイルを登録する
AWSTemplateFormatVersion: '2010-09-09'
Resources:
SecurityGroupB:
Type: AWS::EC2::SecurityGroup
Properties:
VpcId: vpc-26505643
GroupDescription: SecurityGroupB
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: '80'
ToPort: '80'
CidrIp: 0.0.0.0/0
SecurityGroupC:
Type: AWS::EC2::SecurityGroup
Properties:
VpcId: vpc-26505643
GroupDescription: SecurityGroupC
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: '22'
ToPort: '22'
CidrIp: 172.0.0.0/32
aws glacier upload-archiveコマンドでファイルをアップロードする
$ aws glacier upload-archive --account-id - --vault-name sample-vault --body test.yaml
{
"archiveId": "85L5vbNDcG7IxIC32_aXfDxoN8WFNkX7qM1XtKvdQhHvbeOlv_brvdS6QysS2oQANkz5bGSYt45bF3uG4WFBNnkYLM3BLeLjMCqTO1Fgi1tu8dYXKqJSJWIE2p0pv_uiM_ckBclsMA",
"checksum": "069ea4906c8c23a7f9a2e87ef6c3c104a10921ed794933d8d874133d7a3f9f6f",
"location": "/*******/vaults/sample-vault/archives/85L5vbNDcG7IxIC32_aXfDxoN8WFNkX7qM1XtKvdQhHvbeOlv_brvdS6QysS2oQANkz5bGSYt45bF3uG4WFBNnkYLM3BLeLjMCqTO1Fgi1tu8dYXKqJSJWIE2p0pv_uiM_ckBclsMA"
}
Glacierのコンソールに表示されるのに数時間がかかる
archiveIdを控えておく。ダウンロードする際に必要となる。
####archiveIDを忘れた場合は、インベントリから取得する。
aws glacier initiate-job --account-id - --vault-name sample-vault --job-parameters '{"Type": "inventory-retrieval"}'
インベントリからarchiveidを確認
aws glacier get-job-output --account-id - --vault-name sample-vault --job-id q14SmZRD91RxroYz08Ck6STEB9yTagRp40a7MMFgz5QGJuo9GweKAHSTZlbWjRDijFM7R9Eh5axgmAJpAm5NSYSNJANq output.json
cat output.json
{"VaultARN":"arn:aws:glacier:ap-northeast-1:******:vaults/sample-vault","InventoryDate":"2017-03-11T12:17:12Z","ArchiveList":[{"ArchiveId":"85L5vbNDcG7IxIC32_aXfDxoN8WFNkX7qM1XtKvdQhHvbeOlv_brvdS6QysS2oQANkz5bGSYt45bF3uG4WFBNnkYLM3BLeLjMCqTO1Fgi1tu8dYXKqJSJWIE2p0pv_uiM_ckBclsMA","ArchiveDescription":"","CreationDate":"2017-03-11T07:48:53Z","Size":629,"SHA256TreeHash":"5d088045dde3c9025e2a7ab9433834e9119cb2c41a03d6b3e49641145e444233"}]}
###アーカイブのダウンロード
$ cat archive.json
{
"Type": "archive-retrieval",
"ArchiveId": "85L5vbNDcG7IxIC32_aXfDxoN8WFNkX7qM1XtKvdQhHvbeOlv_brvdS6QysS2oQANkz5bGSYt45bF3uG4WFBNnkYLM3BLeLjMCqTO1Fgi1tu8dYXKqJSJWIE2p0pv_uiM_ckBclsMA",
"Description": "download"
}
aws glacier initiate-job --account-id - --vault-name sample-vault --job-parameters file://archive.json
aws glacier list-jobs --account-id - --vault-name sample-vault
{
"ArchiveSHA256TreeHash": "069ea4906c8c23a7f9a2e87ef6c3c104a10921ed794933d8d874133d7a3f9f6f",
"JobDescription": "download",
"ArchiveSizeInBytes": 562,
"Tier": "Standard",
"StatusCode": "Succeeded",
"VaultARN": "arn:aws:glacier:ap-northeast-1:******:vaults/sample-vault",
"StatusMessage": "Succeeded",
"CompletionDate": "2018-11-18T06:19:15.468Z",
"Completed": true,
"SHA256TreeHash": "069ea4906c8c23a7f9a2e87ef6c3c104a10921ed794933d8d874133d7a3f9f6f",
"JobId": "0042iEYqslXqASauSliWh-fUK4ryR3ESBE0allQJlMVSukZCXesyhOy5V0ekXtHIWppFsn2rDaHzk-mWsIm8M5lCx_wu",
"ArchiveId": "85L5vbNDcG7IxIC32_aXfDxoN8WFNkX7qM1XtKvdQhHvbeOlv_brvdS6QysS2oQANkz5bGSYt45bF3uG4WFBNnkYLM3BLeLjMCqTO1Fgi1tu8dYXKqJSJWIE2p0pv_uiM_ckBclsMA",
"RetrievalByteRange": "0-561",
"Action": "ArchiveRetrieval",
"CreationDate": "2018-11-18T02:31:07.857Z"
}
Statusがコンプリートになっていること
JobIDを確認する
ダウンロードする
aws glacier get-job-output --account-id - --vault-name sample-vault --job-id 0042iEYqslXqASauSliWh-fUK4ryR3ESBE0allQJlMVSukZCXesyhOy5V0ekXtHIWppFsn2rDaHzk-mWsIm8M5lCx_wu sample.yaml
{
"acceptRanges": "bytes",
"checksum": "069ea4906c8c23a7f9a2e87ef6c3c104a10921ed794933d8d874133d7a3f9f6f",
"contentType": "application/octet-stream",
"status": 200
}
AWSTemplateFormatVersion: '2010-09-09'
Resources:
SecurityGroupB:
Type: AWS::EC2::SecurityGroup
Properties:
VpcId: vpc-26505643
GroupDescription: SecurityGroupB
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: '80'
ToPort: '80'
CidrIp: 0.0.0.0/0
SecurityGroupC:
Type: AWS::EC2::SecurityGroup
Properties:
VpcId: vpc-26505643
GroupDescription: SecurityGroupC
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: '22'
ToPort: '22'
CidrIp: 172.0.0.0/32
###アーカイブの削除
aws glacier delete-archive --account-id - --vault-name 'sample-vault' --archive-id 85L5vbNDcG7IxIC32_aXfDxoN8WFNkX7qM1XtKvdQhHvbeOlv_brvdS6QysS2oQANkz5bGSYt45bF3uG4WFBNnkYLM3BLeLjMCqTO1Fgi1tu8dYXKqJSJWIE2p0pv_uiM_ckBclsMA
インベントリに反映されるのは最大1日かかる
###ボールト削除
GUIで実施
##お約束
投稿内容は私個人の意見であり、所属企業・部門見解を代表するものではありません。