Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
クラウドに依存しないS3を使った開発術
Search
しめさば
December 13, 2025
Programming
0
110
クラウドに依存しないS3を使った開発術
とあるLT祭で使ったLT資料です
しめさば
December 13, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
510
Github Copilotのチャット履歴ビューワーを作りました~WPF、dotnet10もあるよ~ #clrh111
katsuyuzu
0
120
AIコーディングエージェント(Gemini)
kondai24
0
250
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
2.9k
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
170
Jetpack XR SDKから紐解くAndroid XR開発と技術選定のヒント / about-androidxr-and-jetpack-xr-sdk
drumath2237
1
150
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
130
エディターってAIで操作できるんだぜ
kis9a
0
740
Go コードベースの構成と AI コンテキスト定義
andpad
0
130
gunshi
kazupon
1
100
Deno Tunnel を使ってみた話
kamekyame
0
190
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
510
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
0
40
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
130
Being A Developer After 40
akosma
91
590k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
65
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
94
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Navigating Team Friction
lara
191
16k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
110
Odyssey Design
rkendrick25
PRO
0
420
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
できた!これで開発できる! (データの永続化はサポートされてないので注意しましょう)