在本文中,我们将演示如何使用Terraform在谷歌云的香港区域快速搭建一台可用的服务器,并给出最佳(稳定与运维成本平衡)、性价比最高与最便宜(极限成本节约)三种推荐方案。通过基础网络、子网、防火墙与实例配置示例,你可以在几分钟内用可复现的代码完成部署。
开始前,请确保已在谷歌云控制台启用以下API:Compute Engine API 和 Identity and Access Management。推荐创建一个最小权限的服务账号,授予 roles/compute.instanceAdmin.v1 与 roles/iam.serviceAccountUser,下载JSON密钥并在本地设置环境变量 GOOGLE_APPLICATION_CREDENTIALS。
香港区域在GCP中通常为 asia-east2,推荐使用 asia-east2-a 等可用区。若追求最低费用,可选 e2-micro 或使用抢占式实例(preemptible);若需要稳定与稍好性能,选择 e2-small 或 e2-medium。磁盘默认 pd-standard(标准持久盘),性能要求高则改用 pd-ssd。
一个最小的Terraform项目通常包含 provider 配置、变量定义、网络资源(VPC、子网)、防火墙规则与 compute instance。把敏感信息放在变量或secret管理,不要把服务账号密钥直接写进源码。使用模块化设计便于复用与扩展。
以下为一个简化示例,说明核心资源。将其保存为 main.tf 并根据需要调整变量。
provider "google" {
project = var.project
region = "asia-east2"
zone = "asia-east2-a"
}
resource "google_compute_network" "vpc" {
name = "tf-hk-vpc"
}
resource "google_compute_subnetwork" "subnet" {
name = "tf-hk-subnet"
ip_cidr_range = "10.10.0.0/24"
region = "asia-east2"
network = google_compute_network.vpc.self_link
}
resource "google_compute_firewall" "default-allow-ssh-http" {
name = "tf-hk-fw"
network = google_compute_network.vpc.name
allow {
protocol = "tcp"
ports = ["22", "80", "443"]
}
source_ranges = ["0.0.0.0/0"]
}
resource "google_compute_instance" "vm" {
name = "tf-hk-vm"
machine_type = var.machine_type
zone = "asia-east2-a"
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
size = 20
type = "pd-standard"
}
}
network_interface {
network = google_compute_network.vpc.name
subnetwork = google_compute_subnetwork.subnet.name
access_config {}
}
metadata_startup_script = <<-EOF
#!/bin/bash
apt-get update && apt-get install -y nginx
EOF
}
在包含 main.tf 的目录执行:1) terraform init 初始化;2) terraform plan 检查变更;3) terraform apply 执行创建(注意确认账单);完成后可用 terraform destroy 删除资源以避免持续计费。
为提升安全性,建议开启 OS Login 或使用 SSH 键对,限定入站 IP,避免开启 0.0.0.0/0 的不必要端口。为服务账号赋予最小权限并启用 Cloud Audit Logging。定期对磁盘做快照并使用自动化脚本执行备份。
要把费用降到最低,可以:使用 抢占式实例(preemptible)处理批量任务;选择 e2-micro 或 e2-small;使用较小镜像与精简磁盘;利用 Sustained Use Discounts 与 Committed Use 折扣;按需创建并及时销毁测试环境。
生产环境建议启用 Stackdriver(Cloud Monitoring & Logging)来监控 CPU、内存与网络。需要自动扩展时,使用 Managed Instance Group 与 Autoscaler,并结合负载均衡器来分发流量。
常见问题包括配额不足、API未启用、服务账号权限不够或 SSH 无法登录。遇到配额问题可在控制台申请提高;权限问题检查 IAM;SSH 登录问题检查防火墙与元数据中的 SSH 公钥。
如果你追求“最佳”——推荐 e2-small + pd-ssd,配合监控与备份策略;追求“性价比”——选择 e2-micro 或 e2-small + pd-standard;追求“最便宜”——使用抢占式 实例 并在任务完成后立即销毁。使用 Terraform 能让部署在谷歌云香港区域变得可复现、可审计且易于扩展。
参考官方文档:GCP Compute Engine、Terraform Google Provider。为生产环境建议把配置拆成模块并引入 CI/CD 流水线以实现自动化部署与回滚。