Azure Active Directory Microsoft Azure Virtual Machines

VB.net、C#.netでAzure Virtual Machineを起動、停止させる方法

投稿日:

VB.net、C#.netでAzure Virtual Machineを起動、停止させる方法に関して記述します。
今まで、24時間稼働させて、定期的に処理をさせていたのですが、1日1回だけ仮想マシンを起動させて、一連の処理が完了したら、自分から停止済み停止済み (割り当て解除)することで節約しようと考えました。
サイズがA0 Standardなので、月1750円くらいなので、1時間あたり2.5円程度です。
1日1時間で処理が終わるのなら、月75円なので、1675円の節約になります。

スポンサーリンク




まずは、Nugetパッケージの管理で「Microsoft.Azure.Management.Fluent」をインストールします。
コード以外の部分は、VB.netとC#.netで全く同じです。

 

 

プロジェクト→Nugetパッケージの管理
「参照」をクリック

検索欄に「Microsoft.Azure.Management.Fluent」と入力

一番上のものを選択して「インストール」をクリック

 

「同意する」をクリック

今回は、実行ファイルと同じフォルダに「azureauth.properties」というテキストファイルを置いて、
その中に、Azureに接続するための資格情報を記述します。

azureauth.propertiesの中身は以下です。

subscription=[サブスクリプション ID]
client=[アプリケーション (クライアント) ID]
key=[クライアント シークレットの値]
tenant=[ディレクトリ (テナント) ID]
managementURI=https://management.core.windows.net/
baseURL=https://management.azure.com/
authURL=https://login.windows.net/
graphURL=https://graph.windows.net/

今回は、コードだけ記述しますが、実際には、以下の手順が必要です。

Azure Active Directoryにアプリを登録

アプリケーションをロールに割り当てる

証明書の作成

証明書のアップロード、クライアントシークレットの追加

これ内容に関しては、次の記事で説明しています。

VB.net、C#.netでAzureのサービスと連携するためのアプリの資格情報を設定する方法

VB.netでAzure Virtual Machineを起動、停止させる方法

Importsステートメントに以下を追加します。

Imports Microsoft.Azure.Management.Compute.Fluent.Models
Imports Microsoft.Azure.Management.Fluent
Imports Microsoft.Azure.Management.ResourceManager.Fluent
Imports Microsoft.Azure.Management.ResourceManager.Fluent.Core

以下のコードでコントロールできます。

C#.netでAzure Virtual Machineを起動、停止させる方法

usingステートメントに以下を追加します。

using Microsoft.Azure.Management.Compute.Fluent.Models;
using Microsoft.Azure.Management.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent.Core;

以下のコードでコントロールできます。

非同期で処理したい場合

非同期で処理したい場合は、次のようにコードを変更すればよいです。

‘Virtual Machineを開始したり停止したりするコード
‘開始になります。
vm.StartAsync()
‘停止済みになります。
vm.PowerOffAsync()
‘停止済み (割り当て解除)になります。
vm.DeallocateAsync()







-Azure Active Directory, Microsoft Azure, Virtual Machines

Copyright© パソコンが好き , 2019 AllRights Reserved Powered by AFFINGER4.