Open5
WindowsからTerraformを利用してGoogle Cloud環境を構築する
TerraformによるGoogle Cloud環境構築
初期化
terraform init
更新内容の確認
terraform plan
変更の適用
terraform apply
主にローカルの開発環境で、Google Cloudのサービスを利用するアプリケーションやスクリプトを実行する際に、認証を簡単に行うコマンド
gcloud auth application-default login
利点:
サービスアカウントを作ってローカルにクレデンシャルファイルを設置して実行する必要がないので安全。
このTerraformコードは、東京リージョンの asia-northeast1-b ゾーンに、PostgreSQL 17 を使用した db-f1-micro という比較的小規模なCloud SQLインスタンス (dev-db-server-2) を作成します。主な特徴は以下の通りです。
💰 低コスト構成: db-f1-micro (共有コア) と PD_HDD を採用。
💾 自動バックアップとポイントインタイムリカバリが有効になっており、データの保護が考慮されています。
🛡️ 削除保護が有効で、誤操作によるインスタンス削除を防ぎます。
⚙️ ストレージは自動拡張される設定です。
🌐 パブリックIPアドレスが有効になります。
resource "google_sql_database_instance" "dev_db_server_2" {
name = "dev-db-server-2"
database_version = "POSTGRES_17"
region = "asia-northeast1"
settings {
tier = "db-f1-micro"
edition = "ENTERPRISE"
disk_size = 20
disk_type = "PD_HDD"
availability_type = "ZONAL"
activation_policy = "ALWAYS"
disk_autoresize = true
disk_autoresize_limit = 0
ip_configuration {
ipv4_enabled = true
}
backup_configuration {
enabled = true
binary_log_enabled = false
point_in_time_recovery_enabled = true
backup_retention_settings {
retained_backups = 7
retention_unit = "COUNT"
}
location = "asia" // JSONの "location: asia" から
start_time = "19:00"
transaction_log_retention_days = 7
}
location_preference {
zone = "asia-northeast1-b"
}
maintenance_window {
day = 7
hour = 0
update_track = "canary"
}
}
deletion_protection = false
}
Cloud SQLのインスタンスの詳細情報を表示させる。
$ gcloud sql instances describe $instance_name