クイック スタート:Azure CLI を使用した仮想ネットワークの作成

仮想ネットワークによって、仮想マシン (VM) などの Azure リソースが互いにプライベートな通信を行ったりインターネットと通信したりできるようになります。

このクイック スタートでは、仮想ネットワークの作成方法について説明します。 仮想ネットワークを作成したら、2 つの VM を仮想ネットワークにデプロイします。 次にインターネットから VM に接続し、新しい仮想ネットワークを介してプライベートで通信します。

Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。

前提条件

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、Azure Cloud Shell の Bash のクイックスタートに関するページを参照してください。

    Launch Cloud Shell in a new window

  • CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

  • このクイックスタートには、Azure CLI のバージョン 2.0.28 以降が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。

リソース グループと仮想ネットワークを作成する

仮想ネットワークを作成するには、その前に、仮想ネットワークをホストするリソース グループを作成する必要があります。 az group create を使用して、リソース グループを作成します。 この例では、Eastus の場所内に CreateVNetQS-rg という名前のリソース グループを作成します。

az group create \
    --name CreateVNetQS-rg \
    --location eastus

az network vnet create を使用して仮想ネットワークを作成します。 この例では、default という名前のサブネットを使って、myVNet という名前の既定の仮想ネットワークを作成します。

az network vnet create \
  --name myVNet \
  --resource-group CreateVNetQS-rg \
  --subnet-name default

仮想マシンを作成する

仮想ネットワーク内に 2 つの VM を作成します。

最初の VM を作成する

az vm create を使用して VM を作成します。

既定のキーの場所にまだ SSH キーが存在しない場合は、コマンドを使って SSH キーを作成します。 特定のキーのセットを使用するには、--ssh-key-value オプションを使用します。

--no-wait オプションを使用すると、バックグラウンドで VM が作成されます。 次の手順に進むことができます。

この例では、myVM1 という名前の VM を作成します。

az vm create \
  --resource-group CreateVNetQS-rg \
  --name myVM1 \
  --image UbuntuLTS \
  --generate-ssh-keys \
  --public-ip-address myPublicIP-myVM1 \
  --no-wait

2 つ目の VM を作成する

前の手順では、--no-wait オプションを使用しました。 今度は 2 つ目の VM を myVM2 という名前で作成しましょう。

az vm create \
  --resource-group CreateVNetQS-rg \
  --name myVM2 \
  --image UbuntuLTS \
  --public-ip-address myPublicIP-myVM2 \
  --generate-ssh-keys

Note

パブリック IP アドレスが割り当てられていないか、内部の Basic Azure Load Balancer のバックエンド プールにある VM に対しては、Azure によってデフォルト送信アクセス IP が提供されます。 デフォルト送信アクセス IP メカニズムは、構成できないアウトバウンド IP アドレスを提供します。

詳細については、「Azure での既定の送信アクセス」を参照してください。

パブリック IP アドレスが VM に割り当てられている場合、またはアウトバウンド規則の有無にかかわらず VM が Standard Load Balancer のバックエンド プールに配置されている場合、既定の送信アクセス IP は無効になります。 Azure Virtual Network ネットワーク アドレス変換 (NAT) ゲートウェイ リソースが仮想マシンのサブネットに割り当てられている場合、デフォルト送信アクセス IP は無効になります。

フレキシブル オーケストレーション モードの仮想マシン スケール セットによって作成された VM には、既定の送信アクセスがありません。

Azure でのアウトバウンド接続の詳細については、「アウトバウンド接続に送信元ネットワーク アドレス変換 (SNAT) を使用する」を参照してください。

Azure CLI の出力メッセージ

VM の作成には数分かかります。 Azure で VM が作成された後、Azure CLI では次のような出力が返されます。

{
  "fqdns": "",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CreateVNetQS-rg/providers/Microsoft.Compute/virtualMachines/myVM2",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.5",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "CreateVNetQS-rg"
  "zones": ""
}

VM のパブリック IP

myVM2 のパブリック IP アドレスを取得するには、az network public-ip show を使用します。

az network public-ip show \
  --resource-group CreateVNetQS-rg  \
  --name myPublicIP-myVM2 \
  --query ipAddress \
  --output tsv

インターネットから VM に接続する

このコマンドでは、<publicIpAddress>myVM2 VM のパブリック IP アドレスに置き換えます。

ssh <publicIpAddress>

VM 間の通信

VM myVM2myVM1 の間のプライベート通信を確認するには、「ping myVM1 -c 4」と入力します。

次のような応答メッセージを受け取ります。


azureuser@myVM2:~$ ping myVM1 -c 4
PING myVM1.h0o2foz2r0tefncddcnfqm2lid.bx.internal.cloudapp.net (10.0.0.4) 56(84) bytes of data.
64 bytes from myvm1.internal.cloudapp.net (10.0.0.4): icmp_seq=1 ttl=64 time=2.77 ms
64 bytes from myvm1.internal.cloudapp.net (10.0.0.4): icmp_seq=2 ttl=64 time=1.95 ms
64 bytes from myvm1.internal.cloudapp.net (10.0.0.4): icmp_seq=3 ttl=64 time=2.19 ms
64 bytes from myvm1.internal.cloudapp.net (10.0.0.4): icmp_seq=4 ttl=64 time=1.85 ms

--- myVM1.h0o2foz2r0tefncddcnfqm2lid.bx.internal.cloudapp.net ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 1.859/2.195/2.770/0.357 ms

myVM2 VM との SSH セッションを終了します。

リソースをクリーンアップする

不要になったら、az group delete を使用して、リソース グループとそのすべてのリソースを削除できます。

az group delete \
    --name CreateVNetQS-rg \
    --yes

次のステップ

このクイック スタートでは次のようにします。

  • 既定の仮想ネットワークと 2 つの VM を作成しました。
  • インターネットから 1 つの VM に接続し、2 つの VM の間でプライベート通信を行いました。

仮想ネットワークでは、VM 間のプライベート通信に制限はありません。

各種 VM ネットワーク通信の構成の詳細については、次の記事に進んでください。