コンピューティングインスタンスのネットワーク設定 - AWS Snowball Edge デベロッパーガイド

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

コンピューティングインスタンスのネットワーク設定

Snow Family デバイスでコンピューティングインスタンスを起動した後、ネットワークインターフェイスを作成して IP アドレスを指定する必要があります。Snow Family デバイスは、仮想ネットワークインターフェイスとダイレクトネットワークインターフェイスの 2 種類のネットワークインターフェイスをサポートします。

仮想ネットワークインターフェイス (VNI)

仮想ネットワークインターフェイスは、Snow Family デバイス上の EC2 互換インスタンスに接続するための標準ネットワークインターフェイスです。ダイレクトネットワークインターフェイスを使用するかどうかにかかわらず、各 EC2 互換インスタンスに対して VNI を作成する必要があります。VNI を通過するトラフィックは、設定したセキュリティグループによって保護されます。VNI は、Snow Family デバイスの制御に使用する物理ネットワークポートにのみ関連付けることができます。

注記

VNI は Snow Family デバイスの管理に使用されているものと同じ物理インターフェイス (RJ45、SFP+、または QSFP) を使用します。デバイス管理に使用しているものとは異なる物理インターフェイスで VNI を作成すると、予期しない結果が生じる可能性があります。

ダイレクトネットワークインターフェイス (DNI)

ダイレクトネットワークインターフェイス (DNI) は、マルチキャストストリーム、推移的ルーティング、ロードバランシングなどのユースケースを可能にする高度なネットワーク機能です。中間変換やフィルタリングなしでインスタンスにレイヤー 2 ネットワークアクセスを提供することで、Snow Family デバイスのネットワーク構成に対する柔軟性を高め、ネットワークパフォーマンスを向上させることができます。DNI は VLAN タグと MAC アドレスのカスタマイズをサポートします。DNI 上のトラフィックは、セキュリティグループによって保護されません。

Snowball Edge デバイスでは、DNI を RJ45、SFP、または QSFP ポートに関連付けることができます。各物理ポートは、最大 63 個の DNIsをサポートします。DNIs は、Snow Family デバイスの管理に使用するのと同じ物理ネットワークポートに関連付ける必要はありません。

注記

Snowball Edge ストレージ最適化 (EC2 コンピューティング機能搭載) デバイスは DNI をサポートしません。

前提条件

VNI または DNI を設定する前に、次の前提条件が満たされていることを確認します。

  1. デバイスの電源がオンになっており、物理的なネットワークインターフェイス (RJ45 ポートなど) のいずれかが IP アドレスと接続されていることを確認します。

  2. Snow Family デバイスで使用している物理ネットワークインターフェイスに関連付けられている IP アドレスを取得します。

  3. Snowball Edge クライアントを設定します。詳細については、、Snowball Edge クライアント用プロフィールの設定を参照してください。

  4. デバイスのロックを解除します。 AWS OpsHub for Snow Family を使用してデバイスのロックを解除することをお勧めします。手順については、デバイスのロック解除を参照してください。

    CLI コマンドを使用する場合は、次のコマンドを実行し、ダイアログボックスに表示される情報を入力します。

    snowballEdge configure

    Snowball Edge Manifest Path: manifest.bin

    Unlock Code: unlock code

    Default Endpoint: https://device ip

  5. 以下のコマンドを実行します。

    snowballEdge unlock-device

    デバイスディスプレイの更新は、デバイスのロックが解除されていることを示します。

  6. デバイス上の EC2 互換インスタンスを起動します。VNI をこのインスタンスに関連付けます。

  7. snowballEdge describe-device コマンドを実行して、物理ネットワークインターフェイス ID のリストを取得します。

  8. 使用する物理ネットワークインターフェイスの ID を特定し、これを書き留めます。

仮想ネットワークインターフェイス (VNI) の設定

物理ネットワークインターフェイス ID の識別後に、仮想ネットワークインターフェイス (VNI) を設定できます。次の手順に従って、VNI を設定します。VNI を作成する前に、前提条件となるタスクを実行していることを確認してください。

VNI を作成し、IP アドレスを関連付ける
  1. snowballEdge create-virtual-network-interface コマンドを実行します。以下の例では、このコマンドの実行に 2 つの異なる IP アドレス割り当て方法 (DHCPSTATIC) を使用しています。DHCP メソッドは Dynamic Host Configuration Protocol (DHCP) を使用します。

    snowballEdge create-virtual-network-interface \ --physical-network-interface-id s.ni-abcd1234 \ --ip-address-assignment DHCP //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

    このコマンドによって、IP アドレスを含む JSON 構造が返ります。プロセスの後半でec2 associate-address AWS CLI 、コマンドの IP アドレスを書き留めます。

    この IP アドレスが必要なときはいつでも、snowballEdge describe-virtual-network-interfacesSnowball Edge クライアントコマンド、または aws ec2 describe-addresses AWS CLI コマンドを使用して取得できます。

  2. 新しく作成した IP アドレスをインスタンスに関連付けるには、次のコマンドを使用し、赤色のテキストを値に置き換えます。

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

ダイレクトネットワークインターフェイス (DNI) の設定

注記

ダイレクトネットワークインターフェイス機能は、2021 年 1 月 12 日以降に利用でき、 AWS リージョン Snow Family デバイスが利用可能なすべての で使用できます。

前提条件

ダイレクトネットワークインターフェイス (DNI) を設定する前に、前提条件セクションのタスクを実行する必要があります。

  1. DNI を設定する前に、前提条件となるタスクを実行します。手順については、「前提条件」を参照してください。

  2. さらに、デバイスでインスタンスを起動し、VNI を作成してインスタンスに関連付ける必要があります。手順については、「仮想ネットワークインターフェイス (VNI) の設定」を参照してください。

    注記

    in-the-field ソフトウェア更新を実行して既存のデバイスに直接ネットワークを追加した場合は、デバイスを完全に有効にするためにデバイスを 2 回再起動する必要があります。

DNI を作成し、IP アドレスを関連付ける
  1. 次のコマンドを実行して、ダイレクトネットワークインターフェイスを作成し、Amazon EC2 互換インスタンスにアタッチします。次のステップでは、デバイスの MAC アドレスが必要です。

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

    OPTIONS

    --endpoint <endpoint> このリクエストを送信するエンドポイント。デバイスのエンドポイントは、https スキームの後に IP アドレスが続く URL です。例えば、デバイスの IP アドレスが 123.0.1.2 の場合、デバイスのエンドポイントは https://123.0.1.2 になります。

    --instance-id <instanceId> インターフェイスをアタッチする EC2 互換インスタンス ID (オプション)。

    --mac <macAddress> ネットワークインターフェイスの MAC アドレスを設定します (オプション)。

    --physical-network-interface-id <physicalNetworkInterfaceId> 新しい仮想ネットワークインターフェイスを作成する物理ネットワークインターフェイスの ID。describe-device コマンドを使用して、Snowball Edge で使用可能な物理ネットワークインターフェイスを決定できます。

    --vlan <vlanId> インターフェイスに、割り当てられた VLAN を設定します (オプション)。指定すると、インターフェイスから送信されるすべてのトラフィックは、指定した VLAN ID でタグ付けされます。着信トラフィックは、指定した VLAN ID でフィルタリングされ、インスタンスに渡される前にすべての VLAN タグが除去されます。

  2. ステップ 1 で DNI をインスタンスに関連付けなかった場合は、ダイレクトネットワークインターフェイスの更新 コマンドを実行して関連付けることができます。

  3. DNI を作成し、EC2 互換インスタンスに関連付けた後、Amazon EC2 互換インスタンス内で 2 つの設定変更を行う必要があります。

    • 1 つ目の変更は、EC2 互換インスタンスに関連付けられた VNI 用のパケットが eth0 を介して送信されるように設定することです。

    • 2 つ目の変更は、ブート時に DCHP または静的 IP を使用するようにダイレクトネットワークインターフェイスを設定することです。

    以下に、これらの設定変更を行う Amazon Linux 2 と CentOS Linux のシェルスクリプトの例を示します。

    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