この記事では、Azure CLI コマンド ライン インターフェイスを使用して、高速ネットワーク (AccelNet) が有効になっている Linux または Windows 仮想マシン (VM) を作成する方法について説明します。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
仮想ネットワークの作成
仮想ネットワークと Azure Bastion ホストを作成する
次の手順では、リソース サブネット、Azure Bastion サブネット、Bastion ホストを含む仮想ネットワークを作成します。
ポータルで、[仮想ネットワーク] を検索して選択します。
[仮想ネットワーク] ページで、[+ 作成] を選択します。
[仮想ネットワークの作成] の [基本] タブで、以下の情報を入力するか選択します。
設定 値 プロジェクトの詳細 サブスクリプション サブスクリプションを選択します。 リソースグループ [新規作成] を選択します。
名前に「test-rg」と入力します。
を選択します。インスタンスの詳細 名前 「vnet-1」と入力します。 リージョン [米国東部 2] を選択します。 [次へ] を選択して、[セキュリティ] タブに進みます。
[Azure Bastion] セクションで、[Azure Bastion の有効化] を選択します。
Bastion では、ユーザーのブラウザーとプライベート IP アドレスを使って、Secure Shell (SSH) またはリモート デスクトップ プロトコル (RDP) 経由で仮想ネットワーク内の VM に接続します。 VM には、パブリック IP アドレス、クライアント ソフトウェア、または特別な構成は必要ありません。 詳細については、Azure Bastion に関するページを参照してください。
[Azure Bastion] で、次の情報を入力するか選びます。
設定 値 Azure Bastion ホスト名 「bastion」と入力します。 Azure Bastion のパブリック IP アドレス [Create a public IP address] (パブリック IP アドレスを作成する) を選びます。
[名前] に「public-ip-bastion」と入力します。
を選択します。[次へ] を選択して、[IP アドレス] タブに進みます。
[サブネット] のアドレス空間ボックスで、既定のサブネットを選択します。
[サブネットの編集] で次の情報を入力または選択します。
設定 値 サブネットの目的 既定値の [既定値] のままにします。 名前 「subnet-1」と入力します。 IPv4 IPv4 アドレス範囲 既定値である 10.0.0.0/16 のままにします。 開始アドレス 既定値の 10.0.0.0 のままにします。 サイズ 既定値の [/24 (256 アドレス)] のままにします。 [保存] を選択します。
ウィンドウの下部にある [確認および作成] を選びます。 検証に合格した場合は、[作成] を選択します。
高速ネットワークを使ったネットワーク インターフェイスの作成
高速ネットワークは、ポータルで仮想マシンを作成するときに有効にされます。 次のセクションで仮想マシンを作成します。
VM を作成して NIC を接続する
テスト用の仮想マシンを作成する
次の手順では、仮想ネットワークに vm-1 という名前のテスト仮想マシン (VM) を作成します。
ポータルで、[仮想マシン] を検索して選択します。
[仮想マシン] で [+ 作成]、[Azure 仮想マシン] の順に選択します。
[仮想マシンの作成] の [基本] タブで、次の情報を入力または選択します。
設定 値 プロジェクトの詳細 サブスクリプション サブスクリプションを選択します。 リソースグループ test-rg を選択します。 インスタンスの詳細 仮想マシン名 「vm-1」と入力します。 リージョン [米国東部 2] を選択します。 可用性のオプション [インフラストラクチャ冗長は必要ありません] を選択します。 セキュリティの種類 規定値である [標準] のままにします。 画像 [Ubuntu Server 22.04 LTS - x64 Gen2] を選びます。 VMアーキテクチャ 既定値の [x64] のままにします。 サイズ サイズを選択します。 管理者アカウント 認証の種類 [パスワード] を選択します。 ユーザー名 「azureuser」と入力します。 パスワード パスワードを入力します。 パスワードの確認 パスワードを再入力します。 受信ポートの規則 パブリック受信ポート [なし] を選択します。 ページの上部にある [ネットワーク] タブを選択します。
[ネットワーク] タブで、次の情報を入力または選択します。
設定 値 ネットワーク インターフェイス 仮想ネットワーク [vnet-1] を選択します。 サブネット subnet-1 (10.0.0.0/24) を選択します。 パブリック IP [なし] を選択します。 NIC ネットワーク セキュリティ グループ [Advanced] \(詳細設定) を選択します。 ネットワーク セキュリティ グループを構成する [新規作成] を選択します。
名前として「nsg-1」を入力します。
残りの部分は既定値のままにし、[OK] を選択します。残りの設定は既定値のままにし、[確認と作成] を選択します。
設定を確認し、 [作成] を選択します。
注
Bastion ホストがある仮想ネットワーク内の仮想マシンには、パブリック IP アドレスが必要ありません。 Bastion がパブリック IP を提供し、VM はプライベート IP を使用してネットワーク内で通信します。 bastion ホストがある仮想ネットワーク内のいずれの VM からも、パブリック IP を削除できます。 詳細については、「パブリック IP アドレスの関連付けを Azure VM から解除する」を参照してください。
注
パブリック IP が割り当てられていない VM、または内部の Basic Azure Load Balancer のバックエンド プール内にある VM に対しては、Azure によって既定のアウトバウンド アクセス IP が提供されます。 デフォルト送信アクセス IP メカニズムは、構成できないアウトバウンド IP アドレスを提供します。
次のいずれかのイベントが発生すると、既定のアウトバウンド アクセス IP は無効になります。
- パブリック IP アドレスが VM に割り当てられます。
- アウトバウンド規則の有無にかかわらず、VM は標準ロード バランサーのバックエンド プール内に配置されます。
- Azure NAT Gateway リソースが VM のサブネットに割り当てられている。
フレキシブル オーケストレーション モードの仮想マシン スケール セットによって作成された VM には、既定のアウトバウンド アクセスがありません。
Azure のアウトバウンド接続の詳細については、「Azure での既定の送信アクセス」および「送信接続での送信元ネットワーク アドレス変換 (SNAT)を使用する」を参照してください。
高速ネットワークが有効になっていることを確認します。
Linux
Azure portal で、仮想マシンを検索して選択します。
[仮想マシン] ページで、自分の新規 VM を選択します。
VM の [概要] ページで、[接続]、[Bastion 経由で接続] の順に選びます。
Bastion 接続の画面で、[認証の種類] を [ローカル ファイルからの SSH 秘密キー] に変更します。
仮想マシンの作成時に使った [ユーザー名] を入力します。 この例のユーザーは azureuser という名前なので、それをご自分が作成したユーザー名に置き換えます。
[ローカル ファイル] でフォルダー アイコンを選び、VM の作成時に生成された秘密キー ファイルを参照します。 通常、秘密キー ファイルの名前は
id_rsa
またはid_rsa.pem
です。[接続] を選択します。
VM への Bastion 接続を使用する新しいブラウザー ウィンドウが開きます。
リモート VM でシェルから
uname -r
を入力し、カーネル バージョンが次のいずれかのバージョン以降であることを確認します。- Ubuntu 16.04: 4.11.0-1013。
- SLES SP3: 4.4.92-6.18。
- RHEL: 3.10.0-693、2.6.32-573。 Linux Integration Services 4.3 以降よりも前に Mellanox VF バージョン 4.5 以降がインストールされている場合、RHEL 6.7 ~ 6.10 がサポートされます。
注
他のカーネル バージョンがサポートされている場合があります。 更新された一覧については、Hyper-V でサポートされている Linux および FreeBSD 仮想マシンに関するページで、ディストリビューションごとの互換性テーブルを参照し、SR-IOV がサポートされていることを確認してください。 その他の詳細については、Linux Integration Services for Hyper-V and Azure のリリース ノートを参照してください。 *
lspci
コマンドを使用して、Mellanox VF デバイスが VM に公開されていることを確認します。 返される出力は次の例のようになります。0000:00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03) 0000:00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01) 0000:00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) 0000:00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02) 0000:00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA 0001:00:02.0 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]
ethtool -S eth0 | grep vf_
コマンドを使用して、仮想機能 (VF) のアクティビティを確認します。 高速ネットワークが有効であり、アクティブな場合、次のサンプル出力と似た出力を受け取ります。vf_rx_packets: 992956 vf_rx_bytes: 2749784180 vf_tx_packets: 2656684 vf_tx_bytes: 1099443970 vf_tx_dropped: 0
VM への Bastion 接続を閉じます。
ウィンドウズ
Azure で VM を作成したら、VM に接続し、Windows にイーサネット コントローラーがインストールされていることを確認します。
Azure portal で、仮想マシンを検索して選択します。
[仮想マシン] ページで、自分の新規 VM を選択します。
VM の [概要] ページで、[接続]、[Bastion 経由で接続] の順に選びます。
VM の作成時に使った資格情報を入力して、[接続] を選びます。
VM への Bastion 接続を使用する新しいブラウザー ウィンドウが開きます。
リモート VM で、[スタート] を右クリックし、[デバイス マネージャー] を選択します。
[デバイス マネージャー] ウィンドウで、 [ネットワーク アダプター] ノードを展開します。
Mellanox ConnectX-4 Lx Virtual Ethernet Adapter が表示されていることを確認します (下図参照)。
アダプターが存在することで、VM に対して高速ネットワークが有効になっていることを確認できます。
次のコマンドの出力から、パケットが VF インターフェイスを介して流れていることを確認します。
PS C:\ > Get-NetAdapter | Where-Object InterfaceDescription –like "*Mellanox*Virtual*" | Get-NetAdapterStatistics Name ReceivedBytes ReceivedUnicastPackets SentBytes SentUnicastPackets ---- ------------- ---------------------- --------- ------------------ Ethernet 2 492447549 347643 7468446 34991
注
Mellanox アダプターの起動が失敗する場合は、リモート VM で管理者コマンド プロンプトを開き、次のコマンドを入力します。
netsh int tcp set global rss = enabled
VM への Bastion 接続を閉じます。