- 追加された行はこの色です。
- 削除された行はこの色です。
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>Azure]]
--[[Azureの評価環境を入手する]]
--[[AzureのPoC環境を契約する]]
--Azure上に素早く環境を構築する
* 目次 [#h4eee186]
#contents
*概要 [#g2270fd5]
Azure上に素早く環境を構築する系のトピックを列挙。
-VHDを退避して(ディスク)、VM作成に使用する的な。
-[[Sysprep]]によるiso(イメージ)作成も可能。
*ギャラリー [#wf3187ca]
-Microsoft Azure に用意されたギャラリーからOSイメージを選択して作成できる。
--新規作成した仮想マシンには新しいNICが取付けられ、MACアドレス、TCP/IP設定は引継がれない。
--このため、ネットワーク関連の設定は、新規仮想マシンの作成後に設定を行う。
-参考
--Microsoft Azure Marketplace - Virtual Machines~
http://azure.microsoft.com/ja-jp/marketplace/virtual-machines/
**既定のOSイメージ [#r5747c60]
既定のOSイメージには、WindowsやLinuxなどのOSが用意されている。
-この既定のOSイメージをコピーして、新しい仮想マシンを作成することで、~
OSインストールの時間をかけずに、迅速に仮想マシンを作成できる。
-ただし、用意されている既定のOSイメージは、すべて英語版。
***利用時の動作 [#ccf39597]
-Azure仮想マシンを新規作成する際に、ギャラリーから既定のOSイメージを選択する。
-利用者のAzure環境(具体的には利用者のAzure StorageのBLOB)へコピーされる。
-仮想マシンのシステム ドライブに取り付けられ、仮想マシンが起動する。
***問題点 [#a33a0008]
-既定のOSイメージは、すべて英語版。
--日本語環境の手順やメッセージを確認するためには、日本語化する必要がある。
--日本語化の作業に1~2時間かかるため、必要な都度、日本語化していては効率が悪い。
--日本語環境の手順やメッセージを確認するためには、[[日本語化>#g3a6775f]]する必要がある。
--[[日本語化>#g3a6775f]]の作業に1~2時間かかるため、必要な都度、[[日本語化>#g3a6775f]]していては効率が悪い。
-既定のOSイメージは、時々Windows Updateが当てられ更新される。
--例えば半年経過した頃に、同じOSイメージから仮想マシンを再度作成した場合、~
Windows Updateが当てられ更新されている可能性がある。
--更新モジュールを固定することができない。
**マイ・イメージ [#x8f97a27]
テンプレートになる自作のOSイメージを予めマイ・イメージとして登録しておき、~
テンプレートから多数の仮想マシンを作成する場合に適している。
-テンプレートになる自作のOSイメージを予めマイ・イメージとして登録
-テンプレートから多数の仮想マシンを作成する場合に適している。
***機能概要 [#oaa2c52f]
-予め、OSイメージ化対象のVMをAzure IaaS上に構築しておく必要がある。
-OSイメージを利用者のAzure環境(具体的には利用者のAzure StorageのBLOB)へコピー
-[[Sysprep]]済のOSイメージを登録することもできるので、~
[[Sysprep]]対応のアプリケーションをインストールした状態での展開が可能。
-ギャラリーの既定のOSイメージと異なり、Windows Updateが適用されない。
***用途 [#xdbc81ce]
後から再利用しそうなOSイメージについて、~
あらかじめ[[日本語化>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?VM%E8%B5%B7%E5%8B%95%E5%BE%8C%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97#f62d73e9]]し、マイ・イメージにキープしておくとよい。
あらかじめ[[日本語化>#g3a6775f]]し、マイ・イメージにキープしておくとよい。
*ストレージ [#g54161ee]
**マイ・ディスク [#c6b15aff]
***機能概要 [#wf84803e]
-ギャラリー上のOSイメージではなく既存VMのVHDを、新VMにアタッチする。
-この、既存VMのVHDをを、「特殊化された VHD」と言う。
-なお、NICなどのコンフィグはリセットされるので、そこはイメージと変わらない。
***用途 [#y98c09c2]
-既存VMのVHDを(個人PC、業務PC、業務サーバ等)のバックアップ・リストアなど。
-若しくは、-既存VMをサブスクリプション間で移動する場合など。
-スナップ・ショットを使用して、ベース・イメージとすることもできる。
*手順 [#x28f7951]
**マイ・イメージ [#o4002f7f]
***ポータルでマイ・イメージを作成 [#ia8ae532]
***サブスクリプション間でマイ・イメージを移動 [#x9265cf5]
**マイ・ディスク [#z6270e46]
***ポータルでスナップショットして別VMを作成 [#q3aeef6d]
-管理ディスクをコピーする~
管理ディスクからスナップショットを作成し、~
そのスナップショットから管理ディスクを作成。
***サブスクリプション間を移動して復元 [#r34348fb]
--管理ディスクを選択し上のメニューから [スナップショットの作成] を選択。
---[名前] を入力、[リソース グループ] を選択。
---[スナップショットの種類] で [フル] を選択。
---[アカウントの種類] で [Standard (HDD)] を選択。
---[作成] を選択してスナップショットを作成。
--[リソースの作成] か、[すべてのリソース] から [追加] を選択し、~
検索窓に「Managed Disks」と入力し、表示された管理ディスクの [作成] を押下
---[名前] を入力、[リソース グループ] を選択。
---[ソースの種類] で、 [スナップショット] を選択。
---それ以外は、コピー元の管理ディスクに合わせる。
---[作成] を選択して管理ディスクを作成。
-管理ディスクからの VM 作成~
管理ディスクが作成されたら、ポータルを使用して VM を作成できる。
--使用する管理ディスクを選択し[概要] ページで、~
[DISK STATE] (ディスクの状態) が [未接続] であることを確認。
--ページの一番上にあるメニューで、 [VM の作成] を選択。
--VM サイズ等を選択して、[確認および作成] を選択。~
その他は既定値の状態(管理ディスクは作成済みのため)
--VM 構成が検証に合格したら、 [作成] を選択してデプロイを開始。
-作成したVMの起動と実行の確認~
作成したVMが、起動し、RDPなどで接続できることを確認する。
***サブスクリプション間でマイ・ディスクを移動 [#r34348fb]
-一方のサブスクリプションから、~
[[招待>Microsoft Azure Active Directory#u0768137]]&[[共同管理者に設定>Azure Subscriptionの管理手順@エンプラ#p5c389cc]]してもらう。
-[[Azure CLI]]でログイン
az login
-SASを取得。~
SASとは、Shared Access Signatureの略らしい。
-[[SASトークン>トークン#w01b1c2d]]を取得。~
オプションに --subscription の指定が必要になることがある。~
名称が重複しているなどの場合、サブスクリプションを識別できない模様
az disk grant-access --duration-in-seconds 3600 --name <ディスク名> --resource-group <リソースグループ名>
{
"accessSas": "accessSas の URL"
}
-サブスクリプション間コピー
--コピー先ストレージ アカウント、コンテナーは予め作成しておく。
--コピー先[[ストレージ・アカウント>Azureのストレージ#t36c3007]]、コンテナは予め作成しておく。
--なお、パブリック・ネットワークからのアクセスを許可しておく必要がある。
-- 同様に、--subscriptionの指定が必要になることがある。
az storage blob copy start --account-name <コピー先ストレージ アカウント名> --account-key <コピー先ストレージのアクセス キー> --destination-container <コピー先のコンテナー名> --destination-blob <コピー後の VHD 名>.vhd --source-uri "生成した accessSas の URL"
-コピー状況の確認
--何気に、結構長い時間がかかる(リージョンを跨ぐ等)。
--ステータス取得には、PowerShellが必要なので、Azure Cloud Shell辺りで以下のように。
--ステータス取得には、PowerShellが必要なので、~
Azure Cloud Shell辺りを使用して以下のように行う。
$storageContext = New-AzureStorageContext -StorageAccountName 'aaaa' -StorageAccountKey 'bbbb'
Get-AzureStorageBlobCopyState -Context $storageContext -Container "xxxx" -Blob "yyyy"
--...と思ったら、コピー先のポータルから操作すれば確認できるもよう。~
進捗は確認できないが、最終更新日付、コピー状態、完了時間で完了しているかどうか解る。
-VHD より管理ディスクを作成
--VHD のフル URLは、SASではないので注意。
>※ Status : Pending のまま、BytesCopied が TotalBytes まで増えていく。
***ページBlobのVHDから復元する。 [#dd0f615f]
※ VHDは、[[Hyper-V]]を使用し、1MB * N の サイズ のVHDとして作成しておく。~
(後々、リサイズ等をしたら、動かなくなることがあったので。127GBが良いのか?)
-ページBlobのVHDより管理ディスクを作成
--VHD のフル URLは、[[SASトークン>トークン#w01b1c2d]]ではないので注意。
--作成元の管理ディスクに合わせて以下を設定
--- --hyper-v-generation "V1 or V2"
--- --sku "Premium_LRS or StandardSSD_LRS or Standard_LRS or UltraSSD_LRS"
--私の場合、--subscription と --location の指定が必要だった。
---名称が重複しているなどの場合、サブスクリプションを識別できない模様
---location 指定する値は、az account list-locationsで出力。ただし、HPの方が見易い。
az disk create --resource-group <リソース グループ名> --name <作成する管理ディスク名> --source <VHD のフル URL> --sku "Premium_LRS or Standard_LRS"
---location 指定する値は、[[az account list-locations>https://docs.microsoft.com/en-us/cli/azure/account?view=azure-cli-latest#az-account-list-locations]]で出力。
---ただし、DocsなどのHPの方が見易い。--output tableを付けるとマシになる。
az disk create --resource-group <リソース グループ名> --name <作成する管理ディスク名> --source <VHD のフル URL> --sku "Premium_LRS or StandardSSD_LRS or Standard_LRS or UltraSSD_LRS" --hyper-v-generation "V1 or V2"
-管理ディスクより VM を作成
--ポータルから実行しようとしたら、~
VM作成ボタンが非活性だったためCLIで実行。
--ここでも、念の為、--subscription と --location を指定。
--インバウンドを開けない場合は「[[--public-ip-address "">Azure Bastion#sf6b38d2]]」を指定。
--VMのサイズは、--size に指定するが、
---指定する値は、az vm list-sizesで出力。ただし、HPの方が見易い。
---指定する値は、[[az vm list-sizes>https://docs.microsoft.com/en-us/cli/azure/vm?view=azure-cli-latest#az-vm-list-sizes]]で出力。
---ただし、DocsなどのHPの方が見易い。--output tableを付けるとマシになる。
---また、サイズによっては、Premium_LRSをサポートしていないことがある。
az vm create --name <VM 名> --resource-group <リソース グループ名> --attach-os-disk <管理ディスク名> --size "VM のサイズ" --os-type "Windows or Linux"
-起動しない場合は、ブート診断。
--参考:[[Azureの仮想マシン > IaC化>Azureの仮想マシン#s367b9db]]
-起動しない場合は、ブート診断
--私の場合、ココまでやって、始めOSが起動せず(以下の切り分けでクリアした)。
--ポータルから[[スナップショット>#q3aeef6d]]をソースにして、作成した管理ディスクに、~
「[[az vm create>https://docs.microsoft.com/en-us/cli/azure/vm?view=azure-cli-latest#az-vm-create]]」コマンドを実行した場合は上手く動作した。
--ポータルからBLOBをソースにして、作成した管理ディスクに、~
「[[az vm create>https://docs.microsoft.com/en-us/cli/azure/vm?view=azure-cli-latest#az-vm-create]]」コマンドを実行した所、同様に上手く動作した。
>...ポータルには、「Gen2」と指定する部位があったため、~
CLIの「[[az disk create>https://docs.microsoft.com/en-us/cli/azure/disk?view=azure-cli-latest#az-disk-create]]」でも「Gen2」を指定する必要があるものと思われる。
--参考
---Azure での VM のブート診断 | Microsoft Docs~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/troubleshooting/boot-diagnostics
*参考 [#r3f4c6f1]
-Azureなう: [マイ ディスク]と[マイ イメージ]、違い~
http://taleofazure.blogspot.com/2014/12/blog-post.html
**[[Azureの評価環境を入手する]] [#ocd28c0f]
**[[VM起動後の開発環境のセットアップ>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?VM%E8%B5%B7%E5%8B%95%E5%BE%8C%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97]] [#g3a6775f]
**[[クラウド・インフラ自動化]] [#u922a8b6]
**Microsoft Docs [#f60a008a]
***マイ・イメージ [#ta47dd07]
-[[「イメージ」リソースをサブスクリプション・リージョン間でコピーする>https://jpaztech1.z11.web.core.windows.net/%E3%80%8C%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%80%8D%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%92%E3%82%B5%E3%83%96%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%BB%E3%83%AA%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E9%96%93%E3%81%A7%E3%82%B3%E3%83%94%E3%83%BC%E3%81%99%E3%82%8B.html]]
--Azure CLI を使用して共有イメージ ギャラリーを作成する~
--サブスクリプション間で「イメージ」リソースをコピーする~
https://docs.microsoft.com/ja-jp/archive/blogs/jpaztech/howtocopyimagebetweensubscriptions
--Azure 共有イメージ ギャラリーを作成する
---ポータルを使用して~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/shared-images-portal
---Azure PowerShell を使用して~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/shared-images
---Azure CLI を使用して~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/shared-images
***マイ・ディスク [#j61a156a]
-VHD から Windows VM を作成する
-VHD から Windows VM を作成する~
(管理ディスク → スナップ・ショット → 管理ディスク)
--Azure Portal で特殊化された VHD から~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/create-vm-specialized-portal
--Azure PowerShell で特殊化された VHD から~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/create-vm-specialized
-VHD から Linux VM を作成する
--Azure CLI を使用した Linux VM のコピー~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/copy-vm
-VHD のダウンロードとアップロード
--Azure から Windows VHD をダウンロードする~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/download-vhd
--アップロードした汎用化 VHD から VM を作成する~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/upload-generalized-managed
-その他
-管理ディスク → VHD → 管理ディスク
--管理ディスク (Managed Disks) のサブスクリプション間やリソース グループ間の移行について~
https://docs.microsoft.com/ja-jp/archive/blogs/jpaztech/export-managed-disks-to-vhd
--同じサブスクリプションのストレージ アカウントに~
VHD ファイルからマネージド ディスクを作成する - CLI サンプル~
VHD ファイルから管理ディスクを作成する - CLI サンプル~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/scripts/virtual-machines-linux-cli-sample-create-managed-disk-from-vhd
--管理ディスク (Managed Disks) の "イメージ" リソースを使用し、仮想マシンを複数台展開する~
https://docs.microsoft.com/ja-jp/archive/blogs/jpaztech/deployvmsfrommanagedimage
***バックアップ・リストア [#q9284ac5]
-Azure VM バックアップについて~
https://docs.microsoft.com/ja-jp/azure/backup/backup-azure-vms-introduction
-チュートリアル - Azure portal で Windows 仮想マシンをバックアップする~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/tutorial-backup-vms
***Linux VMの場合 [#m8434eb1]
[[Sysprep]]は不要。
***リソースの移動 [#qbd6ab25]
-リソースを新しいサブスクリプションまたはリソース グループに移動する~
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/management/move-resource-group-and-subscription
-Azure CLI を使用した Linux VM のコピー~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/copy-vm
----
Tags: [[:インフラストラクチャ]], [[:クラウド]], [[:Azure]]