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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
しめさば
December 13, 2025
Programming
0
290
クラウドに依存しないS3を使った開発術
とあるLT祭で使ったLT資料です
しめさば
December 13, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
AI巻き込み型コードレビューのススメ
nealle
2
2.5k
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
280
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
130
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
150
Beyond the Basics: Signal Forms
manfredsteyer
PRO
0
110
CSC307 Lecture 14
javiergs
PRO
0
450
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
420
AIプロダクト時代のQAエンジニアに求められること
imtnd
1
520
AIに仕事を丸投げしたら、本当に楽になれるのか
dip_tech
PRO
0
180
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
200
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
110
Python’s True Superpower
hynek
0
190
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
1
240
Joys of Absence: A Defence of Solitary Play
codingconduct
1
300
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.7k
Deep Space Network (abreviated)
tonyrice
0
84
The Cult of Friendly URLs
andyhume
79
6.8k
The Invisible Side of Design
smashingmag
302
51k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
190
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.1k
GitHub's CSS Performance
jonrohan
1032
470k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Statistics for Hackers
jakevdp
799
230k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
クラウドに依存しない S3を使った開発術 しめさば
データ保存先の話 Webのバックエンドが取り扱うデータ →テキスト 例: {“name”: “simesaba”, “age”: “21”} →ファイル 例:
画像とか動画みたいなバイナリ、zipファイルみたいな圧縮ファイルとか
データ保存先の話 Webのバックエンドが取り扱うデータ →テキスト 例: {“name”: “simesaba”, “age”: “21”} データベース →ファイル
例: 画像とか動画みたいなバイナリ、zipファイルみたいな圧縮ファイルとか ???
Amazon S3(Simple Storage Service) オブジェクトという単位でファイルを保存できる 基本クラウドで提供される →お⾦さえ払えば容量の限界は実質ない 互換性のあるサービスがたくさんある
クラウドだからお⾦かかるのかぁ… 案1: C3で契約しているS3で開発も⾏う →主に1年⽣が開発とかで事故ったらいやだ 案2: 開発者は各⾃でS3の⽀払い等を⾏う →開発者に⾦銭的な負担はさせたくない 案3: 開発中はローカルにS3互換の何かしらをたてる →今回の要望にはあってそう
ローカルでS3互換ってたてれんの?
ローカルでS3互換ってたてれんの? いろんなS3互換のやつら
ローカルでS3互換ってたてれんの? 今回採⽤するヤツ
localstac って?
localstac って? AWS上のサービスをローカルで再現できる 再現できるサービス • その他もろもろ EC2 DynamoDB lambda S3
localstac って? S3 今回使うもの
ベースとなるcompose.yaml
今回⽤意したWebサーバー
早速Dockerで… app-network localstack-s3 app
早速Dockerで… app-network localstack-s3 app http://localstack-s3:4566
じゃあホストから app-network localstack-s3 app http://localstack-s3:4566
じゃあホストから app-network localstack-s3 app http://localstack-s3:4566
じゃあホストから app-network localstack-s3 app http://localstack-s3:4566 ※localhostじゃないので
そこ同じURLでやれないの困るな?
None
s3.localhost.localstack.cloud localstackが管理するドメイン 127.0.0.1(localhost)として処理される
改めてホストから app-network localstack-s3 app http://s3.localhost.local stack.cloud:4566
改めてコンテナから app-network localstack-s3 app http://s3.localhost.local stack.cloud:4566
改めてコンテナから app-network localstack-s3 app http://s3.localhost.local stack.cloud:4566 ※名前解決できないので
None
なんて? Dockerネットワークの設定⾃分で追加してね localstackコンテナのIPアドレスを指定しておいてね アプリケーション側のコンテナでDNSサーバーをlocalstackのコンテナに指定す れば localhost.localstack.cloudの宛先をlocalstackのコンテナとして名前解決が できるよ^^
None
今度こそコンテナから app-network 10.0.2.0/24 localstack-s3 10.0.2.20 app http://localhost.local stack.cloud:4566 dnsサーバー そのドメインは10.0.2.20ですね
None
最終的に app-network localstack-s3 app dnsサーバー http://localhost.local stack.cloud:4566 http://localhost.local stack.cloud:4566
None
None
できた!これで開発できる! (データの永続化はサポートされてないので注意しましょう)