다음을 통해 공유


Az 2.0.0 마이그레이션 가이드

이 문서에서는 Az 1.0.0 및 2.0.0 버전 간의 변경 내용에 대해 설명합니다.

목차

모듈의 호환성이 손상되는 변경

Az.Compute

  • Sku = Aligned를 사용하기 위해 New-AzAvailabilitySetUpdate-AzAvailabilitySet cmdlet에서 Managed 매개 변수를 제거했습니다.

    이전

    Update-AzAvailabilitySet -Managed
    

    이후

    Update-AzAvailabilitySet -Sku Aligned
    
  • 일관성을 위해 Update-AzImage의 'ByName' 및 'ByResourceId' 매개 변수 집합에서 Image 매개 변수를 제거했습니다.

    이전

    아래 코드는 작동하지만, 전달된 ImageName은 사용되지 않으므로 이 매개 변수를 제거해도 기능에는 아무런 영향을 주지 않습니다.

    Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Image $Image -Tag $tags
    
    Update-AzImage -ResourceId $Id -Image $Image -Tag $tags
    

    이후

    Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Tag $tags
    
    Update-AzImage -ResourceId $Id -Tag $tags
    
  • 일관성을 위해 Restart-AzVM의 'ByObject' 및 'ByResourceId' 매개 변수 집합에서 Name 매개 변수를 제거했습니다.

    이전

    아래 코드는 작동하지만, 전달된 Name은 사용되지 않으므로 이 매개 변수를 제거해도 기능에는 아무런 영향을 주지 않습니다.

    Restart-AzVM -InputObject $VM -Name $Name
    
    Restart-AzVM -ResourceId $Id -Name $Name
    

    이후

    Restart-AzVM -InputObject $VM
    
    Restart-AzVM -ResourceId $Id
    
  • 일관성을 위해 Start-AzVM의 'ByObject' 및 'ByResourceId' 매개 변수 집합에서 Name 매개 변수를 제거했습니다.

    이전

    아래 코드는 작동하지만, 전달된 Name은 사용되지 않으므로 이 매개 변수를 제거해도 기능에는 아무런 영향을 주지 않습니다.

    Start-AzVM -InputObject $VM -Name $Name
    
    Start-AzVM -ResourceId $Id -Name $Name
    

    이후

    Start-AzVM -InputObject $VM
    
    Start-AzVM -ResourceId $Id
    
  • 일관성을 위해 Stop-AzVM의 'ByObject' 및 'ByResourceId' 매개 변수 집합에서 Name 매개 변수를 제거했습니다.

    이전

    아래 코드는 작동하지만, 전달된 Name은 사용되지 않으므로 이 매개 변수를 제거해도 기능에는 아무런 영향을 주지 않습니다.

    Stop-AzVM -InputObject $VM -Name $Name
    
    Stop-AzVM -ResourceId $Id -Name $Name
    

    이후

    Stop-AzVM -InputObject $VM
    
    Stop-AzVM -ResourceId $Id
    
  • 일관성을 위해 Remove-AzVM의 'ByObject' 및 'ByResourceId' 매개 변수 집합에서 Name 매개 변수를 제거했습니다.

    이전

    아래 코드는 작동하지만, 전달된 Name은 사용되지 않으므로 이 매개 변수를 제거해도 기능에는 아무런 영향을 주지 않습니다.

    Remove-AzVM -InputObject $VM -Name $Name
    
    Remove-AzVM -ResourceId $Id -Name $Name
    

    이후

    Remove-AzVM -InputObject $VM
    
    Remove-AzVM -ResourceId $Id
    
  • 일관성을 위해 Set-AzVM의 'ByObject' 및 'ByResourceId' 매개 변수 집합에서 Name 매개 변수를 제거했습니다.

    이전

    아래 코드는 작동하지만, 전달된 Name은 사용되지 않으므로 이 매개 변수를 제거해도 기능에는 아무런 영향을 주지 않습니다.

    Set-AzVM -InputObject $VM -Name $Name ...
    
    Set-AzVM -ResourceId $Id -Name $Name ...
    

    이후

    Set-AzVM -InputObject $VM ...
    
    Set-AzVM -ResourceId $Id ...
    
  • 일관성을 위해 Save-AzVMImage의 'ByObject' 및 'ByResourceId' 매개 변수 집합에서 Name 매개 변수를 제거했습니다.

    이전

    아래 코드는 작동하지만, 전달된 Name은 사용되지 않으므로 이 매개 변수를 제거해도 기능에는 아무런 영향을 주지 않습니다.

    Save-AzVMImage -InputObject $VM -Name $Name ...
    
    Save-AzVMImage -ResourceId $Id -Name $Name ...
    

    이후

    Save-AzVMImage -InputObject $VM ...
    
    Save-AzVMImage -ResourceId $Id ...
    
  • PSVirtualMachineScaleSetVMProtectFromScaleIn 속성을 캡슐화하기 위해 ProtectionPolicy 속성을 추가했습니다.

    이전

    $vmss = Get-AzVMssVM ...
    $vmss.ProtectFromScaleIn = $true
    
    $vmss = Update-AzVMssVM ...
    $vmss.ProtectFromScaleIn = $true
    
    $vmss = Remove-AzVMssVMDataDisk ...
    $vmss.ProtectFromScaleIn = $true
    

    이후

    $vmss = Get-AzVMssVM ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    $vmss = Update-AzVMssVM ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    $vmss = Remove-AzVMssVMDataDisk ...
    $vmss.ProtectionPolicy.ProtectFromScaleIn = $true
    
    
  • PSDiskEncryptionSettings 속성을 묶기 위해 EncryptionSettingsCollection 속성을 추가했습니다.

    이전

    $disk = New-AzDisk ... | Set-AzDiskDiskEncrytionKey ...
    $disk.EncryptionSettings
    
    $disk = New-AzDisk ... | Set-AzDiskKeyEncrytionKey ...
    $disk.EncryptionSettings
    
    $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateDiskEncryptionKey ...
    $update.EncryptionSettings
    
    $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateKeyEncryptionKey ...
    $update.EncryptionSettings
    

    이후

    $disk = New-AzDisk ... | Set-AzDiskDiskEncrytionKey ...
    $disk.EncryptionSettingsCollection.EncryptionSettings
    
    $disk = New-AzDisk ... | Set-AzDiskKeyEncrytionKey ...
    $disk.EncryptionSettingsCollection.EncryptionSettings
    
    $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateDiskEncryptionKey ...
    $update.EncryptionSettingsCollection.EncryptionSettings
    
    $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateKeyEncryptionKey ...
    $update.EncryptionSettingsCollection.EncryptionSettings
    
  • PSSnapshotEncryptionSettings 속성을 묶기 위해 EncryptionSettingsCollection 속성을 추가했습니다.

    이전

    $snap = New-AzSnapshotConfig ... | Set-AzSnapshotDiskEncryptionKey ...
    $snap.EncryptionSettings
    
    $snap = New-AzSnapshotConfig ... | Set-AzSnapshotKeyEncryptionKey ...
    $snap.EncryptionSettings
    
    $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateDiskEncryptionKey ...
    $update.EncryptionSettings
    
    $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateKeyEncryptionKey ...
    $update.EncryptionSettings
    

    이후

    $snap = New-AzSnapshotConfig ... | Set-AzSnapshotDiskEncryptionKey ...
    $snap.EncryptionSettingsCollection.EncryptionSettings
    
    $snap = New-AzSnapshotConfig ... | Set-AzSnapshotKeyEncryptionKey ...
    $snap.EncryptionSettingsCollection.EncryptionSettings
    
    $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateDiskEncryptionKey ...
    $update.EncryptionSettingsCollection.EncryptionSettings
    
    $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateKeyEncryptionKey ...
    $update.EncryptionSettingsCollection.EncryptionSettings
    
  • PSVirtualMachineScaleSet에서 VirtualMachineProfile 속성을 제거했습니다.

    이전

    $vmss = New-AzVMSSConfig ...
    $vmss.VirtualMachineProfile.AdditionalCapabilities.UltraSSDEnabled = $true
    

    이후

    $vmss = New-AzVMSSConfig ...
    $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
    
  • Set-AzVMBootDiagnostic cmdlet에서 Set-AzVMBootDiagnostics에 대한 별칭을 제거했습니다.

    이전

    사용되지 않는 별칭을 사용했습니다.

    Set-AzVMBootDiagnostics
    

    이후

    Set-AzVMBootDIagnostic
    
  • Export-AzLogAnalyticThrottledRequest cmdlet에서 Export-AzLogAnalyticThrottledRequests에 대한 별칭을 제거했습니다.

    이전

    사용되지 않는 별칭을 사용했습니다.

    Export-AzLogAnalyticThrottledRequests
    

    이후

    Export-AzLogAnalyticThrottledRequest
    

Az.HDInsight

  • Grant-AzHDInsightHttpServicesAccessRevoke-AzHDInsightHttpServicesAccess cmdlet을 제거했습니다. HTTP 액세스는 모든 HDInsight 클러스터에서 항상 사용하도록 설정되므로 더 이상 필요하지 않습니다.
  • Set-AzHDInsightGatewayCredential cmdlet이 추가되었습니다. 이 cmdlet을 사용하여 게이트웨이 HTTP 사용자 이름 및 암호를 변경합니다(Grant-AzHDInsightHttpServicesAccess 대체).
  • 스토리지 키에 대한 세분화된 역할 기반 액세스를 지원하도록 Get-AzHDInsightJobOutput cmdlet을 업데이트했습니다.
    • HDInsight 클러스터 운영자, 기여자 또는 소유자 역할이 있는 사용자는 영향을 받지 않습니다.
    • 읽기 권한자 역할만 있는 사용자는 DefaultStorageAccountKey 매개 변수를 명시적으로 지정해야 합니다.

이러한 역할 기반 액세스 변경에 대한 자세한 내용은 aka.ms/hdi-config-update를 참조하세요.

이전

Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential

이후

Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential

Get-AzHDInsightJobOutput cmdlet에 대한 읽기 권한자 역할만 있는 사용자

이전

Get-AzHDInsightJobOutput  -ClusterName $clusterName -JobId $jobId

이후

Get-AzHDInsightJobOutput  -ClusterName $clusterName -JobId $jobId -DefaultStorageAccountKey $storageAccountKey

Az.Storage

  • Blob, Queue 및 File cmdlet에서 반환된 형식의 네임스페이스를 Microsoft.WindowsAzure.Storage에서 Microsoft.Azure.Storage로 변경했습니다. 이는 기술적으로 호환성이 손상되는 변경 정책에 따른 호환성이 손상되는 변경이 아니지만, 이러한 cmdlet에서 반환되는 개체와 상호 작용하기 위해 Storage .Net SDK의 메서드를 사용하는 코드를 일부 변경해야 할 수 있습니다.

    예제 1: Queue에 메시지 추가(CloudQueueMessage 개체 네임스페이스 변경)

    이전:

    $queue = Get-AzStorageQueue –Name $queueName –Context $ctx
    $queueMessage = New-Object -TypeName "Microsoft.WindowsAzure.Storage.Queue.CloudQueueMessage,$($queue.CloudQueue.GetType().Assembly.FullName)" -ArgumentList "This is message 1"
    $queue.CloudQueue.AddMessageAsync($QueueMessage)
    

    이후:

    $queue = Get-AzStorageQueue –Name $queueName –Context $ctx
    $queueMessage = New-Object -TypeName "Microsoft.Azure.Storage.Queue.CloudQueueMessage,$($queue.CloudQueue.GetType().Assembly.FullName)"  -ArgumentList "This is message 1"
    $queue.CloudQueue.AddMessageAsync($QueueMessage)
    

    예제 2: AccessCondition을 사용하여 Blob/File 특성 가져오기(AccessCondition 개체 네임스페이스 변경)

    이전:

    $accessCondition= New-Object Microsoft.WindowsAzure.Storage.AccessCondition
    
    $blob = Get-AzureStorageBlob -Container $containerName -Blob $blobName
    $blob.ICloudBlob.FetchAttributes($accessCondition)
    
    $file = Get-AzureStorageFile -ShareName $shareName -Path $filepath
    $file.FetchAttributes($accessCondition)
    

    이후:

    $accessCondition= New-Object Microsoft.Azure.Storage.AccessCondition
    
    $blob = Get-AzureStorageBlob -Container $containerName -Blob $blobName
    $blob.ICloudBlob.FetchAttributes($accessCondition)
    
    $file = Get-AzureStorageFile -ShareName $shareName -Path $filepath
    $file.FetchAttributes($accessCondition)
    
  • 기술적으로 호환성이 손상되는 변경이 아니지만, New/Get/Set-AzStorageAccount 변경에서 반환되는 스토리지 계정의 Sku.Name 속성의 출력 차이가 다음과 같습니다. (변경되면 출력 및 입력 SkuName이 정렬됩니다.)

    • "StandardLRS" -> "Standard_LRS";
    • "StandardGRS" -> "Standard_GRS";
    • "StandardRAGRS" -> "Standard_RAGRS";
    • "StandardZRS" -> "Standard_ZRS";
    • "PremiumLRS" -> "Premium_LRS";
  • Kind를 지정하지 않고 스토리지 계정을 만들 때의 기본 서비스 동작을 변경했습니다. 이전 버전에서는 Kind가 지정되지 않은 스토리지 계정을 만들 때 Storage라는 스토리지 계정 종류가 사용되었지만, 새 StorageV2 버전에서 기본값은 Kind입니다. Kind 'Storage'를 사용하여 V1 스토리지 계정을 만들어야 하는 경우 '-Kind Storage' 매개 변수를 추가합니다.

    예제: 스토리지 계정 만들기(기본 종류 변경)

    이전:

    PS c:\> New-AzStorageAccount -ResourceGroupName groupname -Name accountname -SkuName Standard_LRS -Location "westus"
    
    StorageAccountName ResourceGroupName Location SkuName     Kind      AccessTier CreationTime          ProvisioningState EnableHttpsTrafficOnly
    ------------------ ----------------- -------- -------     ----      ---------- ------------          ----------------- ----------------------
    accountname        groupname         westus   StandardLRS Storage   Hot        4/17/2018 10:34:32 AM Succeeded         False
    

    이후:

    PS c:\> New-AzStorageAccount -ResourceGroupName groupname -Name accountname -SkuName Standard_LRS -Location "westus"
    
    StorageAccountName ResourceGroupName Location SkuName      Kind      AccessTier CreationTime          ProvisioningState EnableHttpsTrafficOnly
    ------------------ ----------------- -------- -------      ----      ----------  ------------          ----------------- ----------------------
    accountname        groupname         westus   Standard_LRS StorageV2 Hot        4/17/2018 10:34:32 AM Succeeded         False