返回列表

谷歌云结算账号 GCP账号服务器配置教程

谷歌云GCP / 2026-05-28 18:58:51

下载.png

前言:为什么要看这篇配置教程(以及别害怕)

如果你刚接触云平台,看到成堆的新名词和按钮,心里可能会默念三遍“这也太复杂了吧”。别急,本文像个耐心的同伴,一步一步带你从零开始把 GCP(谷歌云平台)账号、项目、网络、虚拟机(服务器)和监控这些必要工序配好,让你既能按图索骥地完成实操,又能在同事面前装作轻松自如地回答问题。

本文适合刚入门或已有基础但想把最佳实践理顺的读者。语言尽量直白、实例可复制,并附命令和示例配置。读完之后,你应该能独立创建一个基础可用、安全可控、成本相对合理的 GCP 服务器环境。

谷歌云结算账号 准备工作:你需要什么

  • 一张可用于在线支付的信用卡(用于开通结算)。
  • 一台带终端的电脑(Mac/Linux/Windows 都行),最好已安装 gcloud CLI。
  • 一个讲求安全但又不太挑剔的脑袋(夸张点说是好奇心)。

如果还没安装 gcloud,可以在本地先准备好终端环境,稍后我们会用到 gcloud 命令来快速演练实例创建与配置。

第一部分:账号注册与项目设置

注册账号与开启结算

注册 GCP 需要绑定结算信息(信用卡或其他方式),这是平台规定。注册过程通常需要实名认证和绑定支付方式。记得开启免费额度或促销额度(如果有),以便测试时先不太担心账单。

创建项目(Project)

Project 是 GCP 资源的逻辑容器。一个常见做法是按环境(dev/stage/prod)或按业务线创建不同的项目,便于权限与结算划分。

命令示例(用 gcloud):

gcloud projects create my-project-id --name="my-project"

注意:project id 是全局唯一的,创建后不可更改。

为项目开启必要的 API

很多服务需要在项目中显式启用对应 API,例如 Compute Engine、Cloud Monitoring、Cloud Logging 等。

gcloud services enable compute.googleapis.com monitoring.googleapis.com logging.googleapis.com

第二部分:身份与访问管理(IAM)与服务账号

用户与角色

最常见的原则是“最小权限”:只赋予用户或服务运行所需的最少权限。避免把 Owner 权限随手给人。

  • 常用角色:roles/compute.instanceAdmin、roles/compute.networkAdmin、roles/viewer、roles/logging.logWriter 等。

服务账号(Service Account)

服务账号主要用于在实例或自动化系统中代表服务访问 GCP 资源。不要使用个人账号做自动化任务。

gcloud iam service-accounts create my-sa --display-name="My Service Account"

# 授权角色
gcloud projects add-iam-policy-binding my-project-id \
  --member="serviceAccount:[email protected]" \
  --role="roles/compute.instanceAdmin.v1"

把敏感权限(比如存储桶写入、数据库管理等)分别细化到不同服务账号,方便审计与撤权。

开启 OS Login(可选但推荐)

OS Login 将 SSH 权限与 IAM 绑定,便于集中管理用户登录权限。

gcloud compute project-info add-metadata --metadata enable-oslogin=TRUE

第三部分:网络与防火墙基础

VPC、子网与路由

建议使用自定义 VPC(Custom Mode)而不是默认模式,这样你可以自行规划子网与 IP 段,避免日后碰撞或混乱。通常至少创建两个子网:一个用于公网访问的跳板/负载均衡层,一个用于内部服务。

防火墙规则

防火墙是围城大门。常见做法是默认拒绝入站,只开放需要的端口给可信来源。

# 允许 HTTP 和 SSH(示例,注意生产环境请限制源 IP)
gcloud compute firewall-rules create allow-http --allow tcp:80 --network default --source-ranges=0.0.0.0/0

gcloud compute firewall-rules create allow-ssh --allow tcp:22 --network default --source-ranges=203.0.113.0/24

生产环境下请把 0.0.0.0/0 改成具体管理 IP,或使用 Cloud IAP + SSH 隧道来替代直接开放 22 端口。

静态 IP 与负载均衡

如果你的服务需要固定访问地址,请为实例或负载均衡器预留静态外部 IP。

gcloud compute addresses create my-static-ip --region=us-central1

第四部分:创建并配置 Compute Engine 实例(服务器)

谷歌云结算账号 选择镜像与机器类型

根据业务选择合适的镜像(Debian/Ubuntu/CentOS/Container-optimized 等)与机器类型(n1-standard-1、e2-medium、或自定义 CPU/RAM)。

  • 测试/开发:可以选择小规格 e2 或预留突发型实例来省钱。
  • 生产:根据负载选择合适的规格,建议先做性能测试。

磁盘类型与大小

磁盘类型分为标准 pd-standard(便宜)、SSD pd-ssd(性能好)和均衡 pd-balanced。根据 IO 需求选择。

启动脚本(Startup script)

启动脚本可用于在实例启动时自动安装软件、拉取配置或运行初始化任务。示例:

#cloud-config
runcmd:
  - sudo apt-get update -y
  - sudo apt-get install -y nginx
  - sudo systemctl enable nginx
  - sudo systemctl start nginx

也可以在创建实例时通过 metadata 注入脚本:

gcloud compute instances create my-vm \
  --image-family=debian-11 \
  --image-project=debian-cloud \
  --machine-type=e2-medium \
  --metadata-from-file startup-script=./startup.sh \
  --zone=us-central1-a

创建实例的完整示例

gcloud compute instances create web-server-1 \
  --project=my-project-id \
  --zone=us-central1-a \
  --machine-type=e2-medium \
  --subnet=default \
  --tags=http-server,https-server \
  --image-family=debian-11 \
  --image-project=debian-cloud \
  --boot-disk-size=50GB \
  --boot-disk-type=pd-balanced \
  --metadata-from-file startup-script=./startup.sh

第五部分:SSH 与远程管理

使用 gcloud 连接

推荐使用 gcloud compute ssh,它会自动处理密钥下发和用户名映射:

gcloud compute ssh my-user@web-server-1 --zone=us-central1-a

手动管理 SSH 密钥

你也可以在实例元数据或项目元数据中添加公钥,但这在团队协作时管理较麻烦,建议配合 OS Login 使用。

跳板机(Bastion Host)与 IAP

不要直接把所有实例暴露到公网。搭建一个跳板机并限制其访问,或者使用 Identity-Aware Proxy (IAP) + SSH 隧道来做集中访问控制和审计。

第六部分:持久化存储与备份策略

磁盘快照(Snapshot)

定期对根磁盘和数据磁盘做快照,以便在故障或误操作后恢复。快照可以按天或按周自动化。

gcloud compute disks snapshot web-disk --zone=us-central1-a --snapshot-names=web-disk-snap-$(date +%F)

自动化备份建议

  • 关键数据走多区备份,避免单区故障。
  • 对数据库使用冷备与逻辑备份结合的策略。
  • 把快照元数据记录在中央位置,方便查询与恢复。

第七部分:监控与日志

启用 Cloud Monitoring 与 Logging

Cloud Monitoring(原 Stackdriver)可以监控实例的 CPU、内存、磁盘、网络等指标,并设置告警。

gcloud services enable monitoring.googleapis.com logging.googleapis.com
# 安装代理(可选)
curl -sSO https://dl.google.com/cloudagents/add-monitoring-agent-repo.sh
sudo bash add-monitoring-agent-repo.sh
sudo apt-get update && sudo apt-get install stackdriver-agent

谷歌云结算账号 设置告警规则

常见告警项包括 CPU 长时间高于阈值、磁盘使用率接近满、实例不可达等。

日志导出与分析

将重要日志导出到 Cloud Storage、BigQuery 或自建 ELK,以便长期保存与复杂查询。

第八部分:自动化与基础设施即代码

Terraform 示例(简要)

Terraform 可以把资源定义成代码,便于版本管理与复用。下面是一个极简的 Compute Engine 模块示例:

provider "google" {
  project = "my-project-id"
  region  = "us-central1"
}

resource "google_compute_instance" "web" {
  name         = "web-server-1"
  machine_type = "e2-medium"
  zone         = "us-central1-a"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
      size  = 50
    }
  }

  network_interface {
    network = "default"
    access_config {}
  }

  metadata_startup_script = file("./startup.sh")
}

把基础资源用 Terraform 管理,可以做到一键重建环境与审计变更。

第九部分:成本优化技巧

  • 使用预留实例或持续使用折扣(Committed Use Discount)来降低长期运行成本。
  • 开发/测试环境尽量使用小规格实例或按需开启/关闭。
  • 考虑使用 Preemptible 实例处理非关键批量任务(价格便宜,但随时可能被回收)。
  • 定期审计闲置资源(未使用的磁盘、已停止的实例、无主的静态 IP)。

第十部分:安全最佳实践

最小权限与细粒度权限

把权限最小化是降低人祸的重要手段,按角色而不是按人赋权,使用服务账号代替个人账号用于自动化。

补丁与基线配置

定期给操作系统和应用打补丁。可以使用配置管理工具(Ansible、Puppet、Chef)或镜像自动化构建安全基线镜像。

网络隔离与私有访问

尽量把数据库和内部服务放在私有子网,禁止直接通过公网访问。必要时通过负载均衡或代理暴露服务。

谷歌云结算账号 第十一部分:常见问题与快速排查

实例无法启动或 SSH 失败

  • 检查防火墙规则是否误阻止了 22 端口或 ICMP。
  • 检查实例元数据中的 SSH 密钥或 OS Login 配置是否正确。
  • 通过 serial console 查看启动日志,排查启动脚本错误。

磁盘性能或 I/O 瓶颈

确认磁盘类型是否满足需求(pd-ssd 比 pd-standard 快),并检查是否需要增加磁盘吞吐或使用本地 SSD。

费用突然飙升

  • 检查最近变更记录,是否有高规格实例、外网流量或大规模存储产生。
  • 使用账单导出与 BigQuery 分析每项成本来源,及时关闭不必要资源。

总结与下一步

把一台 GCP 服务器从零配置到可靠运行,关键在于规划(项目与网络)、权限(IAM 与服务账号)、自动化(启动脚本与 Terraform)、以及运维能力(监控、备份、成本控制)。本文给出了一条实践路径与常用命令示例,供你做为起点。

下一步推荐:

  • 把本文示例用在一个测试项目中,实践创建实例、部署应用并配置监控告警。
  • 把资源定义成 Terraform 模块,方便团队复用与审计。
  • 把关键操作编写成 SOP(操作手册),以便日常运维和紧急恢复。

祝你在云上配置顺利,服务器不炸,钱包不哭。如果哪里卡住了,记得深呼吸,再来一遍命令,问题往往就迎刃而解了。

Telegram售前客服
客服ID
@cloudcup
联系
Telegram售后客服
客服ID
@yanhuacloud
联系