准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Deploy a web server VM instance
/ 30
Create a Cloud Storage bucket using the gcloud storage command line
/ 30
Create the Cloud SQL instance
/ 40
在本实验中,您将创建一个 Cloud Storage 存储桶并将一张图片保存在该存储桶中。您还需要将一个在 Compute Engine 中运行的应用配置为使用 Cloud SQL 托管的数据库。在本实验中,您将使用 PHP 配置一个 Web 服务器;PHP 是一种 Web 开发环境,许多热门的博客软件都是使用 PHP 开发的。在本实验之外,您也可以使用其他类似的技术来配置这些软件包。
此外,您还需要将该 Web 服务器配置为引用 Cloud Storage 存储桶中的这张图片。
在本实验中,您将学习如何执行以下任务:
对于每个实验,您都会免费获得一个新的 Google Cloud 项目及一组资源,它们都有固定的使用时限。
点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示登录页面。
提示:将这些标签页安排在不同的窗口中,并排显示。
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
您也可以在实验详细信息面板中找到用户名。
点击下一步。
复制下面的密码,然后将其粘贴到欢迎对话框中。
您也可以在实验详细信息面板中找到密码。
点击下一步。
继续在后续页面中点击以完成相应操作:
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
在此任务中,您将使用 Compute Engine 创建一个虚拟机 (VM) 实例,并使用一个启动脚本为该实例配置 Web 服务器 (Apache) 和用于初始设置的必要脚本。接下来,您需要记下其网络标识符。
在 Google Cloud 控制台的导航菜单 () 中,依次点击 Compute Engine > 虚拟机实例。
点击创建实例。
在名称部分,输入 bloghost
对于区域,选择
对于可用区,选择
对于机器类型,选择 e2-standard-2。
在左侧窗格中,点击操作系统和存储空间,如果显示的映像不是 Debian GNU/Linux 12 (bookworm),请点击更改,然后选择版本 Debian GNU/Linux 12 (bookworm)。
点击网络。
在防火墙中,点击允许 HTTP 流量。
在左侧窗格中,点击高级。
在自动化中,复制和粘贴以下脚本作为启动脚本的值:
点击“检查我的进度”以验证是否完成了以下目标:
在此任务中,您将使用 gcloud storage 命令行工具创建一个全局唯一的 Cloud Storage 存储桶,设置其位置,将一张公开图片上传到该存储桶中,并将该特定对象设置为可公开读取。
所有 Cloud Storage 存储桶的名称都必须是全局唯一的。为了确保存储桶名称的唯一性,本实验会指导您将 Google Cloud 项目 ID 指定为存储桶名称,因为该 ID 也是全局唯一的。
Cloud Storage 存储桶可以与一个单区域或一个多区域位置(US、EU 或 ASIA)相关联。在本活动中,您需要将存储桶与一个多区域位置相关联,该多区域位置应是与或您的讲师为您分配的区域和可用区距离最近的那个多区域位置。
在 Google Cloud 控制台右上角的工具栏中,点击激活 Cloud Shell 。如果出现对话框,点击继续。
为方便起见,请将所选位置输入到一个名为 LOCATION 的环境变量中。输入以下命令中的一个:
或
或
如果出现提示,点击授权继续。
点击“检查我的进度”以验证是否完成了以下目标:
在此任务中,您将使用 Cloud SQL 创建和配置托管式 MySQL 数据库实例,创建特定用户账号,接下来非常重要的一步是,为未来的 Web 服务器授权外部 IP 地址以实现网络连接。
在 Google Cloud 控制台的导航菜单 () 中,点击 Cloud SQL。
点击创建实例。
在选择数据库引擎部分,选取选择 MySQL。
在选择 Cloud SQL 版本部分,点击企业版,然后在版本预设下拉菜单中选择沙盒。
在实例 ID 部分,输入 blog-db;在密码部分,输入 Passw0rd1!
对于区域,选择
对于可用区级可用性,选择单个可用区。
展开指定可用区,然后在主可用区中选择
在“自定义实例”中,展开显示配置选项。
展开安全,然后点击允许未加密的网络流量(不推荐)。
在 SQL 实例详情页面上的连接到此实例下,将您的 SQL 实例的公共 IP 地址复制到一个文本编辑器中,以备本实验后面部分使用。
在左侧窗格中,点击用户,然后点击添加用户账号。
在用户名部分,输入 blogdbuser。
在密码部分,输入 Passw0rd1!
点击添加,将该用户账号添加到数据库中。
在左侧窗格中,点击连接,然后点击网络标签页。
点击添加网络。
在名称部分,输入 web front end。
在网络部分,输入您的 bloghost 虚拟机实例的外部 IP 地址,后跟 /32。
结果应如下所示:
点击完成,即可完成授权网络的指定。
点击保存,以保存配置更改。
点击“检查我的进度”以验证是否完成了以下目标:
在此任务中,您将修改 PHP 应用代码 (index.php),以包含数据库的 IP 地址和凭据,从而将虚拟机实例上运行的 Apache Web 服务器安全地连接到 Cloud SQL 数据库,成功建立数据库连接。
在导航菜单 () 中,点击 Compute Engine > 虚拟机实例。
在虚拟机实例列表中,找到您的虚拟机实例 bloghost 所在的行,然后点击其中的 SSH。如果出现提示,请点击授权。
在 bloghost 的 SSH 会话中,将您的工作目录更改为 Web 服务器的文档根目录:
按 Ctrl+O 组合键,然后按 Enter 键,保存编辑好的文件。
按 Ctrl+X 组合键,退出 nano 文本编辑器。
重启 Web 服务器:
加载页面时,您会看到页面内容包含一则错误消息,该消息的开头部分如下所示:
在 nano 文本编辑器中,将 CLOUDSQLIP 替换为您在前面部分记下的 Cloud SQL 实例 (blog-db) 公共 IP 地址。请勿改动值两旁的引号。
在 nano 文本编辑器中,将 DBPASSWORD 替换为您在前面部分指定的 Cloud SQL 数据库密码,即 Passw0rd1!请勿改动值两旁的引号。
按 Ctrl+O 组合键,然后按 Enter 键,保存编辑好的文件。
按 Ctrl+X 组合键,退出 nano 文本编辑器。
重启 Web 服务器:
在此任务中,您需要修改 Compute Engine 实例上的 index.php 文件,以包含正确的图片来源网址,从而将存储在 Cloud Storage 存储桶中的公开访问图片集成到 Web 应用中。
在 Google Cloud 控制台中,点击 Cloud Storage > 存储桶。
点击根据您的 Google Cloud 项目命名的存储桶。
该存储桶中有一个名为 my-excellent-blog.png 的对象。将鼠标悬停在该对象的公共访问权限列中显示的链接图标上(如果显示的是“Public link”[公共链接] 文字标识,则将鼠标悬停在该标识上),这时会出现相应网址,复制该网址。
返回到 bloghost 虚拟机实例的 SSH 会话。
输入下面的命令,将您的工作目录设置为 Web 服务器的文档根目录:
使用箭头键将光标移至 h1 元素所在的行。按 Enter 键,在当前屏幕位置打开一个新的空白行,然后将前面复制的网址粘贴到该行中。
将下面的 HTML 标记粘贴到该网址的开头:
编辑好后,该行应如下所示:
上面的步骤是为了将 <img src='...'> 所在的行放在 <h1>...</h1> 所在的行前面紧邻着该行的位置
按 Ctrl+O 组合键,然后按 Enter 键,保存编辑好的文件。
按 Ctrl+X 组合键,退出 nano 文本编辑器。
重启 Web 服务器:
在本实验中,您配置了一个 Cloud SQL 实例并将 Compute Engine 实例中的一个应用连接到了该实例。您还用到了一个 Cloud Storage 存储桶。
完成实验后,请点击结束实验。Google Cloud Skills Boost 会移除您使用过的资源并为您清理帐号。
系统会提示您为实验体验评分。请选择相应的星级数,输入评论,然后点击提交。
星级数的含义如下:
如果您不想提供反馈,可以关闭该对话框。
如果要留言反馈、提出建议或做出更正,请使用支持标签页。
版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名称和产品名称可能是其各自相关公司的商标。
请参阅有关 Cloud SQL 的 Google Cloud Platform 文档。
请参阅有关 Cloud Storage 的 Google Cloud Platform 文档。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验