谷歌云 (Google Cloud) 教程:从零开始了解云平台 – wiki基地


谷歌云 (Google Cloud) 教程:从零开始了解云平台

引言:云时代的召唤

我们正处在一个由数据和连接驱动的时代。传统的本地服务器和数据中心模式,在面对快速变化的市场需求、海量数据的处理以及对弹性和成本效益日益增长的追求时,显得愈发捉襟见肘。这时,“云计算”应运而生,它并非遥不可及的概念,而是像电力、自来水一样的基础资源,通过互联网按需提供计算能力、存储空间、数据库服务、网络功能等 IT 资源。

在众多云服务提供商中,谷歌云(Google Cloud Platform, GCP)凭借其强大的基础设施、在数据分析和机器学习领域的深厚积累、以及对开源技术的拥抱,成为了全球领先的云平台之一。无论您是开发者、数据科学家、IT 管理员,还是仅仅对云技术充满好奇的学习者,了解 GCP 都将为您打开一扇通往未来技术世界的大门。

本教程旨在为您提供一个全面而详细的 GCP 入门指南,从最基础的云概念讲起,逐步深入 GCP 的核心服务、架构、优势以及实践操作。我们将力求用通俗易懂的语言,结合实例,帮助您从零开始,系统地了解并初步掌握这个强大的云平台。准备好了吗?让我们一起踏上谷歌云的探索之旅!

第一部分:拨开云雾 —— 什么是云计算?

在深入 GCP 之前,我们首先需要理解什么是“云计算”。

想象一下,您在家用电,不需要自己建发电厂,只需向电力公司购买,按使用量付费。云计算与之类似,它将计算资源(如服务器、存储、网络、软件)通过互联网,以服务的形式提供给用户。用户无需购买和维护昂贵的物理硬件,只需根据需求,向云服务提供商(如 Google)“租用”这些资源,并通常按实际使用量付费。

云计算的核心特征:

  1. 按需自助服务 (On-demand self-service): 用户可以根据需要,随时随地通过网络访问并自行配置计算资源,无需人工干预。
  2. 广泛的网络访问 (Broad network access): 云资源可以通过标准网络协议(主要是互联网)被各种设备(电脑、手机、平板等)访问。
  3. 资源池化 (Resource pooling): 提供商将计算资源汇集成一个巨大的资源池,以多租户模式服务于众多用户。用户通常不知道也无需关心资源的具体物理位置,但可以指定大致的地理区域(如亚洲、欧洲)。
  4. 快速弹性伸缩 (Rapid elasticity): 资源可以根据需求快速、甚至自动地增加或减少。对于用户来说,云资源看起来似乎是无限的,可以随时扩展以应对高峰,也可以在需求下降时缩减以节省成本。
  5. 可计量的服务 (Measured service): 云系统会自动控制和优化资源使用,并提供计量能力。用户可以清晰地看到自己使用了多少资源(如 CPU 时间、存储空间、网络流量),并据此付费,实现成本透明化和精细化管理。

云计算的优势:

  • 成本效益: 避免了前期巨大的硬件投入和持续的运维成本,将资本支出(CapEx)转变为运营支出(OpEx)。按需付费模式避免了资源浪费。
  • 速度与敏捷性: 几分钟内即可部署所需资源,大大缩短了应用上线和迭代的周期。
  • 弹性与可扩展性: 轻松应对业务高峰和低谷,无需为峰值预留过多闲置资源。
  • 全球化部署: 轻松将应用部署到全球各地的数据中心,靠近用户,降低延迟,提升体验。
  • 高可用性与灾难恢复: 云提供商通常在多个地理位置拥有数据中心,并提供备份、冗余和故障转移机制,保障业务连续性。
  • 专注于业务: 将基础设施管理的负担交给云提供商,使企业可以将更多精力投入到核心业务创新上。

第二部分:走近巨人 —— 认识谷歌云平台 (GCP)

谷歌云平台(GCP)是谷歌提供的公有云服务集合。它运行在谷歌全球数据中心(也就是支撑 Google 搜索、Gmail、YouTube 等全球性服务的同一基础设施)之上。GCP 提供了一系列广泛的服务,涵盖计算、存储、网络、大数据、机器学习、物联网、安全等多个领域。

为什么选择 GCP?

虽然市场上还有 AWS(亚马逊云科技)、Microsoft Azure 等强大的竞争对手,但 GCP 凭借以下特点吸引了大量用户:

  1. 卓越的基础设施: 谷歌拥有全球最大、最先进的网络之一。其私有光纤网络连接了全球各地的数据中心,为 GCP 服务提供了低延迟、高吞吐量的基础。
  2. 数据分析与机器学习的领导者: 谷歌在处理和分析海量数据方面拥有无与伦比的经验。BigQuery(数据仓库)、Dataflow(数据处理)、Vertex AI(机器学习平台)等服务是 GCP 的王牌,深受数据驱动型企业的青睐。
  3. Kubernetes 的发源地: Kubernetes (K8s) 是目前最流行的容器编排系统,最初由谷歌开发并开源。Google Kubernetes Engine (GKE) 是业界领先的托管式 Kubernetes 服务,提供了强大的容器管理能力。
  4. 对开源的承诺: GCP 积极拥抱和贡献开源社区(如 Kubernetes, TensorFlow, Istio),提供了许多基于开源技术的托管服务,避免了厂商锁定。
  5. 具有竞争力的价格: GCP 提供灵活的计费模式,如“每秒计费”(相比于其他厂商的每分钟计费更精细)、“承诺使用折扣”(CUD)和“持续使用折扣”(SUD),在某些场景下具有价格优势。
  6. 创新文化: 谷歌持续将内部使用的先进技术(如 Spanner 全球分布式数据库、Tensor Processing Units (TPU) AI 加速器)通过 GCP 对外提供。

第三部分:GCP 的基石 —— 核心基础设施概念

要理解 GCP 的服务,首先需要了解其全球基础设施的组织方式:

  1. 区域 (Region): 是一个独立的地理区域,例如 us-central1 (美国中部)、asia-east1 (亚洲东部-台湾彰化)、europe-west2 (欧洲西部-伦敦)。每个区域包含多个可用区。选择区域的主要考量因素是靠近用户以降低延迟、满足数据主权要求以及与其他服务的协同。
  2. 可用区 (Zone): 是区域内一个隔离的位置。每个可用区拥有独立的电力、冷却和网络,代表一个独立的故障域。例如 us-central1-a, us-central1-b, us-central1-c。将应用部署在同一区域内的多个可用区可以实现高可用性,抵御单个可用区的故障。
  3. 全球网络: 谷歌通过其庞大的私有光纤网络连接所有区域和可用区,并设有大量的网络边缘节点 (Edge Points of Presence, PoP),用于缓存内容(CDN)和接入用户流量,优化全球访问速度和可靠性。
  4. 项目 (Project): 是 GCP 中组织资源的基本单位。所有 GCP 资源(如虚拟机、存储桶、数据库实例)都必须属于一个项目。项目提供了资源隔离、权限管理 (IAM) 和计费的基本边界。您可以为不同的环境(开发、测试、生产)或不同的团队创建不同的项目。

第四部分:GCP 服务巡礼 —— 核心服务概览

GCP 提供了数百种服务,对于初学者而言,了解其核心服务类别和代表性产品至关重要。

1. 计算 (Compute)

提供运行应用程序所需的计算能力。

  • Compute Engine (IaaS – 基础设施即服务): 提供虚拟机 (VM),用户可以完全控制操作系统、配置和安装软件。类似于传统的物理服务器,但具有云的弹性和按需特性。适合需要最大灵活性和控制权的场景,如迁移现有应用、运行特定操作系统或软件。
  • Google Kubernetes Engine (GKE) (CaaS/PaaS – 容器即服务/平台即服务): 托管式的 Kubernetes 服务,用于自动化部署、扩展和管理容器化应用程序。是构建微服务、实现 CI/CD 的理想选择。GCP 在 Kubernetes 领域拥有深厚的技术积累。
  • App Engine (PaaS – 平台即服务): 一个全托管的平台,用于构建和部署 Web 应用和 API。开发者只需关注代码,无需管理底层基础设施(服务器、操作系统、补丁等)。支持多种语言(Python, Java, Node.js, Go, PHP, Ruby, .NET)。分为标准环境(Standard)和灵活环境(Flexible)两种模式。适合快速开发和部署无状态 Web 应用。
  • Cloud Functions (FaaS – 函数即服务 / Serverless): 事件驱动的无服务器计算平台。开发者只需编写简短的、响应特定事件(如 HTTP 请求、文件上传到 Cloud Storage、消息队列新消息)的代码片段(函数),GCP 会自动管理资源的分配和扩展。按实际执行时间和次数付费,非常适合处理异步任务、构建 API 后端、实现简单的自动化流程。
  • Cloud Run (Serverless Containers): 结合了 Serverless 的易用性和容器的灵活性。可以直接部署容器镜像,GCP 会根据流量自动扩展实例数量(可以缩减到零),按实际使用的 CPU 和内存付费。适合构建 Web 应用、API 等。

2. 存储 (Storage)

提供不同类型的数据存储解决方案。

  • Cloud Storage (Object Storage): 提供可扩展、高耐用性的对象存储服务。用于存储非结构化数据,如图片、视频、备份文件、静态网站内容等。数据以“对象 (Object)”的形式存储在“存储桶 (Bucket)”中。提供不同的存储类别(Standard, Nearline, Coldline, Archive)以平衡访问频率和成本。
  • Persistent Disk (Block Storage): 为 Compute Engine 虚拟机提供高性能、高可靠性的块存储(类似硬盘)。可以作为虚拟机的启动盘或数据盘。
  • Filestore (File Storage): 提供托管式的网络文件系统 (NFS) 服务,可供多个 Compute Engine 实例或 GKE Pod 同时挂载和访问。适用于需要共享文件访问的场景。
  • 数据库 (Databases):
    • Cloud SQL: 托管式的关系型数据库服务,支持 MySQL, PostgreSQL, SQL Server。自动处理备份、补丁、复制等运维任务。
    • Cloud Spanner: 全球分布式、强一致性、具备关系型数据库特性的 NewSQL 数据库。适用于需要水平扩展和全球一致性的大型应用。
    • Firestore (NoSQL Document Database): 面向移动和 Web 应用开发的 NoSQL 文档数据库,具有实时同步和离线支持功能。
    • Bigtable (NoSQL Wide-column Database): 高性能、可大规模扩展的 NoSQL 宽列数据库,适用于需要低延迟、高吞吐量读写的场景,如物联网数据、时序数据、分析数据。

3. 网络 (Networking)

提供构建和管理云端网络的工具。

  • Virtual Private Cloud (VPC): 在 GCP 中创建的私有、隔离的网络环境。可以自定义 IP 地址范围、子网、防火墙规则、路由等,构建安全的网络拓扑。
  • Cloud Load Balancing: 将流量分发到多个后端实例(如 VM、容器),提高应用的可用性和性能。支持 HTTP(S), TCP, UDP 等多种协议,提供全球负载均衡和区域负载均衡。
  • Cloud CDN (Content Delivery Network): 利用谷歌遍布全球的边缘节点缓存内容,加速静态和动态内容的全球分发,降低源站负载,提升用户体验。
  • Cloud DNS: 提供高性能、高可用的全球域名系统 (DNS) 服务。
  • Cloud Interconnect / Cloud VPN: 提供将本地数据中心或私有网络安全连接到 GCP VPC 的方案。

4. 大数据与分析 (Big Data & Analytics)

GCP 的传统强项,提供强大的数据处理和分析工具。

  • BigQuery: 一个全托管、PB 级、无服务器的数据仓库。使用 SQL 进行查询,速度极快。支持实时数据注入和分析。是 GCP 数据分析生态的核心。
  • Dataflow: 用于执行大规模、统一的流处理和批处理数据管道的服务。基于 Apache Beam 开源模型。
  • Pub/Sub: 全球性的实时消息传递服务,用于解耦应用和服务,实现异步通信。
  • Dataproc: 托管式的 Apache Spark 和 Hadoop 服务,用于运行大数据处理任务。

5. 人工智能与机器学习 (AI & Machine Learning)

提供从预训练模型到自定义模型训练的全方位 AI/ML 服务。

  • Vertex AI: 统一的机器学习平台,涵盖数据准备、模型训练、部署、监控的全生命周期管理。
  • AI Platform (Pre-trained APIs): 提供一系列预训练好的 API,可以直接调用实现特定功能,如:
    • Vision AI: 图像识别、对象检测、OCR 等。
    • Speech-to-Text / Text-to-Speech: 语音识别和语音合成。
    • Natural Language AI: 文本分析、情感分析、实体识别等。
    • Translation AI: 机器翻译。
  • Tensor Processing Units (TPUs): 谷歌自研的 AI 加速器硬件,专为加速 TensorFlow 等机器学习框架的训练和推理任务而设计。

6. 身份与安全 (Identity & Security)

保障云资源和数据的安全。

  • Identity and Access Management (IAM): 精细控制谁(用户、服务账号)可以对哪些 GCP 资源执行什么操作。遵循最小权限原则。
  • Security Command Center: 提供统一的安全管理和数据风险平台,集中查看安全状况、检测威胁、管理合规性。
  • Cloud Armor: 提供 DDoS 防护和 Web 应用防火墙 (WAF) 功能。
  • Key Management Service (KMS): 管理加密密钥。

7. 开发者工具 (Developer Tools)

支持软件开发生命周期。

  • Cloud Source Repositories: 托管私有 Git 代码仓库。
  • Cloud Build: 在 GCP 上运行构建、测试和部署流程的持续集成/持续交付 (CI/CD) 服务。
  • Cloud Code: 为 VS Code 和 IntelliJ 等 IDE 提供的插件,简化 Kubernetes 和 Cloud Run 应用的开发、调试和部署。
  • Artifact Registry: 存储和管理构建产物,如 Docker 镜像、Maven/npm 包等。

第五部分:扬帆起航 —— 开始使用 GCP

了解了核心概念和服务后,让我们看看如何实际开始使用 GCP。

1. 准备工作:Google 账号

您需要一个 Google 账号(例如 Gmail 地址)才能注册 GCP。如果您还没有,可以免费创建一个。

2. 注册 GCP 并激活免费试用

访问 Google Cloud 官方网站 (cloud.google.com),点击“免费开始使用”或类似按钮。您需要提供一些基本信息和支付方式(通常是信用卡)。

  • 重要提示:关于免费试用和始终免费层
    • 免费试用 (Free Trial): 新用户通常会获得一定额度(例如 300 美元)的赠金,可在限定时间(通常 90 天)内用于体验各种 GCP 服务。这是探索 GCP 的绝佳机会。
    • 始终免费层 (Always Free Tier): 即使免费试用结束后,GCP 对某些服务提供了有限的免费用量额度,只要不超过限制,就可以永久免费使用。例如,每月免费提供一定量的 Compute Engine f1-micro 实例使用时间、Cloud Storage 存储空间、Cloud Functions 调用次数、BigQuery 查询数据量等。这对学习、开发和运行小型应用非常有帮助。

3. 熟悉 Google Cloud Console

注册完成后,您将可以访问 Google Cloud Console (console.cloud.google.com)。这是管理 GCP 资源的主要 Web 界面。花些时间熟悉它的布局:

  • 顶部导航栏: 项目选择器(非常重要,确保在正确的项目下操作)、搜索框(快速查找服务或文档)、帮助、通知、账号信息等。
  • 左侧导航菜单: 按类别列出了所有可用的 GCP 服务。可以固定常用服务。
  • 主仪表板 (Dashboard): 显示所选项目的概览信息,如资源使用情况、计费信息、API 请求等。

4. 理解项目 (Project)

如前所述,项目是资源管理的核心。默认情况下,GCP 会为您创建一个初始项目。您可以根据需要创建新项目。在 Console 顶部的项目选择器中切换项目。为项目设置一个清晰的名称和 ID 非常重要。

5. 关注计费 (Billing)

云服务是按需付费的,因此理解和监控计费至关重要。

  • 导航到“结算”部分: 在左侧菜单中找到。
  • 关联结算账号: 项目需要关联到一个结算账号才能使用付费服务。免费试用期间,赠金会自动应用。
  • 查看费用: 可以查看当前费用、历史账单、按服务或项目细分的费用。
  • 设置预算和提醒: 强烈建议为您的项目或结算账号设置预算,并配置提醒规则(例如,当费用达到预算的 50%、90% 时发送邮件通知)。这可以有效避免意外产生高额费用。即使在使用免费层时,设置一个低额预算(如 1 美元)并开启提醒也是一个好习惯。

第六部分:小试牛刀 —— 您的第一个 GCP 实践:“Hello World”

理论学习后,动手实践是最好的巩固方式。让我们尝试一个简单的 “Hello World” 示例:启动一个基础的 Compute Engine 虚拟机并访问它。

步骤:

  1. 选择或创建项目: 在 Cloud Console 顶部确保您已选择要使用的项目。
  2. 导航到 Compute Engine: 在左侧导航菜单中,找到“计算” > “Compute Engine” > “虚拟机实例”。
  3. 创建实例: 点击“创建实例”按钮。
  4. 配置实例:
    • 名称: 给您的虚拟机起一个名字,例如 my-first-vm
    • 区域和可用区: 选择一个离您较近的区域和可用区(例如 us-central1-a)。
    • 机器配置:
      • 系列: 选择 E2N1(较常用)。
      • 机器类型: 选择一个小型、经济的类型,例如 e2-microf1-micro(后者可能符合始终免费层条件,请查阅最新文档确认)。
    • 启动磁盘: 默认通常是 Debian 或 Ubuntu Linux。可以保持默认。
    • 防火墙: 勾选“允许 HTTP 流量”和“允许 HTTPS 流量”。这将创建防火墙规则,允许外部通过 Web 访问您的虚拟机(如果上面运行了 Web 服务器)。
    • 其他选项: 可以暂时保持默认。
  5. 点击“创建”: 等待几分钟,GCP 会为您预配并启动虚拟机。
  6. 连接到实例: 实例状态变为“正在运行”后,您会看到它有一个外部 IP 地址。您可以通过以下方式连接:
    • SSH (推荐): 点击实例列表右侧的“SSH”按钮,GCP 会在浏览器中打开一个安全的 SSH 连接窗口。这通常是最简单的方式。
    • 使用 gcloud CLI 或第三方 SSH 客户端: 需要设置 SSH 密钥。
  7. 在虚拟机内操作 (可选): 连接成功后,您会看到 Linux 命令行提示符。您可以尝试运行一些基本命令,如 ls, pwd, sudo apt update (Debian/Ubuntu)。
  8. 验证 HTTP 访问 (可选进阶): 如果您想测试之前勾选的“允许 HTTP 流量”是否生效,可以在 SSH 终端里安装一个简单的 Web 服务器(如 Nginx 或 Apache),然后通过虚拟机的外部 IP 地址在浏览器中访问。
    • 例如,在 Debian/Ubuntu 上安装 Nginx:
      bash
      sudo apt update
      sudo apt install -y nginx
      systemctl status nginx # 确认 Nginx 是否在运行
    • 然后在您的本地浏览器中输入 http://<您的虚拟机的外部 IP 地址>,应该能看到 Nginx 的欢迎页面。
  9. 清理资源: 非常重要! 为了避免持续产生费用(尤其是超出免费层额度后),在完成实验后,请务必删除您创建的资源。
    • 返回 Compute Engine 的虚拟机实例列表页面。
    • 选中您创建的 my-first-vm
    • 点击顶部的“删除”按钮,并确认删除。

恭喜您!您已经成功在 GCP 上创建、连接并(可能)访问了一个虚拟机。这只是冰山一角,但为您后续探索更复杂的服务奠定了基础。

第七部分:持续学习 —— 资源与进阶之路

掌握 GCP 是一个持续学习的过程。以下是一些宝贵的资源,可以帮助您深入学习:

  1. Google Cloud 官方文档 (cloud.google.com/docs): 最权威、最全面的信息来源。包含所有服务的详细介绍、操作指南、API 参考和最佳实践。
  2. Google Cloud Skills Boost (原 Qwiklabs): 提供大量动手的实验环境 (Labs),让您在真实的 GCP 环境中练习操作,是实践技能的最佳途径之一。许多课程路径与 Google Cloud 认证相关。
  3. 在线课程平台:
    • Coursera: 提供 Google Cloud 官方授权的专项课程和专业证书。
    • Pluralsight, Udemy, A Cloud Guru: 提供大量由行业专家制作的 GCP 培训课程。
  4. Google Cloud Blog (cloud.google.com/blog): 获取最新的产品发布、功能更新、技术见解和客户案例。
  5. Google Cloud YouTube 频道: 包含产品介绍、教程、会议录像等视频内容。
  6. Google Cloud 认证: 考取 Google Cloud 认证(如 Associate Cloud Engineer, Professional Cloud Architect, Professional Data Engineer 等)是证明您技能水平的有效方式,也有助于职业发展。
  7. 社区与论坛:
    • Stack Overflow: 使用 google-cloud-platform 等标签提问和查找答案。
    • Google Cloud Community: 官方社区论坛。
  8. 动手实践: 最重要的一点! 理论结合实践,不断尝试使用不同的服务,构建自己的项目,是掌握 GCP 最有效的方法。充分利用免费试用和始终免费层进行实验。

结语:拥抱云的力量

谷歌云平台 (GCP) 是一个功能强大、不断发展的云生态系统。从基础的虚拟机、存储,到尖端的大数据处理、机器学习服务,GCP 为个人开发者、初创公司和大型企业提供了构建、部署和扩展应用程序所需的各种工具和基础设施。

通过本教程,我们一起了解了云计算的基本概念,探索了 GCP 的核心服务及其优势,并完成了您的第一个 GCP 实践。这仅仅是您 GCP 旅程的起点。云的世界广阔而充满机遇,持续学习和实践将是您不断进步的关键。

不要害怕尝试新事物,利用好丰富的学习资源,积极动手实践。无论您的目标是提升个人技能、推动业务创新,还是解决复杂的技术挑战,GCP 都能为您提供强大的支持。现在,就让我们满怀信心地,继续在谷歌云的世界里探索、学习和创造吧!


发表评论

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

滚动至顶部