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
しめさば
December 13, 2025
Programming
0
220
クラウドに依存しないS3を使った開発術
とあるLT祭で使ったLT資料です
しめさば
December 13, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
これならできる!個人開発のすゝめ
tinykitten
PRO
0
150
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
2
710
Python札幌 LT資料
t3tra
7
1.1k
Graviton と Nitro と私
maroon1st
0
160
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
240
Go コードベースの構成と AI コンテキスト定義
andpad
0
160
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
720
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
210
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
230
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
180
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
2
280
CSC307 Lecture 04
javiergs
PRO
0
630
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
200
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
270
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
89
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
730
For a Future-Friendly Web
brad_frost
180
10k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
280
Chasing Engaging Ingredients in Design
codingconduct
0
97
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
130
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
110
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
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
できた!これで開発できる! (データの永続化はサポートされてないので注意しましょう)