Google Cloud Platform (GCP) 介绍与入门指南 – wiki基地


深入探索 Google Cloud Platform (GCP):全面介绍与入门实战指南

在当今数字化的浪潮中,云计算已成为企业和开发者不可或缺的基础设施。它提供了前所未有的灵活性、可扩展性和成本效益,让创新得以加速,业务能够腾飞。在众多云计算服务提供商中,Google Cloud Platform (GCP) 凭借其强大的技术实力、前沿的创新能力以及遍布全球的基础设施,赢得了广泛的认可和青睐。

本文旨在为读者提供一个全面深入的 GCP 介绍,并提供一份详实的入门指南,帮助初学者快速了解 GCP 的核心概念、主要服务以及如何迈出在 GCP 上构建和部署应用的第一步。

第一部分:认识 Google Cloud Platform (GCP)

1. 什么是云计算?

在深入了解 GCP 之前,我们先简要回顾一下云计算的概念。简单来说,云计算是指通过互联网提供计算资源(如服务器、存储、数据库、网络、软件等)的一种模式。用户无需购买、建设和维护昂贵的物理基础设施,只需按需使用并支付相应费用。云计算通常分为三种服务模式:

  • IaaS (Infrastructure as a Service): 提供虚拟机、存储、网络等基础IT资源。用户拥有操作系统和应用的完全控制权。(例如:GCP 的 Compute Engine)
  • PaaS (Platform as a Service): 提供用于开发、运行和管理应用程序的平台。用户专注于代码开发,无需关心底层基础设施。(例如:GCP 的 App Engine, Cloud Run)
  • SaaS (Software as a Service): 提供可以直接使用的软件应用。用户通过互联网访问,无需安装和管理。(例如:Google Workspace,非典型的狭义云计算服务,但属于云交付模式)

同时,云计算还分为不同的部署模式:

  • 公有云 (Public Cloud): 由第三方服务商拥有和运营,通过互联网向公众提供服务。(例如:GCP, AWS, Azure)
  • 私有云 (Private Cloud): 专为单个组织构建和运营的云基础设施,通常位于组织内部或由第三方托管。
  • 混合云 (Hybrid Cloud): 结合了公有云和私有云,允许数据和应用在这两者之间共享和移动。
  • 多云 (Multi-Cloud): 使用来自多个公有云提供商的服务。

2. GCP 在云计算领域的地位

Google Cloud Platform 是 Google 提供的公有云计算服务套件。它继承了 Google 在数据中心技术、网络基础设施、数据分析、机器学习和人工智能等领域的深厚积累。GCP 与亚马逊网络服务 (AWS) 和微软 Azure 并列为全球领先的三大公有云提供商,并在特定领域(如大数据、AI/ML、容器技术)具有独特的优势。

GCP 的核心理念是将 Google 用于自身大规模服务(如 Google 搜索、YouTube、Gmail 等)的技术和基础设施开放给企业和开发者使用。这意味着用户可以享受到与 Google 内部服务相同的高性能、高可靠性和创新能力。

3. GCP 的核心概念

在开始使用 GCP 之前,理解几个关键的核心概念至关重要:

  • 项目 (Project): GCP 的基本组织单元。所有 GCP 资源(虚拟机、存储桶、数据库等)、IAM(身份与访问管理)策略、API 设置以及账单都与一个特定的项目关联。你可以创建多个项目来隔离不同的应用、环境(开发、测试、生产)或团队。每个项目都有一个唯一的项目ID和项目编号。
  • 区域 (Region) 和区域 (Zone): GCP 的基础设施分布在全球不同的地理位置。一个“区域”是一个特定的地理区域(如 us-central1, europe-west2)。一个“区域”包含一个或多个“区域 (Zone)”。区域是一个独立的数据中心或一组数据中心,它们之间有低延迟、高带宽的网络连接。区域内的区域之间通常是同步复制的,提供高可用性。选择靠近用户或服务所在地的区域可以减少延迟。
  • 资源 (Resource): GCP 中的具体服务实例,如一个虚拟机实例 (Compute Engine Instance)、一个存储桶 (Cloud Storage Bucket)、一个数据库实例 (Cloud SQL Instance) 等。资源总是属于某个特定的项目,并且通常部署在某个特定的区域或区域内。
  • IAM (Identity and Access Management): GCP 的访问控制系统。它允许你精细地控制“谁”(身份,如用户、组、服务账号)对“什么资源”(哪些项目、服务、具体实例)执行“什么操作”(权限,如读、写、删除)。IAM 基于“角色”概念,角色是一组权限的集合。通过为身份分配角色,你可以管理其对资源的访问权限。
  • 账单账户 (Billing Account): 用于跟踪 GCP 资源使用费用并进行支付。一个账单账户可以关联到一个或多个项目。项目必须关联到账单账户才能使用付费服务。

4. GCP 的主要服务类别

GCP 提供了广泛的服务,涵盖了构建现代应用程序所需的各个方面。以下是一些主要的服务类别及其代表性服务:

  • 计算 (Compute):
    • Compute Engine: 提供可自定义的虚拟机(VM)实例,提供 IaaS 能力。你可以选择操作系统、机器类型、存储等。
    • Google Kubernetes Engine (GKE): 全托管的 Kubernetes 服务,用于部署、管理和扩展容器化应用。Google 是 Kubernetes 的发起者,GKE 在这方面有领先优势。
    • Cloud Run: 全托管的无服务器平台,用于运行容器化应用。按请求计费,无需管理服务器或集群。
    • Cloud Functions: 事件驱动的无服务器函数计算服务,执行代码片段以响应事件。
    • App Engine: 全托管的 PaaS 平台,支持多种编程语言,简化应用部署和扩展。
  • 存储 (Storage):
    • Cloud Storage: 可扩展且持久的对象存储服务,适用于各种类型的数据(文件、图片、视频、备份等)。提供不同的存储类别(Standard, Nearline, Coldline, Archive)以优化成本和访问频率。
    • Persistent Disks: 为 Compute Engine 虚拟机提供块存储。
    • Filestore: 全托管的文件存储服务,用于需要共享文件系统的工作负载(如 HPC)。
  • 数据库 (Database):
    • Cloud SQL: 全托管的关系型数据库服务,支持 MySQL、PostgreSQL 和 SQL Server。
    • Cloud Spanner: 高度可扩展、全球分布式的关系型数据库,同时提供强一致性。
    • Firestore: 全托管的无服务器 NoSQL 文档数据库,适用于移动、Web 和无服务器开发。
    • Bigtable: 高度可扩展的 NoSQL 宽列数据库,适用于大规模运营和分析数据。
  • 网络 (Networking):
    • Virtual Private Cloud (VPC): 定义自己的虚拟网络、子网、路由和防火墙规则。
    • Load Balancing: 分发应用流量以提高可用性和性能。
    • Cloud CDN (Content Delivery Network): 缓存内容到边缘节点,加速内容分发。
    • Cloud DNS: 可编程的权威 DNS 服务。
  • 大数据与分析 (Big Data & Analytics):
    • BigQuery: 全托管、PB 级规模的数据仓库服务,用于高性能的 SQL 查询。
    • Dataflow: 全托管的批处理和流处理服务。
    • Dataproc: 全托管的 Spark 和 Hadoop 服务。
    • Pub/Sub: 全托管的实时消息队列服务,用于在独立应用之间传递事件。
  • AI 与机器学习 (AI & Machine Learning):
    • AI Platform Unified: 全面的 MLOps 平台,用于构建、训练和部署机器学习模型。
    • 预训练模型 APIs: Vision AI(图像分析)、Natural Language AI(文本分析)、Speech-to-Text(语音转文本)、Translation AI(机器翻译)等。
    • AutoML: 无需专业 ML 知识即可训练高质量定制模型的服务。
  • 开发者工具 (Developer Tools):
    • Cloud SDK & Cloud Shell: 命令行工具和基于浏览器的终端环境。
    • Source Repositories: 私有 Git 代码仓库。
    • Cloud Build: 持续集成服务。
  • 安全 (Security):
    • IAM: 前面已述。
    • VPC Service Controls: 数据防泄漏的安全边界。
    • Security Command Center: 安全和风险管理平台。
  • 管理与监控 (Management & Monitoring):
    • Cloud Monitoring (原 Stackdriver): 收集指标、日志和事件,提供监控和告警。
    • Cloud Logging (原 Stackdriver): 收集和分析日志数据。

5. 选择 GCP 的理由

为什么选择 GCP?它的优势主要体现在:

  • 技术领先与创新: Google 在数据处理、AI/ML、容器技术(Kubernetes)等领域处于业界前沿,这些技术优势体现在 GCP 的服务中。BigQuery、Cloud Spanner、GKE、TPUs 等服务都是其创新力的体现。
  • 全球级网络基础设施: GCP 拥有遍布全球的高性能光纤网络,其质量和覆盖范围是许多其他云服务商难以比拟的,这为构建低延迟、高可用的全球性应用提供了坚实基础。
  • 强大的数据分析和机器学习能力: GCP 在大数据处理(BigQuery, Dataflow)和 AI/ML 领域提供了非常强大且易于使用的服务,是进行数据驱动型决策和构建智能应用的理想选择。
  • 对开源技术的贡献与支持: Google 是 Kubernetes、TensorFlow 等重要开源项目的创始者和主要贡献者。GCP 与这些开源生态系统紧密集成,为用户提供了灵活性和避免厂商锁定的选择。
  • 灵活且有竞争力的定价: GCP 提供按秒计费、持续使用折扣、承诺使用折扣等灵活的定价模型,帮助用户优化成本。
  • 安全可靠的基础设施: GCP 构建在 Google 多年来运营大规模服务所积累的强大安全实践之上,提供多层安全保障。

第二部分:GCP 入门实战指南

了解了 GCP 的基本概念和服务后,接下来我们将手把手教你如何开始使用 GCP,并完成几个基础任务。

1. 注册 Google Cloud Platform 账户并激活免费额度

  • 访问 GCP 官网: 打开浏览器,访问 cloud.google.com
  • 点击“免费试用” (Get started for free): 通常在页面右上角或显眼位置会有免费试用的入口。
  • 登录或创建 Google 账户: 你需要一个 Google 账户(Gmail 账户即可)来注册 GCP。
  • 填写注册信息: 包括你的国家/地区、接受服务条款等。
  • 验证身份和添加付款方式: GCP 需要你添加有效的付款方式(如信用卡)来验证你的身份并用于未来的付费。请注意,即使是免费试用,也需要添加付款方式。 但在你主动升级到付费账户或免费额度/试用期结束后之前,通常不会产生扣费。GCP 会提供 $300 美元或等值的免费试用额度,通常有效期为 90 天。此外,GCP 还提供“始终免费”(Always Free) 层级,允许你在特定限制内免费使用某些服务(如 Compute Engine 特定规格实例、Cloud Storage 部分容量、Cloud Functions 部分调用次数等),这些不会消耗你的试用额度或在试用期结束后产生费用(只要不超过免费层级限制)。
  • 激活免费试用: 完成信息填写和验证后,你的 GCP 账户就会被激活,并获得免费试用额度。

2. 熟悉 GCP 控制台 (Cloud Console)

注册成功后,你会被引导进入 GCP 控制台 (console.cloud.google.com)。这是管理 GCP 资源的主要界面。

  • 概览仪表盘 (Dashboard): 首次进入或选择项目后看到的页面,显示项目概览、资源活动、账单摘要等信息。
  • 导航菜单 (Navigation Menu): 位于左侧(点击左上角三条横线展开)。这里列出了 GCP 的所有服务类别和具体服务。你可以通过这个菜单访问 Compute Engine、Cloud Storage、BigQuery 等。
  • 项目选择器 (Project Selector): 位于页面顶部中央,显示当前活动的项目名称。点击它可以切换到其他项目或创建新项目。
  • Cloud Shell: 页面顶部的工具栏中有一个终端图标。点击它可以启动 Cloud Shell,这是一个基于浏览器的命令行环境,预装了 Cloud SDK(GCP 的命令行工具 gcloud)。它非常方便,无需在本地安装任何软件即可管理 GCP 资源。
  • 通知和设置: 顶部工具栏还有通知图标(查看操作通知)、支持图标、设置图标等。

3. 创建你的第一个 GCP 项目

尽管注册时可能会自动创建一个默认项目,但建议你为不同的工作负载创建新的项目,以更好地组织和隔离资源。

  • 点击项目选择器: 在顶部工具栏中间。
  • 点击“新建项目” (New Project): 在弹出的窗口中。
  • 输入项目名称: 给你的项目起一个有意义的名字(例如:my-first-gcp-app)。GCP 会自动生成一个项目ID,你也可以编辑它(一旦创建后不可更改)。
  • 选择账单账户: 确保项目关联到你之前设置的账单账户。
  • 点击“创建” (Create): 等待几秒钟,项目就会创建成功。
  • 选择新创建的项目: 创建完成后,在项目选择器中切换到你刚创建的项目。

现在你已经在一个新的、干净的项目中,可以开始创建资源了。

4. 入门实战:启动一个虚拟机 (Compute Engine)

启动虚拟机是云计算中最基础的操作之一。我们将创建一个运行 Debian Linux 的虚拟机。

  • 导航到 Compute Engine: 在左侧导航菜单中,找到“Compute Engine”,点击“VM 实例” (VM instances)。
  • 启用 Compute Engine API: 如果是第一次在项目中访问 Compute Engine,系统可能会提示你启用 Compute Engine API。点击“启用” (Enable) 并等待几秒钟。
  • 创建实例: 点击页面顶部的“创建实例” (Create instance)。
  • 配置虚拟机:
    • 名称: 给你的虚拟机起个名字(例如:my-first-vm)。
    • 区域: 选择一个地理区域。出于入门目的,可以选择离你较近或默认推荐的区域(例如:us-central1)。
    • 区域 (Zone): 在选定的区域内选择一个区域(例如:us-central1-a)。
    • 机器配置: 选择机器系列和机器类型。对于入门,E2N2 系列的 e2-mediumn2-standard-2 (2 vCPU, 8GB 内存) 是不错的选择,性能适中且成本不高。Always Free 层级提供 e2-micro (1 vCPU, 1GB 内存) 实例。
    • 引导磁盘: 点击“更改” (Change)。选择操作系统(例如:Debian GNU/Linux 11 或 12)。可以保持默认的启动磁盘大小(通常是 10-20GB SSD)。点击“选择” (Select)。
    • 身份与 API 访问: 对于入门,可以使用默认设置。
    • 防火墙: 如果你打算在虚拟机上部署 Web 服务器并从互联网访问,勾选“允许 HTTP 流量” (Allow HTTP traffic) 和“允许 HTTPS 流量” (Allow HTTPS traffic)。这会自动创建相应的防火墙规则。
    • 其他高级选项: 对于入门,可以忽略网络接口、管理、安全性等高级设置,使用默认值。
  • 点击“创建” (Create): 等待大约 30 秒到几分钟,虚拟机实例就会被创建并启动。
  • 连接到虚拟机: 在 VM 实例列表页面,找到你的虚拟机实例。在“连接”列下,点击“SSH”。这会通过浏览器启动一个 SSH 终端会话,你可以像连接到任何 Linux 服务器一样操作它。

恭喜!你已经在 GCP 上成功启动了第一个虚拟机。你可以尝试在上面安装一个 Web 服务器(如 Nginx 或 Apache),然后在防火墙中允许相应的端口,并通过虚拟机的外部 IP 地址从浏览器访问它(如果允许了 HTTP/S 流量)。

5. 入门实战:上传一个文件到对象存储 (Cloud Storage)

Cloud Storage 是 GCP 的对象存储服务,非常适合存放不经常变动的大量非结构化数据。

  • 导航到 Cloud Storage: 在左侧导航菜单中,找到“Cloud Storage”,点击“存储桶” (Buckets)。
  • 启用 Cloud Storage API: 如果是第一次访问,可能需要启用 API。
  • 创建存储桶: 点击页面顶部的“创建存储桶” (Create bucket)。
  • 配置存储桶:
    • 命名你的存储桶: 存储桶名称在整个 GCP 中必须是唯一的。命名规则比较严格(只能包含小写字母、数字、破折号、下划线和点,且以字母或数字开头和结尾,长度限制等)。起一个独特的名称,例如:my-unique-bucket-yourname-date
    • 选择区域类型: 选择存储桶数据的存放位置。
      • 区域级 (Region):数据存放在一个区域内的多个区域中,高可用性,低延迟。适合频繁访问的数据。
      • 双区域级 (Dual-region):数据存放在两个指定区域中,提供更高的可用性和性能。
      • 多区域级 (Multi-region):数据在全球多个区域中复制,提供最高的可用性和全球访问性能。
      • 对于入门,选择 区域级 (Region) 并选择一个靠近你的区域(例如:us-central1)。
    • 选择默认存储类别: 不同的类别成本和访问延迟不同。
      • 标准 (Standard):高频访问。
      • 近似热线 (Nearline):每月访问少于一次。
      • 冷线 (Coldline):每季度访问少于一次。
      • 归档 (Archive):每年访问少于一次,用于长期备份和归档。
      • 对于入门,选择 标准 (Standard)
    • 选择访问控制模型: 推荐使用统一的存储桶级访问权限,通过 IAM 控制。
    • 保护工具: 可以设置对象版本控制、保留策略等,入门时可以暂时跳过。
  • 点击“创建” (Create): 等待片刻,存储桶就会被创建。
  • 上传文件: 进入你创建的存储桶。点击“上传文件” (Upload files) 或“上传文件夹” (Upload folder)。选择本地的一个文件上传。
  • 查看和访问文件: 上传成功后,文件会出现在存储桶列表中。默认情况下,对象是私有的。要公开访问,需要设置文件的权限。点击文件名,然后在权限标签页添加 All Users 并赋予 Storage Object Viewer 角色,或者直接在文件列表页勾选文件,然后点击右上角的“设为公开”(Make public)。公开后,你会看到一个“公开访问”链接,可以通过浏览器直接访问该文件。

你已经成功地在 GCP 上创建了一个存储桶并上传了一个文件。Cloud Storage 是许多 GCP 服务的数据源或目的地。

6. 了解账单和监控

在使用 GCP 时,了解费用产生情况和资源使用状态非常重要,尤其是在免费试用期过后。

  • 查看账单报告: 在左侧导航菜单中,找到“账单” (Billing)。点击“报告” (Reports)。这里你可以看到当前项目的费用消耗情况,按项目、服务、区域等维度进行分组查看。这是跟踪支出的主要工具。
  • 设置预算和告警: 在“账单”菜单下,点击“预算与提醒” (Budgets & alerts)。点击“创建预算” (Create budget)。你可以为项目或账单账户设置预算,并在达到预算的百分比(如 50%, 90%, 100%)时接收邮件通知,帮助你避免意外的高额费用。
  • 使用 Cloud Monitoring: 在左侧导航菜单中,找到“运维套件” (Operations) 下的“Monitoring”。这里可以查看各种 GCP 资源的指标(CPU 使用率、网络流量、磁盘 I/O 等),设置监控仪表盘和基于指标的告警策略。例如,你可以设置一个告警,当你的虚拟机 CPU 使用率超过 80% 持续一段时间时通知你。
  • 使用 Cloud Logging: 在“运维套件”下找到“Logging”。这里可以查看和搜索你的 GCP 资源的日志。排查应用或基础设施问题时,日志是非常宝贵的资源。

7. 学习资源与后续步骤

入门只是第一步,GCP 还有非常多的服务和深入的知识等待你去探索。

  • 官方文档: GCP 官方文档 (cloud.google.com/docs) 是最权威、最全面的学习资源。当你遇到问题或想了解某个服务的详细信息时,优先查阅文档。
  • 教程与实验室 (Tutorials & Labs): GCP 官网提供了大量的入门教程和实操实验室,通过动手实践来学习特定服务的使用。
  • Qwiklabs/Coursera: Google Cloud 与 Qwiklabs(现已集成到 Google Cloud Skills Boost)和 Coursera 等在线教育平台合作,提供了结构化的课程和带向导的实验环境,是系统学习 GCP 的绝佳途径。
  • Cloud Architecture Center: 提供各种场景下的架构最佳实践和设计模式。
  • Google Cloud 社区: 加入 Google Cloud 开发者社区、论坛或技术交流群,与其他开发者交流经验,提问问题。

第三部分:初学者最佳实践与注意事项

作为 GCP 的初学者,以下是一些重要的最佳实践和注意事项,可以帮助你更顺利、更安全地使用 GCP:

  • 成本管理是关键:
    • 利用免费层级和免费试用额度: 充分利用这些资源进行学习和实验。
    • 警惕资源闲置: 实验完成后,及时停止或删除不再使用的虚拟机、数据库实例等付费资源,避免持续产生费用。 Compute Engine 实例即使处于 Stopped 状态,其 Persistent Disk 仍然会收费。
    • 设置预算和告警: 尽早设置预算并配置告警,以便在费用超预期时及时收到通知。
    • 理解不同服务的计费方式: 不同的服务有不同的计费模型(按计算时间、按存储容量、按网络流量、按操作次数等),理解这些模型有助于预估成本。
    • 选择合适的机器类型和存储类别: 根据实际需求选择合适的资源规格和存储类别,避免过度配置。
  • 安全第一:
    • 遵循最小权限原则: 使用 IAM 时,只授予用户、组或服务账户完成其任务所需的最小权限。避免授予 Owner 或 Editor 等宽泛的角色,除非确实需要。
    • 管理好密钥和凭据: 不要将服务账户密钥直接硬编码在代码中。考虑使用 Secret Manager 等服务安全地存储和管理敏感信息。
    • 配置防火墙规则: 只开放应用程序或服务需要的特定端口和 IP 地址范围,关闭所有不必要的入站流量。
    • 定期审计: 定期审查 IAM 权限和安全日志。
  • 组织和命名规范:
    • 使用项目隔离环境: 为开发、测试、生产环境创建不同的 GCP 项目,便于管理、隔离和成本核算。
    • 资源命名规范: 建立一套统一的资源命名规范,方便快速识别资源的作用、环境、区域等信息。
  • 充分利用 Cloud Shell 和 Cloud SDK: 掌握 gcloud 命令行工具的使用,可以大大提高工作效率,尤其是在需要自动化或执行重复性任务时。
  • 从简单开始: 不要试图一次性学习所有服务。从核心服务(Compute Engine, Cloud Storage, Cloud SQL, VPC)开始,逐步深入了解其他服务。
  • 备份重要数据: 即使是在学习阶段,对于你觉得重要的配置或数据,考虑使用快照(Compute Engine Persistent Disk)或定期备份(Cloud SQL)功能。

结论

Google Cloud Platform 是一个强大且功能丰富的云计算平台,它继承了 Google 在技术和基础设施方面的深厚积累。从高性能的计算和存储,到世界领先的数据分析和机器学习服务,再到全球级的高速网络,GCP 为企业和开发者提供了构建和部署各种规模应用的强大能力。

本文为你提供了一个全面的 GCP 概览,解释了核心概念,并引导你完成了注册、熟悉控制台以及启动虚拟机和使用对象存储等基础实战。这只是你 GCP 旅程的起点。通过不断学习、实践和探索 GCP 提供的各种服务,你将能够充分发挥云计算的潜力,将你的想法变为现实。

记住,持续学习和动手实践是掌握 GCP 的关键。充分利用 GCP 提供的免费资源,从小处着手,逐步挑战更复杂的任务。祝你在 Google Cloud Platform 的世界里探索愉快!


发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部