0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【低コスト個人開発】devcontainerを本番へ連れて行く

0
Last updated at Posted at 2026-04-08

最近話題の某かぐや姫のアニメ映画にドはまりしてます。
劇中で努力する姿に感化されて、個人開発を推し進めているんですが、インフラ構成がだいたい固まってきたので、いったん書き出してみます。

ざっくりまとめ

  • Cloudflare + Lambda + ECR + CockroachDB + R2で、低コスト運用
  • devcontainerベースのコンテナを、ほぼそのままLambdaへデプロイできる

こんな人向け

  • Webアプリに興味がある人
  • 個人開発がローカル環境止まりで、クラウドに上げてみたい人
  • 個人開発アプリを低コストで運用したい人

採用したインフラ構成

役割 サービス 補足
DNS Cloudflare WAFを兼ねる
認証 Amazon Cognito
コンピューティング AWS Lambda コンテナイメージランタイム
コンテナイメージレジストリ Amazon ECR
DB CockroachDB
ストレージ Cloudflare R2

こだわりポイント

1. ほぼ無料

個人開発にじゃぶじゃぶ使えるほどお金がないのよ…貧乏なのよ…
(。´・ω・)ん?

サービス 無料枠
Cloudflare 無料
Cognito 10,000 MAU(月間アクティブユーザー)
Lambda 100万リクエスト
1か月あたり40万GB-秒のコンピューティング時間
ECR プライベートリポジトリに無料枠なし(GB/月あたりUSD 0.10
CockroachDB 50 million Request Units
10 GiB storage
R2 ストレージ 10GB
操作(Class A) 100万回
操作(Class B) 1,000万回

なんなのよ…ほとんど無料じゃないのよ…

ということで、ほぼ無料です。ヤッタネ

2. devcontainerをほぼそのまま本番へ持っていける

Web開発以外は詳しくないですが、devcontainer開発環境はとても強力です。
開発環境をコンテナ化することで、各個人の設定に依存せず簡単に開発環境を構築できます。

このコンテナをほぼそのままLambdaにデプロイできます。
Dockerfileに1行追加し、Dockerfile内とLambdaの環境変数を少し設定するだけで、ローカルで動いていたWebコンテナがLambdaでも動きます。
(実際はプロダクション用にビルドし直したり、少し手直しします)
詳細はこちらにあります。

  • Lambdaに乗せるために専用の記法を学習する必要がない
  • ローカル開発環境とほぼ同じコンテナ環境で動かせるので、「本番だけ動かない」みたいな沼にはまりづらい

この2点だけでも、開発に集中しやすくなるかなと思います。ウレシイ

注意点

Lambda+コンテナイメージを使う以上、コールドスタート時のレイテンシは体感できるレベルで発生します。
(先日社内のハッカソンで試したときは、2〜3秒ほどかかっていました)
一般的なSaaSとしては体験が悪くなりやすいですが、自分用ならまあ問題ないですね。

おわりに

本当はCloudFront、S3、RDSでAWSに固めて、業務に役立つ知識を得たいところなんですが、まずは「クラウドに乗せる」を目標に構成を考えてみました。
とはいえ、オブジェクトストレージとリレーショナルDBは仕事でも活躍しやすいのでLambda以外は割と無難な構成だと思っています。

数年前の自分も、どうクラウドに乗せればいいのか、お金がどのくらいかかるのかで相当足踏みしていたので、誰かの参考になればうれしいです。
また、もっと良いサービスがあるとか、おすすめの組み合わせがあるとかがあれば教えてください!

余談

DynamoDBも無料枠があるし、NoSQL面白そうだなーと思って、ドキュメントを読んでいた時期がありました。
リレーショナルDBとは全く違う思想で、あとから直せない要素(ソートキー・LSI)もあったりで、設計に相当時間がかかりそうだったので諦めました…ヨヨヨ…

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?