次の方法で共有


Azure PowerShell を使用して Azure Stack Edge 上の VM をタグ付けする

この記事では、Azure PowerShell を使用して、Azure Stack Edge Pro GPU デバイスで実行されている仮想マシン (VM) にタグを付ける方法について説明します。

タグについて

タグは、リソースまたはリソースグ ループに割り当てることができるユーザー定義のキーと値のペアです。 デバイスで実行されている VM にタグを適用して、分類別で論理的に整理することができます。 タグは、リソースの作成時に付けたり、既存のリソースに追加したりすることができます。 たとえば、組織内のエンジニアリング部門によって使用されているすべての VM に名前 Organization と値 Engineering を適用できます。

タグの詳細については、AzureRM PowerShell を使用してタグを管理する方法を参照してください。

前提条件

PowerShell を使用してデバイス上に VM をデプロイする前に、以下を確認してください。

ローカル Azure Resource Manager への接続を確認する

次の手順に従い、クライアントからデバイスにアクセスできることを確認します。

クライアントがローカル Azure Resource Manager に接続できることを確認します。

  1. ローカル デバイス API を呼び出して認証します。

    login-AzAccount -EnvironmentName <Environment Name> -TenantId c0257de7-538f-415c-993a-1b87a031879d  
    
  2. ユーザー名 (EdgeArmUser) とパスワードを指定して Azure Resource Manager 経由で接続します。 パスワードを忘れた場合は、Azure Resource Manager のパスワードをリセットし、そのパスワードを使用してサインインします。

VM にタグを追加する

  1. パラメーターを設定する。

    $VMName = <VM Name>
    $VMRG = <VM Resource Group>
    $TagName = <Tag Name>
    $TagValue = <Tag Value>   
    

    出力例を次に示します。

    PS C:\WINDOWS\system32> $VMName = "myazvm"
    PS C:\WINDOWS\system32> $VMRG = "myaseazrg"
    PS C:\WINDOWS\system32> $TagName = "Organization"
    PS C:\WINDOWS\system32> $TagValue = "Sales"
    
  2. VM オブジェクトとそのタグを取得します。

    $VirtualMachine = Get-AzVM -ResourceGroupName $VMRG -Name $VMName
    $tags = $VirtualMachine.Tags
    
  3. タグを追加し、VM を更新します。 VM の更新には数分かかる可能性があります。

    省略可能な -Force フラグを使用して、ユーザーに確認することなくコマンドを実行できます。

    $tags.Add($TagName, $TagValue)
    Set-AzResource -ResourceId $VirtualMachine.Id -Tag $tags -Force
    

    出力例を次に示します。

    PS C:\WINDOWS\system32> $VirtualMachine = Get-AzVM -ResourceGroupName $VMRG -Name $VMName
    PS C:\WINDOWS\system32> $tags = $VirtualMachine.Tags
    PS C:\WINDOWS\system32> $tags.Add($TagName, $TagValue)
    PS C:\WINDOWS\system32> Set-AzResource -ResourceID $VirtualMachine.ID -Tag $tags -Force   
    
    Name              : myazvm
    ResourceId        : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myas
                        eazrg/providers/Microsoft.Compute/virtualMachines/myazvm
    ResourceName      : myazvm
    ResourceType      : Microsoft.Compute/virtualMachines
    ResourceGroupName : myaseazrg
    Location          : dbelocal
    SubscriptionId    : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
    Tags              : {Organization}
    Properties        : @{vmId=568a264f-c5d3-477f-a16c-4c5549eafa8c; hardwareProfile=;
                        storageProfile=; osProfile=; networkProfile=; diagnosticsProfile=;
                        provisioningState=Succeeded}
    

VM のタグを表示する

デバイスで実行されている特定の仮想マシンに適用されたタグを表示できます。

  1. 表示するタグを持つ VM に関連付けられているパラメーターを定義します。

    $VMName = <VM Name>
    $VMRG = <VM Resource Group>
    

    出力例を次に示します。

    PS C:\WINDOWS\system32> $VMName = "myazvm"
    PS C:\WINDOWS\system32> $VMRG = "myaseazrg"
    
  2. VM オブジェクトを取得し、そのタグを表示します。

    $VirtualMachine = Get-AzVM -ResourceGroupName $VMRG -Name $VMName
    $VirtualMachine.Tags
    

    出力例を次に示します。

    PS C:\WINDOWS\system32>  $VirtualMachine = Get-AzVM -ResourceGroupName $VMRG -Name $VMName     
    PS C:\WINDOWS\system32> $VirtualMachine.Tags
    
    Key          Value
    ---          -----
    Organization Sales    
    
    PS C:\WINDOWS\system32>
    

すべてのリソースのタグを表示する

デバイスのローカル Azure Resource Manager サブスクリプション (Azure サブスクリプションとは異なります) のすべてのリソースの現在のタグの一覧を表示するには、Get-AzTag コマンドを使用します。

複数の VM がデバイスで実行されており、すべての VM のすべてのタグを表示する場合の出力例を次に示します。

PS C:\WINDOWS\system32> Get-AzTag

Name         Count
----         -----
Organization 2

PS C:\WINDOWS\system32>

前述の出力は、デバイス上で実行されている VM に 2 つ Organization のタグがあることを示しています。

詳細を表示するには、-Detailed パラメーターを使用します。

PS C:\WINDOWS\system32> Get-AzTag -Detailed |fl

Name        : Organization
ValuesTable :
              Name         Count
              ===========  =====
              Sales        1
              Engineering  1
Count       : 2
Values      : {Sales, Engineering}

PS C:\WINDOWS\system32>

前述の出力は、2 つのタグのうち、1 つの VM は Engineering としてタグ付けされ、もう 1 つには Sales に属するというタグが付けられています。

タグを VM から削除する

  1. パラメーターを設定する。

    $VMName = <VM Name>
    $VMRG = <VM Resource Group>
    $TagName = <Tag Name>
    

    出力例を次に示します。

    PS C:\WINDOWS\system32> $VMName = "myaselinuxvm1"
    PS C:\WINDOWS\system32> $VMRG = "myaserg1"
    PS C:\WINDOWS\system32> $TagName = "Organization" 
    
  2. VM オブジェクトを作成します。

    $VirtualMachine = Get-AzVM -ResourceGroupName $VMRG -Name $VMName
    $VirtualMachine   
    

    出力例を次に示します。

    PS C:\WINDOWS\system32> $VirtualMachine = Get-AzVM -ResourceGroupName $VMRG -Name $VMName
    PS C:\WINDOWS\system32> $VirtualMachine
    
    ResourceGroupName  : myaseazrg
    Id                 : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/mya
    seazrg/providers/Microsoft.Compute/virtualMachines/myazvm
    VmId               : 568a264f-c5d3-477f-a16c-4c5549eafa8c
    Name               : myazvm
    Type               : Microsoft.Compute/virtualMachines
    Location           : dbelocal
    Tags               : {"Organization":"Sales"}
    DiagnosticsProfile : {BootDiagnostics}
    HardwareProfile    : {VmSize}
    NetworkProfile     : {NetworkInterfaces}
    OSProfile          : {ComputerName, AdminUsername, LinuxConfiguration, Secrets,
    AllowExtensionOperations, RequireGuestProvisionSignal}
    ProvisioningState  : Succeeded
    StorageProfile     : {ImageReference, OsDisk, DataDisks}
    
    PS C:\WINDOWS\system32>
    
  3. タグを削除し、VM を更新します。 省略可能な -Force フラグを使用して、ユーザーの確認なしでコマンドを実行します。

    $tags = $VirtualMachine.Tags
    $tags.Remove($TagName)
    Set-AzResource -ResourceId $VirtualMachine.Id -Tag $tags -Force
    

    出力例を次に示します。

    PS C:\WINDOWS\system32> $tags = $VirtualMachine.Tags
    PS C:\WINDOWS\system32> $tags.Remove($TagName)
    True
    PS C:\WINDOWS\system32> Set-AzResource -ResourceId $VirtualMachine.Id -Tag $tags -Force
    
    Name              : myazvm
    ResourceId        : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myas
                        eazrg/providers/Microsoft.Compute/virtualMachines/myazvm
    ResourceName      : myazvm
    ResourceType      : Microsoft.Compute/virtualMachines
    ResourceGroupName : myaseazrg
    Location          : dbelocal
    SubscriptionId    : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
    Tags              : {}
    Properties        : @{vmId=568a264f-c5d3-477f-a16c-4c5549eafa8c; hardwareProfile=;
                        storageProfile=; osProfile=; networkProfile=; diagnosticsProfile=;
                        provisioningState=Succeeded}
    
    PS C:\WINDOWS\system32>
    

次のステップ