IP 地址用于平衡、分散和管理进入您环境的流量。此功能内置于路由器、防火墙以及大多数硬件和软件的配置中。规划内部和外部 IP 地址逻辑对于保持云环境的灵活性和安全性至关重要。因此,了解 IP 地址如何影响工作负载以及它们如何与内部和公共网络流量互动非常重要。在本 Codelab 中,您将学习如何预留和分配 Compute Engine 实例外部 IP 地址,以实现与公共互联网的通信。
什么是 IP 地址?
IP 地址在 TCP/IP 网络中非常重要。这些地址可供实例和联网设备识别和理解,以便它们能够相互通信。
Google Cloud 中的每个虚拟机 (VM) 实例都将具有一个内部 IP 地址,并且通常还会有一个外部 IP 地址。内部 IP 地址用于在同一虚拟私有云 (VPC) 网络中的实例之间进行通信,而外部 IP 地址用于与其他网络中的实例或互联网进行通信。默认情况下,IP 地址是临时地址,但也可以静态分配。
系统通过 DHCP 从子网的 IP 范围向实例分配内部 IP。默认情况下,内部 IP 是临时的,如果实例被删除,则会被释放。不过,您可以从子网的 IP 地址范围中预留静态内部 IP 地址。
外部 IP 也会通过 DHCP 从 Google 提供的池中分配。系统会将这些 IP 映射到虚拟机实例的内部 IP。您可以根据需要预留静态外部 IP 地址。静态外部 IP 地址可以是全局地址,也可以是区域地址,具体取决于您的需求。例如,全局静态 IP 地址可用于全局转发规则,以进行全局负载平衡。
构建内容
- 安装了 Apache 2.0 的 Compute Engine 实例
- 外部 IP 地址预留
学习内容
- 如何从实例中移除 IP 地址
- 如何预留 IP 地址并将其分配给实例
- IP 地址相关最佳实践
所需条件
- Google 账号
自定进度的环境设置
如果您还没有 Google 账号,则必须先创建一个。登录 Google Cloud 控制台,然后创建一个新项目。
请记住项目 ID,它是所有 Google Cloud 项目中的唯一名称。它稍后将在 Codelab 中被称为 PROJECT_ID。
接下来,您需要在 Cloud Console 中启用结算功能才能使用 Google Cloud 资源。在此 Codelab 中运行仅花费几美元,但是如果您决定使用更多资源或继续让它们运行,费用可能更高(请参阅末尾的清理部分)。Google Cloud 的新用户有资格获享$300 免费试用。
初始化项目环境
前往 Compute > Compute Engine > 虚拟机实例。

Google Cloud Marketplace 提供即时可用的开发堆栈、解决方案和服务,有助于加快开发速度。您将使用 Google Cloud Marketplace 中的 Compute Engine 映像来测试外部 IP 地址功能。前往 Google Cloud Marketplace,在 Compute Engine 上部署预配置的 LAMP 技术栈。前往菜单,然后点击“Marketplace”。

搜索“Apache”一词。选择 LAMP 技术栈。点击即可部署映像。

点击“在 Compute Engine 上启动”。

将实例命名为 lamp-1。在“网络”下,将实例保留在默认 VPC 网络和 us-central1-f 可用区的默认子网中。确保选中“允许 HTTP 流量”复选框。将外部 IP 地址选项从临时更改为无。

点击“部署”。
系统会将您带到 Deployment Manager 首页,您会看到资源正在启动。
堆栈部署完成后,您会看到一个绿色对勾标记,表示部署已完成。请注意,在右侧菜单中,有关 LAMP 技术栈入门的部分下方,“访问网站”选项呈灰显状态。当您将鼠标悬停在该图标上时,系统会说明该实例无法从公共互联网访问,因为该实例没有外部 IP 地址。

如需访问该网站,您必须为 lamp-1 实例预留并分配一个外部 IP 地址。前往“IP 地址”页面,方法是依次前往网络 > VPC 网络 > 外部 IP 地址。

点击“保留静态地址”,并将其命名为 lamp-1-ip。将其余设置保留为默认值,但要为 lamp-1 实例分配 IPv4 地址。

您现在应该能够访问 lamp-1 实例上预安装的示例应用。前往 Tools > Deployment Manager > Deployments,再次前往部署管理器首页。

点击 lamp-1 实例。点击“访问网站”,此时该按钮应不再处于灰显状态。

现在,您可以通过静态外部 IP 地址看到用于测试 Apache 服务器的默认欢迎页面。

现在,您已了解在 Google Cloud 中为 Compute Engine 实例预留和分配静态外部 IP 地址的基本知识。
所学内容
- 外部 IP 地址对实例的影响
- 如何使用 Google Cloud Marketplace 部署预配置的映像
- 如何为 Compute Engine 实例预留和分配静态外部 IP 地址
后续步骤
- 如需详细了解 IP 地址,请参阅 IP 地址。
在 Cloud Shell 中使用以下命令删除 Compute Engine 实例:
gcloud compute instances delete lamp-1
使用以下命令删除创建的外部 IP 地址:
gcloud compute addresses delete lamp-1-ip