Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Cloudflare Containersの使用感と、ユースケースに思いを馳せる / Clou...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kanahiro Iguchi
September 04, 2025
1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloudflare Containersの使用感と、ユースケースに思いを馳せる / Cloudflare Workers Tech Talks in Hokkaido #1
https://workers-tech.connpass.com/event/365479/
Kanahiro Iguchi
September 04, 2025
More Decks by Kanahiro Iguchi
See All by Kanahiro Iguchi
OvertureMapsをDuckDBで探索してみよう / FOSS4G Hokkaido 2025
kanahiro
0
310
DEMのRGBエンコード手法をおさらいする / MapLibre Meetup Japan #05
kanahiro
1
540
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
Why Our Code Smells
bkeepers
PRO
340
58k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
470
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Statistics for Hackers
jakevdp
799
230k
The Cult of Friendly URLs
andyhume
79
7k
Building the Perfect Custom Keyboard
takai
2
870
Transcript
Cloudflare Containersの使用感と ユースケースに思いを馳せる Cloudflare Workers Tech Talks in Hokkaido #1
2025/09/04 1
Who am I Kanahiro Iguchi MapLibre User Group Japan AWS
Community Builder - Serverless 『位置エン本』 『位置ベロ本』 『実践QGIS』著者 Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04 2
Cloudflare Workers とは? Cloudflare Workers Tech Talks in Hokkaido #1
2025/09/04 3
Contents 1. Cloudflareとわたし 2. Cloudflare Containers 3. 実際にやってみた 4. ユースケースに思いを馳せる
Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04 4
1. Cloudflareとわたし Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04
5
仕事でも個人開発でも、パブリッククラウドはもっぱらAWSかCloudflareを使います Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04 6
ポートフォリオサイトだったり https://spatialty.io/ Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04
7
地図タイルサーバーだったり https://kanahiro.github.io/tameike-viewer/ タイルサーバーにはHonoを利用しています。Hono ConfでCfPが採択されたら喋ります Cloudflare Workers Tech Talks in Hokkaido
#1 2025/09/04 8
仕事では最近『れきちず』をAWS AmplifyからCloudflare Workersへお引越ししました。 https://rekichizu.jp/ Cloudflare Workers Tech Talks in Hokkaido
#1 2025/09/04 9
太っ腹な無料枠のため、とくに個人開発においてはCloudflare Workersを第一選択肢と しています(Paid Planではあるけど枠を超過したことがない) Cloudflare Workers Tech Talks in Hokkaido
#1 2025/09/04 10
2. Cloudflare Containers Cloudflare Workers Tech Talks in Hokkaido #1
2025/09/04 11
最近、Cloudflare Containersというものがベータリリースされました Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04
12
Cloudflare Workers(workerd) は、Node.jsと比べるとさまざまな制約のあるランタイム であり、バイナリに依存するライブラリが使えないなどの制限がある 「Workersでコンテナが使える」というのはWorkersがカバーできる領域が大きく広がる 可能性を示唆する とはいえ使ってみないとわからない Cloudflare Workers Tech
Talks in Hokkaido #1 2025/09/04 13
Geospatial Specialistを名乗っているので、こういうとき私は地図タイルサーバーを動かして 味見します。 さくらのクラウドのAppRunを試したようす https://x.com/kanahiro_iguchi/status/1890028133916803437 Cloudflare Workers Tech Talks in
Hokkaido #1 2025/09/04 14
例によって、私が開発している地図タイルサーバー https://github.com/Kanahiro/chiitiler のコンテナをCloudflare Containersで動かして検 証しました Cloudflare Workers Tech Talks in
Hokkaido #1 2025/09/04 15
3. 実際にやってみた Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04
16
https://spatialty.io/posts/2025-08-12_Cloudflare Containersでchiitilerを動かしてみる かっこいいブログでContainersの利用手順などをまとめました。 Cloudflare Workers Tech Talks in Hokkaido #1
2025/09/04 17
import { Container, getRandom } from '@cloudflare/containers'; export class MyContainer
extends Container<Env> { defaultPort = 3000; sleepAfter = '2m'; envVars = { CHIITILER_DEBUG: 'true', CHIITILER_CACHE_METHOD: 'file', }; } export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { return (await getRandom(env.MY_CONTAINER, 10)).fetch(request); }, }; Workersのコード上でコンテナの実行方法を定義 Workersはコンテナのインスタンスを参照して、Fetch APIでやりとり getRandom で複数のインスタンスからひとつを選ぶ Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04 18
ポイント アーキテクチャは linux/amd64 のみ。Dockerfileをビルドする部分も含むサンプルが多 いが、任意のコンテナイメージを利用可能(Cloudflareのコンテナレジストリに保存す る) 通常のWorkersが常に手前に存在することになる。WorkersとコンテナはFetch APIでや りとりする。 利用可能なインスタンス数は最大10までで任意の数を選択できる。CPU/RAM/Storage
で課金される。 コンテナはWorkersとは別の実行環境上で動いていて、指定した時間以上アクセスがな いとスリープする。コールドスタートは比較的重たい。 Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04 19
デモ Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04 20
4. ユースケースに思いを馳せる Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04
21
コールドスタートが重め 常駐させるとコストがかかる ということから、常に一定の流量があって、ある程度の即応性が求められるサーバーには向 かなそう Cloudflare Workers Tech Talks in Hokkaido
#1 2025/09/04 22
常に手前にWorkerが存在することから、非同期でコンテナに処理を実行させたい時にはかな り簡単に記述出来るはず。 ユーザーからのリクエストをもとに、ちょっと重めの処理を非同期で実行させるとか export default { async fetch(request: Request, env:
Env, ctx: ExecutionContext): Promise<Response> { const instance = await getRandom(env.MY_CONTAINER, 10) // 非同期で処理を実行する ctx.waitUntil(instance.fetch(someRequest)); return new Response('OK'); }, }; このとき、Workersの待ち時間も課金されるのかよくわかってない Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04 23
Cron Triggerで発火させるのも便利そう export default { async scheduled(controller: ScheduledController, env: Env,
ctx: ExecutionContext) { // こんな感じ? const instance = await getRandom(env.MY_CONTAINER, 10) await instance.fetch(someRequest); }, }; 週次レポートを作成してどこかに送信するとか Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04 24
つまり… 1. workerdでは動かなくて 2. コールドスタートによる遅延が許容できる このような処理をコンテナで動かすのに向いているね、と理解しています。 加えて、現状では一番強いインスタンスでも0.5vCPUしか使えないので、CPUの能力に 強く依存する処理もさせづらい Cloudflare Workers
Tech Talks in Hokkaido #1 2025/09/04 25
https://x.com/yusukebe/status/1937461910590620065 思いを馳せていたらこのポストを見つけました。中の人と答え合わせ出来たね。 Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04
26
Cloudflare Containers のまとめ Amazon ECSやGoogle Cloud Runのような、それだけでアプリを動かそう、みたいなコ ンテナサービスではない 何かと制約のあるWorkersの限界を超えるための手段、Workersで出来ることはWorkers がやるべき
ただし全ては「現時点では」 今後の進化に期待です! Cloudflare Workers Tech Talks in Hokkaido #1 2025/09/04 27