概述
Google Cloud Compute Engine 是 Google Cloud Platform (GCP) 提供的基础设施即服务 (IaaS) 产品,允许用户在 Google 的数据中心运行虚拟机实例。它提供了高性能、可扩展的计算资源,支持多种操作系统和机器类型,适用于各种工作负载。
主要特点:
- 多种预定义和自定义机器类型
- 按秒计费,成本优化
- 全球多区域部署
- 与其他 GCP 服务深度集成
- 自动扩缩容和负载均衡
创建 VM
1. 通过 Google Cloud Console 创建
- 登录 Google Cloud Console
- 选择或创建项目
- 导航到 “Compute Engine” > “VM 实例”
- 点击 “创建实例”
- 配置实例参数:
- 名称:为实例命名
- 区域和可用区:选择合适的地理位置
- 机器配置:选择 CPU 和内存规格
- 启动磁盘:选择操作系统和磁盘大小
- 防火墙:允许 HTTP/HTTPS 流量(如需要)
- 点击 “创建” 完成部署
2. 通过 gcloud CLI 创建
如果本地 gcloud 没有登录:
gcloud auth login --no-launch-browser
# 基础创建命令
gcloud compute instances create my-vm \
--zone=us-central1-a \
--machine-type=e2-medium \
--image-family=ubuntu-2004-lts \
--image-project=ubuntu-os-cloud
# 带更多配置的创建命令
gcloud compute instances create my-vm \
--zone=us-central1-a \
--machine-type=e2-medium \
--subnet=default \
--network-tier=PREMIUM \
--maintenance-policy=MIGRATE \
--tags=http-server,https-server \
--image-family=ubuntu-2004-lts \
--image-project=ubuntu-os-cloud \
--boot-disk-size=20GB \
--boot-disk-type=pd-standard
连接 VM
1. SSH 连接(推荐)
# 通过 gcloud 连接
gcloud compute ssh my-vm --zone=us-central1-a
# 指定用户名连接
gcloud compute ssh username@my-vm --zone=us-central1-a
# 使用外部 IP 直接连接
ssh username@EXTERNAL_IP
2. 浏览器 SSH
- 在 Google Cloud Console 中找到你的 VM 实例
- 点击实例名称旁的 “SSH” 按钮
- 浏览器会打开一个 SSH 终端窗口
3. 设置 SSH 密钥
# 生成 SSH 密钥对
ssh-keygen -t rsa -f ~/.ssh/gcp-key -C username
# 添加公钥到 VM 元数据
gcloud compute project-info add-metadata \
--metadata-from-file ssh-keys=~/.ssh/gcp-key.pub
# 或添加到特定实例
gcloud compute instances add-metadata my-vm \
--metadata-from-file ssh-keys=~/.ssh/gcp-key.pub \
--zone=us-central1-a
4. 防火墙配置
# 允许 SSH 访问
gcloud compute firewall-rules create allow-ssh \
--allow tcp:22 \
--source-ranges 0.0.0.0/0 \
--description "Allow SSH access"
# 查看现有防火墙规则
gcloud compute firewall-rules list
使用场景
Python Poetry 开发环境
常用命令:
- 安装 poetry
curl -sSL https://install.python-poetry.org | python3 -
- 设置 poetry path
export PATH=$HOME/.local/bin:$PATH
- 设置 poetry 缓存目录为当前目录
export POETRY_CACHE_DIR=$(pwd)
- 下载包
poetry install
- 更新
poetry.lock文件
poetry lock
