使用 Terraform 在 AWS Wavelength 区域中部署资源 - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Terraform 在 AWS Wavelength 区域中部署资源

由 Zahoor Chaudhrey (AWS) 和 Luca Iannario () 创作 AWS

摘要

AWS Wavelength帮助您构建针对多路访问边缘计算 (MEC) 应用程序进行了优化的基础架构。Wavelength Zones 是在通信服务提供商 (CSP) 的 5G 网络中嵌入 AWS 计算和存储服务的 AWS 基础设施部署。来自 5G 设备的应用流量无需离开电信网络即可到达在 Wavelength Zones 中运行的应用服务器。以下内容便于通过 Wavelength 进行网络连接:

  • 虚拟私有云 (VPCs) — VPCs AWS 账户 可以扩展到跨多个可用区,包括 Wavelength 区域。亚马逊弹性计算云 (AmazonEC2) 实例和相关服务作为您的区域的一部分出现VPC。 VPCs在亚马逊 Virtual Private Cloud(亚马逊VPC)中创建和管理。

  • 运营商网关 — 运营商网关支持从 Wavelength Zone 中的子网连接到CSP网络、互联网或 AWS 区域 通过CSP的网络。运营商网关有两个用途。它允许来自特定位置CSP网络的入站流量,并允许出站流量进入电信网络和互联网。

此模式及其关联的 Terraform 代码可帮助您在波长区域中启动资源,例如亚马逊EC2实例、亚马逊弹性区块存储 EBS (Amazon) 卷VPCs、子网和运营商网关。

先决条件和限制

先决条件

  • 活跃的 AWS 账户

  • 集成开发环境 (IDE)

  • 选择进入目标 Wavelength 区域

  • AWS Command Line Interface (AWS CLI),已安装配置

  • Terraform 版本 1.8.4 或更高版本,已安装(Terraform 文档)

  • Terraform P AWS rovider 版本 5.32.1 或更高版本,已配置(Terraform 文档)

  • Git,已安装 (GitHub)

  • 创建亚马逊VPC、Wavelength 和亚马逊资源的@@ 权限 EC2

限制

并非所有区域都 AWS 区域 支持 Wavelength Zones。有关更多信息,请参阅《波长》文档中的可用波长区域

架构

下图显示了如何在 Wavelength 区域中创建子网和 AWS 资源。 VPCs在 Wavelength 区域中包含子网的可以连接到运营商网关。运营商网关允许您连接到以下资源:

  • 电信运营商网络上的 4G/ LTE 和 5G 设备。

  • 为特定的 Wavelength Zone 合作伙伴提供固定无线接入。有关更多信息,请参阅多路访问 AWS Wavelength

  • 公共互联网资源的出站流量。

运营商网关将 Wavelength 区域中的AWS资源连接到网络。CSP

工具

AWS 服务

  • Amazon Virtual Private Cloud(亚马逊VPC)可帮助您将 AWS 资源启动到您定义的虚拟网络中。该虚拟网络类似于您在数据中心中运行的传统网络,并具有使用 AWS的可扩展基础设施的优势。

  • AWS Wavelength将 AWS Cloud 基础设施扩展到电信提供商的 5G 网络。这可以帮助您构建能够为移动设备和最终用户提供超低延迟的应用程序。

其他工具

  • Terraform 是一款基础设施即代码 (IaC) 工具 HashiCorp ,可帮助您创建和管理云和本地资源。

代码存储库

此模式的代码可在使用 Terraform GitHub 创建 AWS Wavelength 基础架构存储库中找到。Terraform 代码部署了以下基础架构和资源:

  • 一个 VPC。

  • A Wavelength 区域

  • Wavelength 区域中的公共子网

  • 波长(Wavelength)区域中的运营商网关

  • Wavelength 区域中的亚马逊EC2实例

最佳实践

操作说明

任务描述所需技能

克隆存储库。

输入以下命令,将 “使用 Terraform 创建 AWS Wavelength 基础架构” 存储库克隆到您的环境中。

git clone git@github.com:aws-samples/terraform-wavelength-infrastructure.git

DevOps 工程师

更新变量。

  1. 导航到克隆的存储库。

    cd terraform-wavelength-infrastructure
  2. 使用任何文本编辑器,在根目录中创建一个名为 terraform.tfv ars 的文件。

  3. 创建以下变量并输入其值:

    • region = <enter Region name>

    • vpc_cidr = <enter CIDR block used by VPC>

    • wavelength_subnet_cidr = <enter CIDR block for the subnet in the Wavelength Zone>

    • availabilityzone_wavelength = <enter Wavelength Zone name>

  4. 保存 terraform .tfvars 文件。

DevOps 工程师,Terraform

初始化配置。

输入以下命令初始化工作目录。

terraform init
DevOps 工程师,Terraform

预览 Terraform 计划。

输入以下命令,将目标状态与 AWS 环境的当前状态进行比较。此命令生成将要配置的资源的预览。

terraform plan
DevOps 工程师,Terraform

验证并部署。

  1. 查看 Terraform 计划中的配置更改,并确认要实现这些更改。

  2. 输入以下命令以应用计划并创建基础架构。

    terraform apply
  3. 输入yes继续。Terraform 创建了在配置文件中声明的架构。有关架构的更多信息,请参阅此模式的 “目标架构” 部分。

DevOps 工程师,Terraform
任务描述所需技能

验证基础设施部署。

  1. 如果您的公有子网中还没有 Amazon EC2 实例 AWS 区域,请创建一个。有关说明,请参阅启动你的 Linux 实例启动你的 Windows 实例。您将使用此实例来测试从 Wavelength 区域 AWS 区域 到波长区域的连接。

  2. 测试从中的实例到 Wavelen AWS 区域 gth 区域中的实例的连接。有关说明,请参阅 Wav elength 文档中的测试连接

AWS DevOps, DevOps 工程师

(可选)清理 基础架构。

如果您需要删除 Terraform 配置的所有资源,请执行以下操作:

  1. 输入以下 命令。

    terraform destroy
  2. 输入 yes以确认。

DevOps 工程师,Terraform

故障排除

事务解决方案

与中的 Amazon EC2 实例的连接 AWS 区域。

请参阅排除连接到 Linux 实例的问题或解决连接到 Windows 实例的问题。

连接 Wavelength 区域中的亚马逊EC2实例。

参见故障排除SSH或RDP连接到我在 Wavelength 区域启动的EC2实例

Wavelength 区域的容量。

参见 W avelength 区域的配额和注意事项

从运营商网络到的移动或运营商连接 AWS 区域.

  1. 验证运营商网关是否正常运行。执行以下操作:

    1. 打开亚马逊VPC控制台

    2. 在导航窗格中,选择您的VPCs

    3. 选择包VPC含 Wavelength 区域的。

    4. 详细信息窗格中,对于运营商网关,确认已附加该值。

  2. 验证连接到 Wavelength 区域中实例的所有弹性 IP 地址是否正常运行。执行以下操作:

    1. 打开亚马逊EC2控制台

    2. 在导航窗格中,选择实例

    3. 在 Wavelength 区域中选择实例。

    4. 选择网络选项卡。

    5. 确认弹性网络接口已连接弹性 IP 地址。

  3. 联系运营商网络支持团队。

相关资源