Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Lambda とSQLite でシステム構築 おがどら
Slide 2
Slide 2 text
みなさん
Slide 3
Slide 3 text
RDS 、高すぎますよね
Slide 4
Slide 4 text
小規模のアプリケーションにRDS はオーバースペ ックすぎる
Slide 5
Slide 5 text
そこで、EFS とSQLite を使ってお安くアプリを作 成したので、ご紹介します こちらは2024 年4 月に作成しました
Slide 6
Slide 6 text
背景 Next.js + Prisma のアプリケーションを作って みた ECS もRDS も 高 す ぎ る 社内システムなので、可用性とかスペック とかいらない EC2 すら高い でもDocker もRDB も使いたい
Slide 7
Slide 7 text
結論
Slide 8
Slide 8 text
コストカットのための構成 RDS -> EFS 上のSQLite ECS -> VPC Lambda ALB -> API Gateway
Slide 9
Slide 9 text
RDS -> SQLite on EFS PostgreSQL にしかない機能を SQLite 向けに 変更 概ねPrisma ORM がいい感じにしてくれる
Slide 10
Slide 10 text
Lambda から EFS にアクセス VPC Lambda として作成する EFS マウントターゲットを同一AZ に作成する
Slide 11
Slide 11 text
ECS -> Lambda Dockerfile にこの1 行を追加するだけ 👇🏻👇🏻 ( 紙面の都合上改行しています) COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.9.0 \ /lambda-adapter /opt/extensions/lambda-adapter
Slide 12
Slide 12 text
VPC Lambda はWAN に出られない ENI にEIP を割り当てる必要ががある aws ec2 associate-address \ --allocation-id $allocationId \ --network-interface-id $nicId
Slide 13
Slide 13 text
コスト削減効果 ECS / RDS を使うときに比べて90% 削減 月額 50 ドル → 4 ドル 移行前) ELB 18 ドル + RDS 21 ドル + ECS 11 ドル 移行後) EIP 3.6 ドル + EFS 0.4 ドル
Slide 14
Slide 14 text
この構成のメリット Docker の用意の手間が少ない 開発環境との差分が1 行 SQLite が使える Prisma のデフォルトDB はSQLite 初期セットアップの手間が少ない 意外と安定している 半年以上運用しているが、障害はない
Slide 15
Slide 15 text
この構成のデメリット インフラ用意はちょっと大変 個人開発にはオススメ 同時にSQLite に書き込むとSQLite が壊れる? NFS 上のファイルには書き込みロックがか からないため 書き込みがほぼないため無問題
Slide 16
Slide 16 text
まとめ 安いアーキテクチャを考えるのは楽しい!
Slide 17
Slide 17 text
ご清聴ありがとうございました Twitter: GitHub: @const_myself ogadra made by reveal.js