はじめに
RESTで仮想マシンを展開することはほぼないでしょう。アプリケーションに組み込むなどの場合ぐらいかもしれません。
-
Azure REST API リファレンス ドキュメント | Microsoft Learn
サポートされている操作、要求 URI パラメーター、要求本文、応答、オブジェクト定義など、Azure REST API のリファレンス ドキュメント。
learn.microsoft.com
もとをただせばAzure CLIなどもRESTです。デバックを見ているとRESTで行っていることがわかります。
今回は例として仮想マシンを展開してみたいと思います。下記は仮想マシンの展開方法について書かれています。
-
Virtual Machines - Create Or Update - REST API (Azure Compute) | Microsoft Learn
The operation to create or update a virtual machine. Please note some properties can be set only dur ...
learn.microsoft.com
準備
RESTで仮想マシンを作成する場合、仮想マシンとOSディスクだけ作成されます。ネットワーク周りは事前に作成しておく必要があります。
- リソースグループ
- 仮想ネットワーク
- ネットワークインタフェース
これらは事前に作成しておく必要があります。
仮想マシの展開
展開するにはRESTを発行する必要があります。PowershellやWSLなどを利用して発行することも可能ですが今回はLearnのフォーカスモードの機能を利用しています。
-
Virtual Machines - Create Or Update - REST API (Azure Compute) | Microsoft Learn
The operation to create or update a virtual machine. Please note some properties can be set only dur ...
learn.microsoft.com
コードの部分に使ってみるがあります。これをクリックするとフォーカスモードが開きます。
フォーカスモードです。ログインを求められ、完了後に右側に入力画面はでます。
リソースグループと仮想マシンの名前を入力します。
本文には下記を参考に入力します。
-
Virtual Machines - Create Or Update - REST API (Azure Compute) | Microsoft Learn
The operation to create or update a virtual machine. Please note some properties can be set only dur ...
learn.microsoft.com
下記はUbuntuの仮想マシンを作成します。
ユーザ名、パスワードを入力します。またネットワークインタフェースのIDはプロパティを確認して入力します。
{ "location": "westus", "properties": { "hardwareProfile": { "vmSize": "Standard_D2as_v4" }, "storageProfile": { "imageReference": { "sku": "20_04-lts-gen2", "publisher": "canonical", "version": "latest", "offer": "0001-com-ubuntu-server-focal" }, "osDisk": { "caching": "ReadWrite", "managedDisk": { "storageAccountType": "Standard_LRS" }, "name": "myVMosdisk", "createOption": "FromImage" } }, "osProfile": { "adminUsername": "{your-username}", "computerName": "myVM", "adminPassword": "{your-password}" }, "networkProfile": { "networkInterfaces": [ { "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", "properties": { "primary": true } } ] } } }
以上で入力は完了です。レスポンスコード 201でかえってこれば問題ないです。
あとは実際に仮想マシンが展開されているか確認します。
まとめ
RESTを自分で発行して仮想マシンを展開することでAzure CLIなどがどのように内部で動作しているかが見えてくると思います。勉強がてら確認してみるとよいと思います。また、問題が発生した場合にはデバックもやり易くなると思います。