View a markdown version of this page

Snowball Edge 上计算实例的网络配置 - Amazon Snowball Edge 开发人员指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

Amazon Snowball Edge 不再向新客户提供。新客户应探索Amazon DataSync在线传输、用于安全物理传输Amazon 的数据传输终端或 Amazon 合作伙伴解决方案。对于边缘计算,请浏览 Amazon Out posts。

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

Snowball Edge 上计算实例的网络配置

在 Snowball Edge 上启动计算实例后,必须通过创建网络接口为其提供 IP 地址。Snowball Edges 支持两种网络接口,一种是虚拟网络接口,另一种是直接网络接口。

虚拟网络接口 (VNI)-虚拟网络接口是连接到 Snowball Edge 上的 EC2-compatible实例的标准网络接口。无论您是否还使用直接网络接口,都必须为每个 EC2-compatible 实例创建一个 VNI。通过 VNI 的流量受您设置的安全组保护。您只能将 VNI 与用于控制 Snowball Edge 的物理网络端口相关联。

注意

VNI 将使用与管理 Snowball Edge 相同的物理接口(RJ45、SFP+ 或 QSFP)。不使用用于设备管理的物理接口而在其他物理接口上创建 VNI 可能会导致意外结果。

直接网络接口(DNI):直接网络接口(DNI)是一项高级网络特征,可实现组播流、传递路由和负载均衡等应用场景。通过在不进行任何中间转换或过滤的情况下为实例提供第 2 层网络访问权限,您可以在 Snowball Edge 的网络配置上获得更大的灵活性并提高网络性能。DNI 支持 VLAN 标记和自定义 MAC 地址。DNI 上的流量不受安全组保护。

在 Snowball Edge 设备上,DNI 可以与 RJ45、SFP 或 QSFP 端口相关联。每个物理端口最多支持 63 个 DNI。DNI 不必与用于管理 Snowball Edge 的同一个物理网络端口相关联。

注意

Snowball Edge Storage Optimized(具有 EC2 计算功能)设备不支持 DNI。

在 Snowball Edge 上使用 DNI 或 VNI 的先决条件

在配置 VNI 或 DNI 之前,请确保您已符合以下先决条件。

  1. 确保设备已通电并且某个物理网络接口(如 RJ45 端口)已连接到 IP 地址。

  2. 获取与你在 Snowball Edge 上使用的物理网络接口关联的 IP 地址。

  3. 配置 Snowball Edge 客户端。有关更多信息,请参阅 为 Snowball Edge 客户端配置配置文件。

  4. 配置Amazon CLI。有关更多信息,请参阅《Amazon Command Line Interface用户指南》Amazon CLI中的《入门》。

  5. 解锁设备。

    • 用于Amazon OpsHub解锁设备。有关更多信息,请参阅使用 nowball Edge。Amazon OpsHub

    • 使用 Snowball Edge 客户端解锁设备。有关更多信息,请参阅 解锁 Snowball Edge。

  6. 在设备上启动 EC2-compatible 实例。您将要将 VNI 与该实例相关联。

  7. 使用 Snowball Edge 客户端运行 describe-device 命令。该命令的输出将提供物理网络接口 ID 的列表。有关更多信息,请参阅 查看 Snowball Edge 的状态。

  8. 标识您要使用的物理网络接口的 ID 并记下它。

在 Snowball Edge 上设置虚拟网络接口 (VNI)

在确定物理网络接口的 ID 后,您可以使用该物理接口设置虚拟网络接口(VNI)。请使用以下过程设置 VNI。在创建 VNI 之前,请务必执行先决条件任务。

创建 VNI 并关联 IP 地址
  1. 使用 Snowball Edge 客户端运行 create-virtual-network-interface 命令。以下示例显示使用两种不同的 IP 地址分配方法(DHCP 或 STATIC)运行此命令。DHCP 方法使用动态主机配置协议(DHCP)。

    snowballEdge create-virtual-network-interface \ --physical-network-interface-id s.ni-abcd1234 \ --ip-address-assignment DHCP \ --profile profile-name //OR// snowballEdge create-virtual-network-interface \ --physical-network-interface-id s.ni-abcd1234 \ --ip-address-assignment STATIC \ --static-ip-address-configuration IpAddress=192.0.2.0,Netmask=255.255.255.0 \ --profile profile-name

    该命令返回一个 JSON 结构,其中包含 IP 地址。记下该 IP 地址,以便在稍后的流程中与该ec2 associate-addressAmazon CLI命令一起使用。

    每当你需要这个 IP 地址时,都可以使用 Snowball Edge Client 命令 Snow describe-virtual-network-interfaces ball Edge 客户端命令或Amazon CLI命令aws ec2 describe-addresses来获取它。

  2. 使用Amazon CLI将 IP 地址与 EC2-compatible 实例关联,将红色文本替换为您的值:

    aws ec2 associate-address --public-ip 192.0.2.0 --instance-id s.i-01234567890123456 --endpoint http://Snowball Edge physical IP address:8008

在 Snowball Edge 上设置直接网络接口 (DNI)

注意

直接网络接口功能将于 2021 年 1 月 12 日当天或之后推出,并且在所有可用 Snowball Edges Amazon Web Services 区域的地方都可用。

在 Snowball Edge 上获得 DNI 的先决条件

在设置直接网络接口(DNI)前,您必须执行先决条件部分中的任务。

  1. 在设置 DNI 之前,请执行先决条件任务。有关说明,请参阅在 Snowball Edge 上使用 DNI 或 VNI 的先决条件。

  2. 此外,您必须在设备上启动实例,创建 VNI 并将其与该实例关联。有关说明,请参阅在 Snowball Edge 上设置虚拟网络接口 (VNI)。

    注意

    如果您通过执行现场软件更新为现有设备添加了直接联网,则必须重新启动设备两次才能完全启用该特征。

创建 DNI 并关联 IP 地址
  1. 通过运行以下命令创建直接网络接口并将其连接到 Amazon EC2-compatible 实例。在下一步中,您需要设备的 MAC 地址。

    create-direct-network-interface [--endpoint endpoint] [--instance-id instanceId] [--mac macAddress] [--physical-network-interface-id physicalNetworkInterfaceId] [--unlock-code unlockCode] [--vlan vlanId]

    选项

    --endpoint <endpoint> 要将此请求发送到的端点。您设备的端点将是一个使用 https 方案且后跟一个 IP 地址的 URL。例如,如果您设备的 IP 地址为 123.0.1.2,则您的设备的终端节点将是 https://123.0.1.2.

    --instance-id <instanceId>要连接接口的 EC2-compatible 实例 ID(可选)。

    --mac <macAddress> 设置网络接口的 MAC 地址(可选)。

    --physical-network-interface-id <physicalNetworkInterfaceId> 用于创建新虚拟网络接口的物理网络接口 ID。您可以使用 describe-device 命令确定 Snowball Edge 上可用的物理网络接口。

    --vlan <vlanId> 为接口设置分配的 VLAN(可选)。指定后,从接口发送的所有流量都将使用指定的 VLAN ID 进行标记。对指定的 VLAN ID 对传入流量进行筛选,并在传递到实例之前删除所有 VLAN 标记。

  2. 创建 DNI 并将其与您的 EC2-compatible 实例关联后,您必须在 Amazon EC2-compatible 实例中进行两项配置更改。

    • 首先是进行更改,确保发送给与 EC2-compatible 实例关联的 VNI 的数据包通过 eth0 发送。

    • 第二项更改应将您的直接网络接口配置为在启动时使用 DCHP 或静态 IP。

    以下是适用于亚马逊 Linux 2 和 CentOS Linux 的 shell 脚本的示例,这些脚本可进行这些配置更改。

    Amazon Linux 2
    # Mac address of the direct network interface. # You got this when you created the direct network interface. DNI_MAC=[MAC ADDRESS FROM CREATED DNI] # Configure routing so that packets meant for the VNI always are sent through eth0. PRIVATE_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4) PRIVATE_GATEWAY=$(ip route show to match 0/0 dev eth0 | awk '{print $3}') ROUTE_TABLE=10001 echo "from $PRIVATE_IP table $ROUTE_TABLE" > /etc/sysconfig/network-scripts/rule-eth0 echo "default via $PRIVATE_GATEWAY dev eth0 table $ROUTE_TABLE" > /etc/sysconfig/network-scripts/route-eth0 echo "169.254.169.254 dev eth0" >> /etc/sysconfig/network-scripts/route-eth0 # Query the persistent DNI name, assigned by udev via ec2net helper. # changable in /etc/udev/rules.d/70-persistent-net.rules DNI=$(ip --oneline link | grep -i $DNI_MAC | awk -F ': ' '{ print $2 }') # Configure DNI to use DHCP on boot. cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$DNI DEVICE="$DNI" NAME="$DNI" HWADDR=$DNI_MAC ONBOOT=yes NOZEROCONF=yes BOOTPROTO=dhcp TYPE=Ethernet MAINROUTETABLE=no EOF # Make all changes live. systemctl restart network
    CentOS Linux
    # Mac address of the direct network interface. You got this when you created the direct network interface. DNI_MAC=[MAC ADDRESS FROM CREATED DNI] # The name to use for the direct network interface. You can pick any name that isn't already in use. DNI=eth1 # Configure routing so that packets meant for the VNIC always are sent through eth0 PRIVATE_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4) PRIVATE_GATEWAY=$(ip route show to match 0/0 dev eth0 | awk '{print $3}') ROUTE_TABLE=10001 echo from $PRIVATE_IP table $ROUTE_TABLE > /etc/sysconfig/network-scripts/rule-eth0 echo default via $PRIVATE_GATEWAY dev eth0 table $ROUTE_TABLE > /etc/sysconfig/network-scripts/route-eth0 # Configure your direct network interface to use DHCP on boot. cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$DNI DEVICE="$DNI" NAME="$DNI" HWADDR="$DNI_MAC" ONBOOT=yes NOZEROCONF=yes BOOTPROTO=dhcp TYPE=Ethernet EOF # Rename DNI device if needed. CURRENT_DEVICE_NAME=$(LANG=C ip -o link | awk -F ': ' -vIGNORECASE=1 '!/link\/ieee802\.11/ && /'"$DNI_MAC"'/ { print $2 }') ip link set $CURRENT_DEVICE_NAME name $DNI # Make all changes live. systemctl restart network