2016年7月4日月曜日

【Microsoft Azure】今更ながらクラシックな仮想マシンをリソースマネージャーへ移行 with azure-cli

以前作った仮想マシンを、いい加減リソースマネージャーに移行しようと思い、今更ながらazure-cliでの手順をまとめてみましょう。

まず、方針はこんな感じ。

・リソースグループの作成
・リソースグループに新しいストレージアカウントとコンテナを作成
・クラシックなストレージから作成したストレージにVHDをコピー
・仮想ネットワーク、仮想NIC(セキュリティ)、パブリックIPを作成
・コピーしたVHDから仮想マシンを作成

まずは事前にログインして、該当するサブスクリプションをセットしておきます。
$ azure login
$ azure account list
$ azure account set サブスクリプションID

忘れずにARMモードにします。
$ azure config mode arm

リソースグループを東日本リージョンに作成します。
$ azure group create リソースグループ名 JapanEast

ストレージアカウントを追加して、コンテナを作成します。
とりあえずLRSで東日本リージョンに作ります。
azure storage account create --resource-group リソースグループ名 --sku-name LRS --location JapanEast --kind storage ストレージアカウント名

コンテナを作成するために、アクセスキーを確認します。
表示されたリストのkey1を使ってコンテナを作成します。
アクセスキーは念のため「"」で囲んでいます。
azure storage account keys list --resource-group リソースグループ名 ストレージアカウント名
$ azure storage container create -a ストレージアカウント名 -k "アクセスキー" コンテナ名

既存の古いストレージからVHDをコピーします。
azure storage blob copy start -a 古いストレージアカウント名 -k "古いアクセスキー" --dest-account-name 新しいストレージアカウント名 --dest-account-key "新しいアクセスキー" "既存VHDのURI" コンテナ名

仮想ネットワーク、仮想ネットワークインターフェースなどを東日本リージョンに作成します。
azure network vnet create リソースグループ名 仮想ネットワーク名 JapanEast
$ azure network vnet subnet create -a 10.0.0.0/24 リソースグループ名 仮想ネットワーク名 サブネット名
$ azure network public-ip create リソースグループ名 パブリックIPアドレス名 JapanEast
$ azure network nsg create リソースグループ名 セキュリティグループ名 JapanEast
$ azure network nic create --subnet-name サブネット名 --subnet-vnet-name 仮想ネットワーク名 --network-security-group-name セキュリティグループ名 --public-ip-name パブリックIPアドレス名 リソースグループ名 仮想NIC名 JapanEast

最後にVHDから仮想マシンを作成します。
azure vm create -d コピーしたVHDのURI --nic-name 仮想NIC名 --vnet-name 仮想ネットワーク名 --public-ip-name パブリックIPアドレス名 リソースグループ名 仮想マシン名 JapanEast Linux

といろいろやってみたところ、マイグレーションのツールがGAしたようで...
https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-cli-migration-classic-resource-manager/

0 件のコメント: