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
自作Discord音声botをLambda MicroVMsに移行した話 / Migratin...
Search
アキキー | Akihisa Ikeda
October 21, 2026
Programming
88
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
アキキー | Akihisa Ikeda
October 21, 2026
More Decks by アキキー | Akihisa Ikeda
See All by アキキー | Akihisa Ikeda
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
180
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
340
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
4
4.6k
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
360
AWSはOSSをどのように 考えているのか?
akihisaikeda
1
210
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
340
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
5
300
AWS CDKの推しポイントN選
akihisaikeda
1
370
Other Decks in Programming
See All in Programming
Workers Cache を知る
syumai
0
370
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.6k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
220
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
160
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
350
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
180
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
280
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
Agents on Rails - Rails at Scale 2026
irinanazarova
0
570
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
320
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.1k
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
KATA
mclloyd
PRO
35
16k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
450
New Earth Scene 8
popppiees
4
2.7k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
540
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Transcript
自作Discord音声botを Lambda MicroVMsに移行した話 2026.10.21(水) 池田 晃尚(@akikii__)
アキキー | 池田 晃尚 株式会社メイツ バックエンドエンジニア / SRE 推しサービス AWS
CDK JAWS-UG CDK支部 AWS Community Builders Dev Tools, 2026〜
自作のDiscord音声bot DiscordのボイスチャンネルでClaude Codeと通話する仕組みを作りました Discord 🔊 ボイスチャンネル ⽂字起こし # テキストチャンネル 読み上げ
アキキー ⾳声bot ECS Fargate ⾳声botが動く ⾳声bot Claude Code bot Claude Code ⼿元のPCで動く
自作のDiscord音声bot ECSタスク(Fargate) Discord bot Discordと声や⽂字をやりとり 読み上げ VOICEVOXで⾳声を合成 ⽂字起こし 話した声を⽂字にする Transcribe
Streaming → コストを抑えるため、ECSタスクは必要なタイミングで起動する仕組み
しかし現状は 起動に30〜40秒ほどかかってしまうので 待つのがつらい…! 起動が早いと噂の Lambda MicroVMsに移行することで 起動時間を縮められるのでは!?
Lambda MicroVMsとは? Lambda MicroVMsとは? 素早く起動して状態を保ったまま停止・再開できる隔離された実行環境 Lambda MicroVM ビルド(イメージの作成・更新) イメージ アプリを⼊れる
スナップショット 起動しきった状態 実⾏中 起動 Lambda MicroVM Lambda MicroVM スナップショットから起動するので、起動時間が短い 一時停止して、止めたところから再開できる 一時停止も含めて、最大8時間使える AWS introduces Lambda MicroVMs for isolated execution of user and AI-generated code https://aws.amazon.com/about-aws/whats-new/2026/06/aws-lambda-microvms/ ⼀時停⽌
Lambda MicroVMsとは? Lambda MicroVMsとは? Lambda Event Functions(旧Lambda Functions)との違い Lambda Event
Functions イベントが来たら動く 関数の形で書く 最大15分 使い捨ての実行環境 What is AWS Lambda? - How Lambda compute primitives compare https://docs.aws.amazon.com/lambda/latest/dg/welcome.html Lambda MicroVMs 自分で立ち上げて、止めるまで動く どんなアプリケーションでも動かせる 最大8時間(一時停止を含む) 止めても、同じ環境にまた戻れる
Lambda MicroVMsに移行すると 起動時間が30〜40秒ほどかかっていたものが 10秒前後に短縮されました!
Lambda MicroVMsに移行すると 起動時間が30〜40秒ほどかかっていたものが 移行する上で気になったポイントを紹介します! 10秒前後に短縮されました!
Lambda MicroVMsを試す ポイント① コンテナを1つにまとめる必要があった ECS Fargate Discord bot 読み上げ 文字起こし
Lambda MicroVMs 1つのコンテナイメージ Discord bot 文字起こし 読み上げ(VOICEVOX) ベースイメージ Lambda MicroVMsは1つのコンテナ イメージから実行環境をセットアッ プするので、複数のコンテナを扱え ない 読み上げとして利用している VOICEVOX※はコンテナイメージで 配布されているため、仕方なくベー スイメージとして扱うことにした ※ VOICEVOX…ずんだもん等の声で読み上げられる音声合成ソフトウェア
Lambda MicroVMsを試す ポイント① コンテナを1つにまとめる必要があった Q. コンテナごとに別サービスに切り出してもよいのでは? Lambda Event Functions (読み上げ)
Lambda MicroVMs (Discord bot) API Gateway Lambda Event Functions (文字起こし) A. ネットワークの遅延が大きかった ネットワークの遅延が大きく通話体験が損なわれたため、1つのECSタスクにまと めてlocalhostで通信するようにした
Lambda MicroVMsを試す ポイント① コンテナを1つにまとめる必要があった Q. 1つにまとめたらbotの起動が遅くなるのでは? VOICEVOXのコンテナイメージは約2GBなので起動に時間がかかりそう A. スナップショットから起動するので素早い スナップショットは重いVOICEVOXの起動が大体終わった状態を保持している
ビルド(イメージの作成・更新) イメージ 3つをまとめて⼊れる スナップショット 起動しきった状態 起動 Lambda MicroVM 再開するだけ
Lambda MicroVMsを試す ポイント② 標準ではUDP接続が失敗していた Discord ボイスチャット AWS Cloud Gateway接続 (WebSocket)
⾳声の送受信 (UDP) Discord bot (Lambda MicroVMs) Discordのボイスチャットにbotを入れてみた ら、接続に失敗した 原因をたどると、音声を送受信するUDPの接 続が失敗していた 標準のネット接続(INTERNET_EGRESS)で は、外向きのUDPが通らない
Lambda MicroVMsを試す ポイント② 標準ではUDP接続が失敗していた INTERNET_EGRESS(標準) VPC_EGRESS Discord ボイスチャット AWS Cloud
Gateway接続 (WebSocket) ⾳声の送受信 (UDP) Discord Gateway接続 (WebSocket) AWS Cloud VPC パブリックサブネット ボイスチャット ⾳声の送受信 (UDP) Internet Gateway NAT Gateway プライベートサブネット Discord bot (Lambda MicroVMs) → VPC_EGRESSならUDP接続ができる Discord bot (Lambda MicroVMs)
ポイント③ コストが増加してしまう Lambda MicroVMsを試す NATの固定費が高い Discord Gateway接続 (WebSocket) AWS Cloud
VPC パブリックサブネット ボイスチャット ⾳声の送受信 (UDP) Internet Gateway NAT Gateway プライベートサブネット Discord bot (Lambda MicroVMs) Lambda MicroVMsをVPCに置くとNATを利用す る必要があるが、常に配置していないといけな いのでコストがかかる NAT Gatewayだと固定費だけで1か月あたり約 49USDかかる (0.062 + パブリックIPv4 0.005) USD × 730時間(東京、オ ンデマンド) Fargateだと月に約3USD程度しかかかっていな いので、コストが大幅に増加してしまう
ポイント③ コストが増加してしまう Lambda MicroVMsを試す パブリックサブネットに配置できないか考える Discord ボイスチャット AWS Cloud VPC
パブリックサブネット セキュリティグループ アウトバウンドだけ許可 Fargateタスク パブリックIPを持つ プライベートサブネット Internet Gateway 外に出る インターネットに 出られない Lambda MicroVMs パブリックIPを持てない Fargateはパブリックサブネットに置くこ とで、NATを利用せずにインターネットア クセスしていた※ Lambda MicroVMsはパブリックIPを持て ないので、NATを利用してプライベートサ ブネットからアクセスする方法しか残さ れていない ※ インバウンドアクセスをブロックするセキュリティグ ループを設定することで、パブリックサブネットに置く ことを許容している
ポイント③ コストが増加してしまう Lambda MicroVMsを試す コストを比較してみる 月20時間使う場合 ECS Fargate(今) Lambda MicroVMs+NATインスタンス
Lambda MicroVMs+NAT Gateway Fargate Lambda MicroVMs 約2.6ドル 約14ドル NAT Gateway NATインスタンス Lambda MicroVMs自体は少し高いくらい NATはいつ呼ばれてもいいように、一か月ずっと立てておく固定費になる パブリックIPv4 約55ドル 必要なときだけNATを立てると起動が遅くなる。使う時間を絞っても、本当に使わないのは寝ている2:00〜7:00くらい AWS Lambda pricing https://aws.amazon.com/lambda/pricing/
ポイント③ コストが増加してしまう Lambda MicroVMsを試す コストを比較してみる 月20時間使う場合 ECS Fargate(今) 約2.6ドル Lambda
MicroVMs+NATインスタンス 約14ドル Lambda MicroVMs+NATということで、コストで悩んでいます… Gateway Fargate Lambda MicroVMs NAT Gateway NATインスタンス Lambda MicroVMs自体は少し高いくらい NATはいつ呼ばれてもいいように、一か月ずっと立てておく固定費になる パブリックIPv4 約55ドル 必要なときだけNATを立てると起動が遅くなる。使う時間を絞っても、本当に使わないのは寝ている2:00〜7:00くらい AWS Lambda pricing https://aws.amazon.com/lambda/pricing/
まとめ FargateからLambda MicroVMsに移行することで、 起動時間が30〜40秒 → 10秒前後に収まった! Fargateから構成を変える必要はあったものの、問題なく動作した コストがかなり高くなってしまったので、 今後どのように運用しようか迷う
Thank You! \ ご清聴ありがとうございました! /