微軟 Azure 會逐漸不支援傳統部屬模型的資源,因此在實務上會需要將傳統的儲存體轉換為 ARM 部屬模型的儲存體,本文即是介紹如何透過 PowerShell 來轉換儲存體帳戶部屬類型。
前言
微軟 Azure 會逐漸不支援傳統部屬模型的資源,因此在實務上會需要將傳統的儲存體轉換為 ARM 部屬模型的儲存體,本文即是介紹如何透過 PowerShell 來轉換儲存體帳戶部屬類型。
實做
登入 Azure 帳號
Login-AzureRmAccount
列出帳號底下訂閱
Get-AzureRMSubscription | Sort SubscriptionName
選擇轉移後放 ARM 儲存體的訂閱
因為我帳號底下管理的多組訂閱,這邊選擇了前面圖片顯示的訂閱,選擇時候可以用名稱或是訂閱編號來選擇
訂閱名稱
$subscr="<subscription name>"
Get-AzureRmSubscription –SubscriptionName $subscr | Select-AzureRmSubscription
訂閱編號
$sourceSubscriptionId = "<Subscription Id>"
Select-AzureRmSubscription -SubscriptionId $sourceSubscriptionId
確認選擇完的是包含傳統儲存體的訂閱
註冊搬遷提供者
Register-AzureRmResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
確認註冊狀態是 Registered ,有時候需要一點時間,可以執行下列語法確認狀態
Get-AzureRmResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
新增傳統儲存體 Azure 帳號
Add-AzureAccount
到此為止已準備好兩個(或是同一個)訂閱分別是未來放 ARM 儲存體和傳統儲存體的訂閱。
預備儲存體
$storageAccountName = "<Storage Account Name>"
Move-AzureStorageAccount -Prepare -StorageAccountName $storageAccountName
這邊會需要一點時間等語法執行完畢,確認出現以下畫面才是成功準備好儲存體
這時後會建立一個新的資源群組(會是原本資源組名加上 -Migrated 後綴),裡面有一個預備好的 ARM 儲存體帳戶
這時後會發現會有兩個同樣名稱的儲存體帳戶
提交或中止搬移
提交
Move-AzureStorageAccount -Abort -StorageAccountName $storageAccountName
取消
Move-AzureStorageAccount -Commit -StorageAccountName $storageAccountName
這邊不管是提交或是取消都會需要一點時間等待,請耐心等待。
成功之後就完成轉換和搬遷的操作了。
另外提醒的一點是轉移所建立的儲存體帳戶預設的複寫會是 RA-GRS ,這是會花比較多錢的複寫方式,如果不需要這樣等級的複寫方式記得要去調整。
結論
在某些情境或是客戶的考量有可能會希望還是使用傳統儲存體,但是微軟針對傳統部屬的資源會逐漸的不支援,比較新的功能也會只有在 ARM 部屬的資源上,所以可以的話還是會建議逐漸將資源轉換為 ARM 類型,避免微軟完全不支援傳統部屬資源的時候措手不及。
另外在某些情境底下可能訂閱(CSP 訂閱)只支援 ARM 模型,這時候需要進行搬遷的時候就會需要轉換才可以將資源搬遷到該類型訂閱。