Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
僕とグレーシア〜グレーシア、どうして貴方はオブジェクトをまとめて復元できないの?〜
Search
Kento Suzuki
February 26, 2023
Technology
490
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
僕とグレーシア〜グレーシア、どうして貴方はオブジェクトをまとめて復元できないの?〜
2023/2/15(土) JAWS-UG佐賀 3年ぶり!re:Bootするよ!
https://jawsug-saga.doorkeeper.jp/events/149574
登壇資料
Kento Suzuki
February 26, 2023
More Decks by Kento Suzuki
See All by Kento Suzuki
こんなに安く なっちゃっていいの? コスト最適化の進め方と、課金リスクの回避
kentosuzuki
0
110
Netflix の裏側に何があるのか...その謎を解明すべく、我々は Amazon の奥地へと向かった
kentosuzuki
0
130
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
330
バッドプラクティスから学ぶハワイアン航空で行く re:Invent
kentosuzuki
0
570
上流工程に挑戦!「俺の考えた最強サーバレス構成」が一瞬で敗北した件
kentosuzuki
2
440
S3から始めるAWS 〜S3の簡単なユースケースの紹介〜
kentosuzuki
1
850
AWS のポリシー言語 “Cedar” で実現するアクセス制御
kentosuzuki
0
550
探せぇ!お薦めAWSセキュリティワークショップ!!〜 怒涛のワークショップ 48 連戦 〜
kentosuzuki
1
860
SIEM って何?〜 Amazon OpenSearch で始める SIEM 〜
kentosuzuki
0
1.2k
Other Decks in Technology
See All in Technology
しろおびから始める!ログ活用の第一歩
shumei_ito
0
930
Kiro Crewをはじめよう
kizawa2020
1
150
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
110
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
0
130
味覇で作るパスタが美味い - 20261001_yabaubuki.dev
livesense
PRO
0
130
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
310
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
190
Jetson Orin Nanoとk3sとローカルLLMで音声文字起こしシステム作ってみた
y_sera15
0
120
全PRの83%が AIレビューだけでマージできるようになった開発組織は その後どうなったか @2026/10
athug
0
150
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
170
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
370
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
140
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
410
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Mind Mapping
helmedeiros
1
400
Abbi's Birthday
coloredviolet
4
10k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
620
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Docker and Python
trallard
47
4.2k
Designing Powerful Visuals for Engaging Learning
tmiket
1
600
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
Transcript
僕とグレーシア 〜グレーシア、どうして貴方はオブジェクトをまとめて復元できないの?〜 JAWS-UG佐賀 3年ぶり︕re:Bootするよ︕( 2023/2/25 )
名前︓鈴⽊健⽃ 所属︓アイレット株式会社(東京オフィス) お仕事︓ AWSのインフラ構築・運⽤ 経歴︓ ・新卒 3 年⽬(エンジニア歴 = 社会⼈歴)
・2022 APN ALL AWS Certifications Engineer ・2022 APN AWS Top Engineer ・昨年はJAWS-UG で14 回発表 ・ AWS Community Builder(Cloud Operations)︖ @k_suzuki_pnx 自己紹介
はじまり やりたかったこと
安定のエラー 一部のオブジェクトがライフサイクルルールでGlacierに送られていたため、 以下のようなエラーが発生 Object is of storage class GLACIER. Unable
to perform copy operations on GLACIER objects. You must restore the object to be able to perform the operation. See aws s3 copy help for additional parameter options to ignore or force these transfers. ×
Glacierの仕様 ◦ Glacierはオブジェクトを取り出す際に一度復元する必要がある ◦ 以下のようなまとめて復元ができない 「バケット内のオブジェクトを一括復元」 「特定のパス配下にあるオブジェクトを全て復元」 ◦ まとめて復元するにはAWS CLIなどを使って
オブジェクトを1つずつループで復元するスクリプトを作る必要がある
シェルスクリプトを作ることにした ◦ ターミナルから以下のコマンドを実行 sh restore_glacier_objects.sh <バケット名> <プレフィックス> #!/bin/bash bucket=$1 prefix=$2
aws s3api list-objects --bucket $bucket --prefix "$prefix" --query "Contents[?StorageClass=='GLACIER'].[Key]" --output text | while read object; do echo "Restoring object $object from $bucket" aws s3api restore-object --bucket $bucket --key "$object" --restore-request '{"Days":10,"GlacierJobParameters":{"Tier":"Bulk"}}' done
実行例 バケット名を「s3-test」、プレフィックス(パス)を「s3://s3-test/page1/」とすると sh restore_glacier_objects.sh s3-test page1/ で実行できる #!/bin/bash bucket=$1 prefix=$2
aws s3api list-objects --bucket $bucket --prefix "$prefix" --query "Contents[?StorageClass=='GLACIER'].[Key]" --output text | while read object; do echo "Restoring object $object from $bucket" aws s3api restore-object --bucket $bucket --key "$object" --restore-request '{"Days":10,"GlacierJobParameters":{"Tier":"Bulk"}}' done
シェルスクリプトの仕様 ◦ AWS CLIの「s3api list-objects」を使用してストレージクラスが Glacierのオブジェクトを抽出 ◦ 抽出したオブジェクトなくなるまで、1つずつ復元を繰り返す ◦ 復元されている期間は3日
◦ 大容量取り出し(Bulk)を使用することで取り出しにかかる費用を抑える #!/bin/bash bucket=$1 prefix=$2 aws s3api list-objects --bucket $bucket --prefix "$prefix" --query "Contents[?StorageClass=='GLACIER'].[Key]" --output text | while read object; do echo "Restoring object $object from $bucket" aws s3api restore-object --bucket $bucket --key "$object" --restore-request '{"Days":10,"GlacierJobParameters":{"Tier":"Bulk"}}' done
注意点 AWS CloudShellでの大量オブジェクトの復元は非推奨 ◦ 20~30分、キーボードとポインタを使った操作がない場合、セッションは強制終了 ◦ キーボードとポインタを使っていても、12時間経つとセッションが強制終了 ◦ コンピューティングのリソースが1 vCPU、2
GiBのため処理が遅い AWS CLIをインストールしたローカルPCから 実行した方が断然速い
おわりに
S3、シンプルじゃない