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
270
クラウドに依存しないS3を使った開発術
とあるLT祭で使ったLT資料です
しめさば
December 13, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
390
CSC307 Lecture 05
javiergs
PRO
0
500
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
7
870
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1.1k
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
570
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
660
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
140
atmaCup #23でAIコーディングを活用した話
ml_bear
3
340
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
230
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
470
Sekiban + Microsoft Orleans のアクターをAWS対応しました / Sekiban + Microsoft Orleans actors are now supported on AWS.
tomohisa
0
100
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
180
For a Future-Friendly Web
brad_frost
182
10k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
340
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
170
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Typedesign – Prime Four
hannesfritz
42
3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
210
Into the Great Unknown - MozCon
thekraken
40
2.3k
Designing for Performance
lara
611
70k
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
できた!これで開発できる! (データの永続化はサポートされてないので注意しましょう)