GCPの設定で参考になったサイト

Tech
Table of Contents

Google Cloud Platform (GCP) を使って、できるだけ低コストでサーバーやデータベースを運用するための設定方法について解説しています。

App Engine

最安設定

以下の設定を app.yaml に記載することで、最もコストを抑えた構成が可能です。

env: standard
instance_class: F1
automatic_scaling:
  max_instances: 1
  • env: Standard環境を使用することで無料枠が利用可能。Flexible環境だと想定外の請求が発生することがあるため注意。
  • instance_class: F1は最も低スペックなインスタンスで、1日28インスタンス時間まで無料。
  • automatic_scaling: max_instances を1に設定することでインスタンスが勝手に増えないように制御。

Cloud SQL

最安設定

Cloud SQLの課金は以下の要素によって決まります。

  • インスタンスのマシンタイプ(CPU、メモリ、稼働時間)
  • ストレージ
  • ネットワーク通信(egressのみ)

リージョンによって価格が変わり、Iowaリージョンが最も安価です。

稼働時間の管理

インスタンスは稼働時間に応じて課金されるため、使わない時は停止することが重要です。

# インスタンスの一覧を取得
$ gcloud sql instances list

# インスタンスを停止
$ gcloud sql instances patch INSTANCE_NAME --activation-policy=NEVER

インスタンスのマシンタイプ

  • db-f1-microdb-g1-small が最も安価ですが、本番環境ではSLA対象外なので開発用として推奨。
  • Dedicated coreの場合はvCPUとメモリに応じて課金されます。

ストレージ

  • HDDはSSDよりも2倍安価。
  • High Availability (HA)は通常の2倍高い。
  • バックアップも課金対象になるため、不要な場合はオフにすることを推奨。

ネットワーク

  • Ingress(受信)は無料。
  • Egress(送信)はリージョンやサービスによって課金されます。同じリージョン内で通信すれば無料になるケースが多いです。

Cloud Scheduler

無料枠

1つのBillingアカウントにつき、月あたり3つまでのジョブは無料です。それ以上は $0.10/job/month の料金が発生します。

Cloud Functions

Cloud Functionsの課金要素は次の通りです。

  • 呼び出し回数
  • コンピューティング時間
  • ネットワーク通信

すべてに無料枠があります。同じリージョン内で他のGCPサービスと通信すればネットワークコストを抑えられます。


この記事では、GCPをできるだけ低コストで運用するための具体的な設定方法について説明しています。

参考サイト