arrow_back

Google Cloud 基础知识:Compute Engine 使用入门 (AWS)

登录 加入
访问 700 多个实验和课程

Google Cloud 基础知识:Compute Engine 使用入门 (AWS)

实验 25 分钟 universal_currency_alt 5 个积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

作为已经熟悉 AWS 的云专业人员,您知道多层架构的设计中包含计算层。一般来说,计算层设计包括虚拟机 (VM)。配置虚拟机需要考虑以下方面:

  • 如何使用图形界面创建和部署虚拟机?
  • 如何安全连接到虚拟机?
  • 如何实现实例之间的通信?

在 AWS 中,您的组织通过 AWS 命令行界面 (AWS CLI) 和 AWS 软件开发工具包 (SDK),以编程方式部署虚拟机。这些虚拟机称为 Elastic Compute Cloud 实例。虚拟机实例可以通过 AWS 管理控制台进行部署。

若要与 Elastic Compute Cloud (EC2) 实例交互,对于 Linux 实例,您可以使用密钥对通过安全外壳 (SSH) 建立安全连接;对于 Windows 实例,您可以使用密钥对破解管理员密码。或者,对于密钥对可能带来安全风险的实例,您可以使用 AWS Systems Manager Session Manager,通过基于浏览器的交互式 shell 管理 EC2 实例。

若要实现实例之间的通信,一个简单的模式是通过正确定义路由表,将虚拟机部署到同一 VPC 中,以允许子网之间传递流量。

现在,您将探索如何在 Google Cloud 中创建类似的架构。

概览

在本实验中,您将创建并连接到虚拟机,还将在这些实例之间建立连接。

目标

在本实验中,您将学习如何执行以下任务:

  • 使用 Google Cloud 控制台创建 Compute Engine 虚拟机。
  • 使用 gcloud 命令行界面创建 Compute Engine 虚拟机。
  • 将两个实例相互连接。

任务 1. 登录 Google Cloud 控制台。

对于每个实验,您都会免费获得一个新的 Google Cloud 项目及一组资源,它们都有固定的使用时限。

  1. 请使用无痕式窗口登录 Qwiklabs。

  2. 留意实验的访问时限(例如 1:15:00)并确保能在相应时间段内完成实验。
    系统不提供暂停功能。如有需要,您可以重新开始实验,不过必须从头开始。

  3. 准备就绪时,点击开始实验

  4. 请记好您的实验凭据(用户名密码)。您需要使用这组凭据来登录 Google Cloud 控制台。

  5. 点击打开 Google 控制台

  6. 点击使用其他帐号,然后将实验的凭据复制并粘贴到相应提示框中。
    如果您使用其他凭据,将会收到错误消息或产生费用

  7. 接受条款并跳过恢复资源页面。

任务 2. 使用 Cloud 控制台创建虚拟机

  1. 导航菜单 () 中,点击 Compute Engine > 虚拟机实例
  2. 点击创建实例
  3. 创建实例页面的名称中,输入 my-vm-1
  4. 对于区域可用区,选择 Google Cloud Skills Boost 为您分配的区域和可用区。
  5. 机器类型部分,接受默认设置。
  6. 对于启动磁盘,如果显示的映像不是 Debian GNU/Linux 11 (Bullseye),请点击更改,然后选择 Debian GNU/Linux 11 (Bullseye)
  7. 保留身份和 API 访问权限的默认设置。
  8. 对于防火墙,点击允许 HTTP 流量
  9. 其余默认设置保持不变。
  10. 点击创建以创建并启动该虚拟机。
注意:虚拟机可能大约需要两分钟时间才能启动并完全就绪。

点击“检查我的进度”,验证已完成以下目标: 使用 Cloud 控制台创建虚拟机

任务 3. 使用 gcloud 命令行创建虚拟机

  1. 在 Cloud 控制台右上角的工具栏中,点击激活 Cloud Shell 按钮 ()。

  2. 点击继续

  3. 如需显示 Google Cloud Skills Boost 为您分配的区域中所有可用区的列表,请输入这个部分命令 gcloud compute zones list | grep,后跟 Google Cloud Skills Boost 或您的讲师为您分配的区域。

    完整的命令将如下所示:

    gcloud compute zones list | grep {{{ project_0.default_region | REGION }}}
  4. 选择列表中的可用区,而非 Google Cloud Skills Boost 为您分配的可用区。例如,假如 Google Cloud Skills Boost 为您分配了区域“”和可用区“”,那么您应该选择可用区“”。

  5. 如需将您刚才选择的可用区设为默认可用区,请输入这个部分命令 gcloud config set compute/zone,后跟您选择的可用区。

    完整的命令将如下所示:

    gcloud config set compute/zone {{{ project_0.default_zone_2 | ZONE 2 }}}
  6. 如需在该可用区中创建虚拟机实例并命名为 my-vm-2,请执行以下命令:

    gcloud compute instances create "my-vm-2" \ --machine-type "e2-medium" \ --image-project "debian-cloud" \ --image-family "debian-11" \ --subnet "default"
注意:虚拟机可能大约需要两分钟时间才能启动并完全就绪。
  1. 如需关闭 Cloud Shell,请执行以下命令:

    exit

点击“检查我的进度”,验证已完成以下目标: 使用 gcloud 命令行创建虚拟机

任务 4. 将虚拟机实例相互连接

  1. 导航菜单中,点击 Compute Engine > 虚拟机实例

    您即会看到所创建的两个虚拟机实例,它们各自在不同的可用区中。

    可以看到,这两个实例的内部 IP 地址的前三个字节是相同的。两个实例虽然位于不同的可用区中,但均部署在其 Google Cloud VPC 的同一子网中。

  2. 如需打开 my-vm-2 实例中的命令提示符,请在 虚拟机实例列表中点击对应行中的 SSH

  3. 使用 ping 命令确认 my-vm-2 可以通过网络连接 my-vm-1

    ping my-vm-1.{{{ project_0.default_zone_1 | ZONE 1 }}}

    注意,在 ping 命令的输出中,my-vm-1 的完整主机名是 my-vm-1..c.PROJECT_ID.internal,其中“PROJECT_ID”是您的 Google Cloud Platform 项目名称。Cloud 控制台会自动为虚拟机实例的内部 IP 地址提供域名服务 (DNS) 解析。

  4. Ctrl+C 组合键取消 ping 命令。

  5. 返回“Cloud 控制台”标签页。

  6. 虚拟机实例列表中,点击 my-vm-1 所在行中的 SSH

  7. my-vm-1 的命令提示符处,安装 Nginx Web 服务器:

    sudo apt-get install nginx-light -y
  8. 使用 nano 文本编辑器为 Web 服务器首页添加自定义消息:

    sudo nano /var/www/html/index.nginx-debian.html
  9. 使用箭头键将光标移至 h1 标题下面一行。如下所示添加文本,将“YOUR_NAME”替换为您的姓名:

    Hi from YOUR_NAME
  10. Ctrl+O 组合键,然后按 Enter 键保存编辑好的文件,最后按 Ctrl+X 组合键退出 nano 文本编辑器。

  11. 确认 Web 服务器显示的是您的新页面。在 my-vm-1 的命令提示符处,执行以下命令:

    curl http://localhost/

    返回的响应将是 Web 服务器首页的 HTML 源代码,其中包含自定义文本行。

  12. 返回 my-vm-2 的命令提示符处

  13. 如需确认 my-vm-2 可以访问 my-vm-1 的 Web 服务器,请在 my-vm-2 的命令提示符处执行以下命令:

    curl http://my-vm-1.{{{ project_0.default_zone_1 | ZONE 1 }}}/

    返回的响应同样是 Web 服务器首页的 HTML 源代码,其中包含自定义文本行。

  14. 导航菜单中,点击 Compute Engine > 虚拟机实例

  15. 复制 my-vm-1 的外部 IP 地址,将其粘贴到浏览器新标签页的地址栏中。

您将看到包含自定义文本的 Web 服务器首页。

注意:如果创建 my-vm-1 虚拟机实例时忘记点击允许 HTTP 流量,您将无法访问 Web 服务器首页。您可以为实例添加允许入站流量的防火墙规则,不过这个主题不在本课程的范围内。

恭喜!

在本实验中,您分别在两个不同的可用区中创建了虚拟机 (VM) 实例,并使用 ping、ssh 和 HTTP 连接到这些实例。

Google Compute Engine 和 Amazon Elastic Compute Cloud (EC2) 都是基础设施即服务 (IaaS) 产品,分别来自 Google Cloud 和 Amazon Web Services (AWS)。现在,您已经更好地了解了 Compute Engine。接下来,我们将了解 Compute Engine 与 EC2 的一些主要异同之处。

相似之处:

  • Google Cloud 和 AWS 提供的虚拟机都可以快速、轻松地启动。
  • 两者均可根据需求快速、轻松地扩容或缩容。
  • 两者均提供高可用性和容错功能,例如自动故障切换和负载均衡。
  • 两者均提供多种安全功能,例如虚拟私有云 (VPC)、防火墙和加密功能。
  • 两者均提供 Windows、Linux 等众多操作系统。
  • 两者的虚拟机选项均包含用于部署和管理实例的编程界面和图形界面。您可以通过 CLI 客户端、SDK、图形控制台执行这些工作。
  • 您可以使用 SSH 或 RDP 等常用协议连接到 EC2 实例或 GCE 虚拟机。
  • AWS 和 Google Cloud 还提供安全连接到实例的方式,而无需打开 RDP 或 SSH 端口:在 Google Cloud 中,此功能即 Identity-Aware Proxy (IAP);在 AWS 中,您可以使用 AWS Systems Manager Session Manager

不同之处:

  • 虽然两者都提供随用随付的定价模式,但其价格结构有所不同。例如,GCE 根据已使用的 CPU 和内存量收取费用,而 EC2 则根据实例类型和实例运行时间收取费用。

结束实验

完成实验后,请点击结束实验。Google Cloud Skills Boost 会移除您使用过的资源并为您清理帐号。

系统会提示您为实验体验评分。请选择相应的星级数,输入评论,然后点击提交

星级数的含义如下:

  • 1 颗星 = 非常不满意
  • 2 颗星 = 不满意
  • 3 颗星 = 一般
  • 4 颗星 = 满意
  • 5 颗星 = 非常满意

如果您不想提供反馈,可以关闭该对话框。

如果要留言反馈、提出建议或做出更正,请使用支持标签页。

版权所有 2020 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。