游戏应用基于Google Cloud-Compute Engine 部署指南

发布时间:2025-04-29 16:23:48

游戏应用如何在海外 Google Cloud Platform (GCP) 上快速部署和配置一个基础的 Compute Engine 虚拟机 (VM) 实例(通常称为云服务器)的具体分步指南。本指南主要使用 Google Cloud Console (网页界面),并提及相应的 gcloud 命令行工具用法。

前提条件

1. Google Cloud 账号: 您需要一个 Google Cloud 账号(可联系MG 申请免费测试账户)。

2. GCP 项目: 您需要在 GCP 中有一个项目。您可以创建一个新项目或使用现有项目。确保项目已启用结算功能


步骤一:访问 Compute Engine

1. 打开 Google Cloud Console。

2. 在左上角的导航菜单 (☰) 中,找到并选择 Compute Engine

3. 在 Compute Engine 菜单下,点击 虚拟机实例 (VM instances)


步骤二:创建新的 VM 实例

1. 在 "虚拟机实例" 页面,点击顶部的 创建实例 (CREATE INSTANCE) 按钮。

2. 您将进入实例创建配置页面。以下是关键配置项的详细说明:

  • 名称 (Name): 为您的 虚拟机 实例设置一个唯一的、有意义的名称(例如 my-game-server-dev-01, web-backend-prod-asia-1)。名称只能包含小写字母、数字和连字符。

  • 区域 (Region) 和可用区 (Zone):

    • 区域 是一个独立的地理区域,例如 asia-east1 (台湾), asia-east2 (香港), asia-northeast1 (东京), us-central1 (爱荷华)。

    • 可用区 是区域内的一个隔离位置,例如 asia-east1-a, asia-east1-b。

    • 选择原则: 选择离您的目标用户群体最近的区域以获得最低延迟。同时考虑成本和特定服务的可用性(某些服务可能并非在所有区域都可用)。选择区域后,再选择该区域下的一个可用区。将实例部署在多个可用区可以提高容错能力。

    • 例如:如果您的主要玩家在亚太,选择香港 (asia-east2) 或东京 (asia-northeast1) 可能是延迟较低的选择。

  • 机器配置 (Machine configuration):

    • 系列 (Series): 选择机器系列,决定了底层硬件和特性。

      • 通用 (General-purpose): E2, N2, N2D, N1 (N1 是较旧的系列)。E2 性价比高,N2/N2D 性能更强。适合大多数应用。

      • 计算优化 (Compute-optimized): C2/C2D。提供最高的每核心性能,适合 CPU 密集型任务。

      • 内存优化 (Memory-optimized): M1, M2, M3。提供极高的内存容量,适合大型内存数据库或分析任务。

      • 加速器优化 (Accelerator-optimized): A2, G2。带有 GPU,适合机器学习或图形渲染。

    • 机器类型 (Machine type): 根据您选择的系列,选择具体的 vCPU 数量和内存大小 (RAM)。例如 e2-medium (2 vCPU, 4 GB RAM), n2-standard-4 (4 vCPU, 16 GB RAM)。您可以选择预定义类型或自定义配置。

    • 建议: 对于初次部署或测试,可以从较小的类型开始(如 e2-medium 或 e2-standard-2),后续可以根据性能监控结果调整。

  • 启动磁盘 (Boot disk):

    • 操作系统 (Operating System): 点击 "更改 (Change)" 选择您需要的操作系统镜像。

      • 常见 Linux 发行版: Debian (推荐, 稳定免费), Ubuntu (流行, 社区支持好), CentOS Stream, Rocky Linux, AlmaLinux (RHEL 兼容), RHEL, SLES 等。

      • Windows Server: 提供多个版本 (需额外许可费用)。

    • 版本 (Version): 选择具体的 OS 版本。

    • 启动磁盘类型 (Boot disk type):

      • 标准永久性磁盘 (Standard persistent disk): 基于 HDD,成本最低,性能一般。

      • 平衡永久性磁盘 (Balanced persistent disk): 性价比高的 SSD。

      • SSD 永久性磁盘 (SSD persistent disk): 高性能 SSD,适合需要快速 I/O 的应用。

      • 极端永久性磁盘 (Extreme persistent disk): 最高性能和 IOPS (价格也最高)。

      • 建议: 推荐使用 平衡SSD 永久性磁盘以获得较好的性能。

    • 大小 (Size in GB): 设置启动磁盘的大小。默认值 (如 10GB 或 20GB) 对某些 OS 可能不够,根据需要调整 (例如 30GB 或 50GB)。

  • 身份和 API 访问权限 (Identity and API access):

    • 服务账号 (Service account): VM 实例使用服务账号调用其他 Google Cloud API。默认服务账号通常具有较宽泛的权限。对于生产环境,最佳实践是创建具有最小所需权限的专用服务账号。

    • 访问权限范围 (Access scopes): 控制服务账号可以访问哪些 API。可以选择 "允许默认访问权限" 或 "对每个 API 进行设置"。

    • 建议: 初期可以使用默认设置,后续根据安全需求进行细化。

  • 防火墙 (Firewall):

    • 非常重要! 默认情况下,GCP 防火墙会阻止所有传入流量,除非明确允许。

    • HTTP/HTTPS 流量: 如果您的服务器需要运行网站或 Web 管理界面,勾选 "允许 HTTP 流量" 和/或 "允许 HTTPS 流量"。这会自动创建允许 TCP 端口 80 和 443 流量的防火墙规则。

    • 游戏端口: 对于游戏服务器,您需要稍后手动创建防火墙规则来允许特定的 TCP 和/或 UDP 端口。不要 在这里勾选 HTTP/HTTPS 除非确实需要。

  • 网络、磁盘、安全、管理、单租户 (Networking, Disks, Security, Management, Sole-tenancy):

    • 展开此部分可进行高级配置。

    • 网络 (Networking):

      • 网络接口 (Network interfaces): 默认会使用 default VPC 网络。您可以指定子网。

      • 外部 IP (External IP): 默认为 临时 (Ephemeral),即每次 VM 停止再启动时 IP 地址可能会改变。如果需要固定 IP 地址(例如用于 DNS 解析),请选择 静态 (Static)。静态 IP 会产生少量额外费用。

      • 网络标记 (Network tags): 添加标记(如 game-server, allow-tcp-27015)可以方便地将防火墙规则应用于一组具有相同标记的 VM。

3. 检查配置: 在右侧会显示预估的月度费用。仔细检查所有配置项。

4. 创建: 点击页面底部的 创建 (CREATE) 按钮。

实例创建过程通常需要几十秒到几分钟。创建完成后,您将在 "虚拟机实例" 列表中看到新创建的实例及其内部和外部 IP 地址。


步骤三:连接到 VM 实例

实例运行后,您需要连接上去进行配置。

  • 连接到 Linux 实例 (Debian, Ubuntu, CentOS):

    • 通过浏览器 SSH 在 VM 实例列表中,找到您的实例,点击对应行右侧的 SSH 按钮。这会在浏览器中打开一个安全的 SSH 终端窗口。这是最简单快捷的方式。

    • 使用 gcloud 命令行: 如果您本地安装了 Google Cloud SDK,可以在本地终端运行:

    • Bash

    Plain Text
      gcloud   compute ssh YOUR_INSTANCE_NAME --zone YOUR_INSTANCE_ZONE
      # 例如: gcloud compute ssh my-game-server-dev-01 --zone asia-east1-b

    • 使用标准 SSH 客户端 ( PuTTY, OpenSSH): 您需要管理 SSH 密钥对。GCP 可以为您管理密钥,或者您可以上传自己的公钥。连接时使用外部 IP 地址。

  • 连接到 Windows Server 实例:

    • 通过 RDP 在 VM 实例列表中,找到您的实例,点击对应行右侧的 RDP 下拉菜单。

      • 设置 Windows 密码: 首次连接前,您需要设置一个 Windows 用户和密码。点击 "设置 Windows 密码 (Set Windows password)",GCP 会为您生成一个密码(请务必安全保存)。

      • 下载 RDP 文件使用 Chrome RDP 扩展程序 进行连接。您需要使用刚刚设置的用户名和密码登录。

    • 使用 gcloud (更安全,通过 IAP 隧道):

    • Bash

    Plain Text
      gcloud   compute start-iap-tunnel YOUR_INSTANCE_NAME 3389 --zone YOUR_INSTANCE_ZONE   --local-host-port=localhost:LOCAL_PORT


    • 然后使用本地 RDP 客户端连接到 localhost:LOCAL_PORT。


步骤四:基本配置 (连接后)

连接到实例后,通常需要进行一些基础配置:

1.  更新操作系统:

  • Debian/Ubuntu: sudo apt update && sudo apt upgrade -y

  • CentOS/RHEL/Rocky/Alma: sudo yum update -y

2. 安装必要软件: 根据您的需求安装软件,例如:

  • Web 服务器 (Nginx, Apache)

  • 数据库客户端

  • 游戏服务器所需的运行库或程序

  • 监控代理 (如 Cloud Monitoring agent)

  • 防火墙管理工具 (如 ufw)

3. 配置防火墙 (GCP VPC 级别):

  • 这是关键步骤,尤其是对于游戏服务器!

  • 返回 Google Cloud Console,导航到 VPC 网络 (VPC network) -> 防火墙 (Firewall)

  • 点击 创建防火墙规则 (CREATE FIREWALL RULE)

  • 配置规则:

    • 名称: 给规则起个名字 (如 allow-game-server-tcp-udp)。

    • 网络: 选择您的 VPC 网络 (通常是 default)。

    • 流量方向: 入站 (Ingress)。

    • 对匹配项执行的操作: 允许 (Allow)。

    • 目标: 选择 "指定的目标标记 (Specified target tags)",并在下方输入您在创建 VM 时设置的网络标记 (如 game-server),或者选择 "网络中的所有实例" (不推荐,除非确实需要)。

    • 来源过滤条件: 选择 "IPv4 范围 (IPv4 ranges)",输入 0.0.0.0/0 以允许来自任何 IP 地址的连接(对于公共游戏服务器)。如果需要限制来源 IP,可以在这里指定。

    • 协议和端口: 选择 "指定的协议和端口 (Specified protocols and ports)"。

      • 勾选 tcp 并输入您的游戏需要的 TCP 端口号 (例如 27015, 7777)。

      • 勾选 udp 并输入您的游戏需要的 UDP 端口号 (例如 27015, 7777-7780)。

      • 端口可以是单个端口、逗号分隔的列表或范围。

  • 点击 创建 (Create)

4. 设置定时任务、用户权限等其他配置。


重要考虑因素

  • 成本: VM 运行会持续计费。不使用时考虑停止 (Stop) 实例(仅收取磁盘存储费用)或删除 (Delete) 实例(不再产生任何费用)。使用抢占式 VM (Spot VM) 可以大幅降低成本,但实例可能随时被中断。

  • 安全: 最小化开放端口,使用强密码或 SSH 密钥,定期更新系统,使用具有最小权限的服务账号。

  • 备份: 定期为您的启动磁盘和任何附加数据磁盘创建快照 (Snapshots),以便在出现问题时恢复。

  • 监控: 使用 Cloud Monitoring 监控 VM 的 CPU、内存、磁盘和网络使用情况,设置警报。

使用 gcloud 命令行创建实例示例

Bash

Plain Text
  示例:创建一个 e2-medium 实例,使用 Debian 11,位于 asia-east1-b,# 带有   50GB SSD 启动磁盘,并标记为 game-server 和 http-server
  gcloud compute instances create my-gcloud-instance \
      --project=YOUR_PROJECT_ID \
      --zone=asia-east1-b \
      --machine-type=e2-medium \
      --image-project=debian-cloud \
      --image-family=debian-11 \
      --boot-disk-size=50GB \
      --boot-disk-type=pd-ssd \
      --tags=game-server,http-server \
      --metadata=startup-script="#!   /bin/bash
          # 示例启动脚本:更新系统并安装 nginx
          apt update
          apt install -y nginx
          echo 'Hello from GCP!' >   /var/www/html/index.html"# 查看所有 gcloud compute   instances create 的选项
  gcloud compute instances create --help

这个详细指南应该能帮助您成功创建并初步配置您的第一个 Google Cloud VM 实例。根据您的具体游戏应用需求,您可能还需要安装特定的游戏服务器软件、数据库、配置负载均衡器等。


Meetgames帮助开发者更全面的通过市场数据了解自己的竞争优势,免费提供游戏竞品分析、发行服务和工具,助力出海开发者完善发行能力,高效率抓住市场机遇赢得成功。

了解更多市场数据,扫描上方二维码联系平台运营