Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
S3のキー設計でハマった話
Search
maroKanatani
April 23, 2021
Technology
0
1.2k
S3のキー設計でハマった話
AKIBA.AWS ONLINE #02
https://classmethod.connpass.com/event/209019/
maroKanatani
April 23, 2021
Tweet
Share
More Decks by maroKanatani
See All by maroKanatani
App Router を実プロダクトで採用して見えてきた勘所をちょっとだけ紹介
marokanatani
1
930
長期運用に耐えるフロントエンド目指して
marokanatani
2
42k
Other Decks in Technology
See All in Technology
Creative UIs with Compose: DroidKaigi 2024
chrishorner
1
550
Technical Writing Meetup vol.35
soracom
PRO
2
120
不動産売買取引におけるAIの可能性とプロダクトでのAI活用
zabio3
0
270
なぜクラウドサービスで Web コンソールを提供するのか
shuta13
4
2k
LLVM/ASMを使った有限体の高速実装
herumi
0
120
再考 アクターモデル/ reconsider actor model
ytake
0
350
サーバー管理しないサーバーサービスManaged DevOps Pool
kkamegawa
0
130
『GRANBLUE FANTASY Relink』キャラクターの魅力を支えるリグ・シミュレーション制作事例
cygames
0
110
「認証認可」という体験をデザインする ~Nekko Cloud認証認可基盤計画
logica0419
2
430
技術的負債解消の取り組みと専門チームのお話
bengo4com
0
330
開発生産性を始める前に開発チームができること / optim-improve-development-productivity.pdf
optim
0
110
四国のあのイベントの〇〇システムを45日間で構築した話 / cloudohenro2024_tachibana
biatunky
0
330
Featured
See All Featured
How to Ace a Technical Interview
jacobian
274
23k
Thoughts on Productivity
jonyablonski
66
4.2k
GraphQLとの向き合い方2022年版
quramy
43
13k
Clear Off the Table
cherdarchuk
91
320k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
1
48
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Docker and Python
trallard
39
3k
Designing Experiences People Love
moore
138
23k
Intergalactic Javascript Robots from Outer Space
tanoku
268
26k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Transcript
S3のキー設計で ハマった話 AKIBA.AWS ONLINE #02
自己紹介 • 金谷政大 • クラスメソッド AWS事業本部サービスグループ ◦ クラスメソッドメンバーズの開発・運用 ◦ アプリ部分を触ることが多い(最近はフロントエンド多め)
◦ AWS絶賛勉強中 • 2021年2月入社(大阪オフィス) • SI・プログラミング講師→クラスメソッド • 好きなAWSサービス ◦ S3, Lambdaなど • 本日初登壇
S3 ?
ファイルストレージ?
None
まぁゆーてもファイルストレージみたいなもんやろ… (´~`)
. ├── a_company │ ├── accounting │ │ ├── 202101
│ │ └── 202102 │ ├── development │ │ ├── 202101 │ │ └── 202102 │ └── sales │ ├── 202101 │ └── 202102 ├── b_company │ ├── . . . 1月のデータだけ欲 しい
ファイルシステムの 場合
ls */*/202101
None
S3(AWS CLI) の場合
aws s3 ls bucket/*/*/202101 ??
None
• s3 lsの場合、ワイルドカードは基本的には使えない ◦ 公式リファレンス ◦ https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html • s3 cpとかだとワイルドカードを使うオプションがあったりする
◦ --excludeとか--includeとかを駆使する ◦ (少しググったりしたらできそうな雰囲気に見えてしまった・・・) ◦ https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html S3でのワイルドカード
• s3 lsの場合、ワイルドカードは基本的には使えない ◦ => AWS CLI(各種SDK)での検索を想定する場合、 絞り込む順番にキーを設計しないと困る ◦ キーの前方一致による絞り込みは可能
▪ OKパターン • aws s3 ls bucket/a_company/ • aws s3 ls bucket/a_com ◦ 今回の場合、202101を最初にすればスムーズに検索できそう • でも、もっと柔軟に検索したい・・・ ◦ アプリケーション側で頑張る・・・ ◦ 基本的には置き場所として使ってあげるのが良さそう S3でのワイルドカード
• 5分で絶対に分かるオブジェクトストレージ ◦ https://www.atmarkit.co.jp/ait/articles/1705/29/news014_3.html • Amazon S3における「フォルダ」という幻想をぶち壊し、その実体を明らかにする ◦ https://dev.classmethod.jp/articles/amazon-s3-folders/ オブジェクトストレージ(参考)
• S3とファイルストレージはちょっと違うよ! • クラウドはもはやインフラエンジニアだけのものではない・・・! • アプリの人もインフラの人もみんなでAWS盛り上げていこう!! 最後に
ご清聴ありがとうございました!