このTerraformプロジェクトは、Cloudflare R2バケットとGoogle Cloud Runサービス(最小コスト設定)のデプロイを自動化します。
コンテナPORT:8001
メモリ 128MiB # 最小の設定
vcpuの数 1
リクエストタイムアウト 300s
最大同時リクエスト数 80
リクエストの処理中にのみCPUを割り当てる
実行環境
デフォルト
自動スケーリング
インスタンスの最小数 0 # 最小の設定
インスタンスの最大数 1 # 最小の設定
起動時の CPU ブースト 無し
run-2
プロジェクトは、以下の主要なファイルで構成されています。
.terraform_example.tfvars
: Terraform変数のサンプル値を定義したファイルで、ユーザーが自身の設定に基づいてカスタマイズするためのテンプレートとして機能します。.terraform_example.tfvarsを参考に.terraform.tfvars
ファイルを作成して下さい。cloud_run.tf
: Google Cloud Runの設定を定義するTerraform設定ファイルです。cloudbuild.yaml
: Google Cloud Buildで使用されるビルド構成を定義するYAMLファイルです。Dockerイメージのビルドとプッシュ、そしてGoogle Cloud Runへのデプロイが自動化されます。cloudflare_r2.tf
: Cloudflare R2のバケットリソースを管理するためのTerraform設定ファイルです。
- Terraformがインストールされている
- Google Cloud SDKがインストールされている
- Google Cloud Platformのアカウントがある
- GitHubのアカウント(リポジトリ)がある
- Cloudflareのアカウントがある
Terraform変数の設定: .terraform.tfvars
ファイルを作成し、必要な変数を設定します。例として、.terraform_example.tfvars
ファイルを参考にしてください。
# Cloudflare R2
api_token = "<your_api_token>"
zone_id = "<your_zone_id>"
account_id = "<your_account_id>"
bucket_name = "terraform-test-bucket"
# Cloud Run
project_id = "<YOUR_GCP_PROJECT_ID>"
region = "asia-northeast1"
service_name = "terraform-test-cloudrun"
github_owner = "<YOUR_GITHUB_USERNAME_OR_ORG_NAME>"
github_repo = "<YOUR_GITHUB_REPO_NAME>"
# BACKEND_ENV
env_vars = {
BACKEND_ENV_NAME = "<BACKEND_ENV_VALUE>"
BACKEND_ENV_NAME2 = "<BACKEND_ENV_VALUE2>"
# ... 他の環境変数
}
Google Cloud RunサービスとCloudflare R2バケットをデプロイするには、以下のTerraformコマンドを実行します:
terraform init
terraform apply -var-file=".terraform.tfvars"
デプロイしたリソースを削除するには、以下のコマンドを実行します:
terraform destroy -var-file=".terraform.tfvars"