Cloud Run の無料枠を最大限活用する
Cloud Run の無料枠を最大限活用する方法
Google Cloud の無料サービスの中でも特に注目を集めている Cloud Run。その無料枠は、個人開発者やスタートアップにとって、まさに救世主となっています。では、この無料枠をどのように活用すれば、コストを抑えながら最大限のメリットを得られるのでしょうか。
無料枠の基本情報
Cloud Run の無料枠は、毎月以下のリソースが提供されます。
- コンピューティング時間。180,000 vCPU 秒
- メモリ時間。360,000 GiB 秒
- リクエスト数。2,000,000 回
- ネットワーク帯域。1 GB
具体的な利用可能時間
各リソースの実質的な利用可能時間は以下の通りです。
項目 | 無料枠 | 備考 |
---|---|---|
CPU | 180,000 vCPU 秒/月 | 1vCPU で 50 時間 継続稼働可能 |
メモリ | 360,000 GiB 秒/月 | 1GB で 100 時間 継続稼働可能 |
リクエスト数 | 200 万リクエスト/月 | 小規模サイトなら 無料枠内で収まることが多い |
ネットワーク転送 | 無料枠なし | ※ 備考1 |
備考1 : Cloud Run にはネットワーク転送の無料枠はないが、Cloud CDN を組み合わせることで、キャッシュしたコンテンツは 1TB まで無料で配信できます。
これだけ見ると数字の羅列に思えますが、実際のアプリケーション運用ではどのくらいの規模をカバーできるのでしょうか。
料金のポイント
Cloud Run の無料枠には、以下のような特徴があります。
- Cloud Run の無料枠は「請求サイクルに基づいて毎月リセットされる」
- 無料枠内なら完全無料で運用可能
- オートスケール設定と予算アラートで超過を防止
- 最小インスタンス数を 0 に設定で効率的な運用が可能
最小インスタンス数を 0 に設定すると、アクセスがないときは完全に停止するため、CPU とメモリの消費が 0 になります。ただし、初回アクセス時にコールドスタートが発生する可能性があるため、企業のコーポレートサイトなどでは注意が必要です。
コスト管理のための重要設定
効果的なコスト管理のために、以下の設定を推奨します。
オートスケール設定
最大インスタンス数を制限し、予期せぬスケールアウトを防止。
リクエスト制限
同時実行数を制限し、リソースの過剰使用を防止。
効果。
- 1 インスタンスが処理するリクエスト数を制限
- 急激な負荷増大を防ぎ、コスト最適化
- コーポレートサイトなら c10 で十分
最小インスタンス数の設定
Cloud Run は「最小インスタンス数(min-instances)」を 0 に設定すると、アクセスがないとき完全停止し、CPU & メモリ消費が 0 円になります。
設定 | 説明 | コスト削減効果 |
---|---|---|
--min-instances=0 | アクセスがないときは完全停止(ゼロスケール) | 最大限の節約 ✅ |
--min-instances=1 以上 | 常に最低 1 インスタンスを維持(即応性 UP) | 待機時間なしだがコスト発生 💰 |
コールドスタートが問題になる場合は、Cloud CDN の利用や、最小インスタンス数の調整を検討しましょう。
実践的な運用例
たとえば、1 vCPU・256 MB のメモリを割り当てたコンテナの場合、以下のような運用が可能です。
- 1 日あたり約 2,000 リクエスト
- レスポンスタイム 1 秒以内
- コンテナの起動時間 30 秒以内
このスペックで、個人ブログや小規模な Web アプリケーションを十分に運用できます。では、どうすれば無料枠を超えないように運用できるのでしょうか。
無料枠を超えないためのベストプラクティス
コンテナの最適化
- ベースイメージは軽量な distroless や alpine を使用
- マルチステージビルドでコンテナサイズを最小化
- 不要なプロセスやファイルを削除
リソースの適切な設定
- 最小インスタンス数は 0 に設定
- メモリは必要最小限に抑える(多くの場合 256MB で十分)
- CPU は 1 vCPU から始める
スケーリングの制御
- 最大インスタンス数を適切に制限
- コンカレンシーを調整してリソース使用を最適化
- 急激なスケールアップを防ぐための設定
無料枠で運用可能なアプリケーション例
以下のようなアプリケーションであれば、無料枠内での運用が現実的です。
- 個人ブログや静的 Web サイト
- Webhook 受信サーバー
- 定期的なバッチ処理
- 小規模な API サーバー
モニタリングの重要性
無料枠を維持するためには、リソース使用量の監視が不可欠です。
- Cloud Monitoring でリソース使用量を定期的にチェック
- 予算アラートを設定して超過を防止
- アプリケーションのログを分析して最適化ポイントを発見
次のステップ
次のステップとして、実際のアプリケーションをデプロイする際は、まず小規模な実験から始めることをお勧めします。そして、徐々にスケールを拡大しながら、無料枠の範囲内で最適なパフォーマンスを追求していきましょう。
無料枠を最大限活用するためのキーポイントは、「必要最小限のリソース」で「最大限の効果」を得ることです。定期的なモニタリングと最適化を忘れずに行いましょう。