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
99
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
370
AWSはOSSをどのように 考えているのか?
akihisaikeda
1
210
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
340
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
5
300
AWS CDKの推しポイントN選
akihisaikeda
1
380
Other Decks in Programming
See All in Programming
AWSに止められる覚悟してますか?
morizo_1984
2
540
ActionController meets Protocol Buffers
sorah
0
560
sbt 2.0: takeoff
eed3si9n
0
160
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
2
890
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.6k
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
1
280
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
530
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Side Projects
sachag
456
43k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Everyday Curiosity
cassininazir
0
360
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Between Models and Reality
mayunak
4
500
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
830
Are puppies a ranking factor?
jonoalderson
2
4.1k
The Curious Case for Waylosing
cassininazir
1
570
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
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! \ ご清聴ありがとうございました! /