チュートリアル: Azure CLI を使用して仮想マシン スケール セット インスタンスに接続する
仮想マシン スケール セットを使用すると、一連の仮想マシンをデプロイおよび管理できます。 仮想マシン スケール セットのライフサイクル全体を通して、1 つ以上の管理タスクを実行することが必要になる場合があります。 このチュートリアルでは、次の方法について説明します。
- 接続情報を一覧表示する
- SSH を使用して個々のインスタンスに接続する
Azure サブスクリプションがない場合は、開始する前に、Azure 無料アカウント を作成します。
前提 条件
Azure Cloud Shellで Bash 環境を使用します。 詳細については、「Azure Cloud Shellでの Bash のクイック スタート」を参照してください。
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.29 以降が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。
スケール セット内のインスタンスを一覧表示する
スケール セットがまだ作成されていない場合は、「チュートリアル: Azure CLI を使用して仮想マシン スケール セットを作成および管理する」を参照してください。
仮想マシン スケール セット内のすべてのインスタンスを一覧表示します。
az vmss list-instances \
--resource-group myResourceGroup \
--name myScaleSet \
--output table
Location Name ResourceGroup
---------- ------------------- ---------------
eastus myScaleSet_0e7d4d21 myResourceGroup
eastus myScaleSet_39379fc3 myResourceGroup
NIC 情報を取得する
az vm nic list と個々の VM インスタンスの名前
az vm nic list \
--resource-group myResourceGroup
--vm-name myScaleSet_0e7d4d21
[
{
"deleteOption": "Delete",
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-828c525a",
"primary": true,
"resourceGroup": "myResourceGroup"
}
]
VM 名と NIC 名を使用して、NIC のプライベート IP アドレス、受信 NAT 規則名、ロード バランサー名 az vm nic showを取得します。
az vm nic show --resource-group myResourceGroup --vm-name myScaleSet_0e7d4d21 --nic mysca2215Nic-828c525a
{
"enableAcceleratedNetworking": false,
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-828c525a",
"ipConfigurations": [
{
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-828c525a/ipConfigurations/mysca2215IPConfig",
"loadBalancerBackendAddressPools": [
{
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myScaleSetLB/backendAddressPools/myScaleSetLBBEPool",
}
],
"name": "mysca2215IPConfig",
"primary": true,
"privateIpAddress": "10.0.0.5",
"privateIpAddressVersion": "IPv4",
"privateIpAllocationMethod": "Dynamic",
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"subnet": {
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myScaleSetVNET/subnets/myScaleSetSubnet",
"resourceGroup": "myResourceGroup",
},
"type": "Microsoft.Network/networkInterfaces/ipConfigurations",
}
],
"location": "eastus",
"name": "mysca2215Nic-828c525a",
"networkSecurityGroup": {
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myScaleSetNSG",
"resourceGroup": "myResourceGroup",
},
"nicType": "Standard",
"primary": true,
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"tapConfigurations": [],
"type": "Microsoft.Network/networkInterfaces",
"virtualMachine": {
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_0e7d4d21",
"resourceGroup": "myResourceGroup"
},
}
バックエンド プールの詳細を取得する
バックエンド プール名とロード バランサー名を使用して、とを持つ az network lb list-mapping コマンドを使用し、接続したいインスタンスのプライベート IP アドレスのポートを取得します。
az network lb list-mapping --backend-pool-name myScaleSetLBBEPool --resource-group myResourceGroup --name myScaleSetLB --request ip=10.0.0.5
{
"inboundNatRulePortMappings": [
{
"backendPort": 22,
"frontendPort": 50001,
"inboundNatRuleName": "NatRule",
"protocol": "Tcp"
}
]
}
ロード バランサーのパブリック IP を取得する
ロード バランサー のパブリック IP を az network public-ip listを使用して取得します。
az network public-ip list --resource-group myResourceGroup
[
{
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myScaleSetLBPublicIP",
"idleTimeoutInMinutes": 4,
"ipAddress": "20.172.211.239",
"ipConfiguration": {
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myScaleSetLB/frontendIPConfigurations/loadBalancerFrontEnd",
"resourceGroup": "myResourceGroup"
},
"ipTags": [],
"location": "eastus",
"name": "myScaleSetLBPublicIP",
"provisioningState": "Succeeded",
"publicIPAddressVersion": "IPv4",
"publicIPAllocationMethod": "Static",
"resourceGroup": "myResourceGroup",
"sku": {
"name": "Standard",
"tier": "Regional"
},
"tags": {},
"type": "Microsoft.Network/publicIPAddresses"
}
]
インスタンスに接続する
ロード バランサーの IP と接続先のマシンのポートを使用してマシンに SSH 接続します。
ssh azureuser@20.172.211.239 -p 50000
次の手順
このチュートリアルでは、スケール セット内のインスタンスを一覧表示し、SSH 経由で個々のインスタンスに接続する方法について説明しました。
- スケール セット内のインスタンスを表示し、閲覧する
- スケール セット内の個々のインスタンスのネットワーク情報を収集する
- スケール セット内の個々の VM インスタンスに接続する
スケール セットの を変更する