パソコン関連の書籍等を読んで試したりしながらアウトプットしまくります。

アウトプットしながら学ぶ

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© アウトプットしながら学ぶ , 2024 AllRights Reserved Powered by AFFINGER4.