Azure Automation はよく利用される自動化ツールです。何回かに分けてブログで Azure Automation について説明します。
近頃では、自動化は、ITサービス業界 (DevOps だけでなく、ITOps や SysAdmins でも) にいる人間なら習得すべき重要なスキルと見なされています。自動化を、乗車しなかったら、置き去りにされるか、悪くしたら轢かれてしまいかねない列車に例える人もいます。
自動化のテクニックを身につけて自身のスキルセットをアップグレードすると、部門内での評価も上がり、部門だけでなく会社全体における貴重な人材として存在価値が高まるかもしれません。
Azure Automation とは
Azure Automation は、Azure で利用可能なサービスの1つです。仮想マシンや物理マシンを使用することなく、PowerShell スクリプトを展開および実行できます。
Azure Automation を使用すると、サーバーなしでスクリプトを展開できます。タスクスケジューラを設定する必要もありません。また、資格情報をプレーンテキストファイルに保存することはせずアセットとして保存するので、資格情報が侵害されてしまうリスクを排除できます。
Azure Automation を使用するべきケース
Azure Automation を使用するのに適したケースはいくつかあります。次のような場合は、検討してみるべきでしょう。
- タスクがユーザーの操作を必要としない場合
- タスクが繰り返し行われる場合
昨今では、自動化を考慮すべきでないようなタスクは少なくなっています。自動化は難しいと思われるようなタスクも、少し創意と工夫を凝らせば、たいていは自動化できるものです。
継続的な使用と実践を通して、やがて、どういった場合に Azure Automation を使用するのが適切か、より確実に判断できるようになります。
Azure Automation を利用するために必要なもの
このシリーズでは、例を添えて説明していきます。効果的にフォローするには、次のものが必要です。
- Azure に関する実用的な知識
- PowerShell スクリプトを理解し、読み書きできる能力
- Azure サブスクリプション (持っていない場合は、無料アカウントを試すことができます)
- PowerShell 5.1 (またはそれ以上) が使えるコンピュータ
- Azure PowerShell モジュール (まだインストールされていない場合は、Azure PowerShell モジュールのインストールのページを参照してください)
このシリーズでは、Visual Studio Enterprise サブスクリプションを使用して、Azure Automation で動作する例を紹介します。
また、可能であれば、Azure Portal と PowerShell を使用して例示します。ポータルの方を好む人もいるかもしれませんが、PowerShell を使用することを強くお勧めします。
Azure へのログイン
Azure Automation で何かをしようとしたら、まず Azure にログインする必要があります。ログインするには2つの方法があります。
- Graphical User Interface (GUI)
- PowerShell
Azure Portal と Azure Portal Desktop App は、どちらも GUI ベースであり、唯一の違いは、Azure Portal Desktop App が専用アプリを使用して Azure Portal にアクセスするのに対して、Azure Portal は Web ブラウザを使用してアクセスされることだけです。
ポータルを使用してログイン
任意のブラウザを使用して、https://portal.azure.com に移動します。ログイン資格情報を求められますので、ユーザー名を入力し、[Next] をクリックします
[ユーザー名を入力して Next をクリック]
次に、パスワードの入力を求められますので、入力して [Sign in] をクリックします
[パスワードを入力して、Sign in をクリック]
そうすると、Microsoft Azure ホームページに移行します
[Microsoft Azure ホームページ]
PowerShell を使用してログイン
Azure で PowerShell を使用する前に、Az PowerShell モジュールがインストールされていることを確認してください。これがインストールされていないと、PowerShell で Azure コマンドを使用できません。
PowerShell セッションを開き、以下のコマンドを使用して Azure にログインします。
Connect-AzAccount
Azure Portal を使用してログインする場合と同様に、ユーザー名の入力を求められ、次にパスワードの入力を求められます
[ユーザー名を入力して Next をクリック]
[パスワードを入力して、Sign in をクリック]
ログインに成功すると、PowerShell コンソールに次のように表示されます
[Azure へのログイン完了]
Azure Automation のリソースについて
Azure Automation には、5つの自動化リソースがあり、よく理解しておく必要があります。5つのリソースは以下の通りです。
サブスクリプション
Azure を使用するには、サブスクリプション料を支払う必要があります(無料トライアルは別として)。使用者はリソースを所有しておらず、サブスクリプションの一部としてリソースを使用することを許可されているという点は、しっかり押さえておいてください。
リソースグループ
リソースグループは、仮想マシン、IPアドレス、DNSゾーンなどの Azure リソースを論理的にグループ化するために使用されます。これらのリソースグループは、サブスクリプションに属するか、サブスクリプションの下で作成されます。
Automation アカウント
このリソースは、Azure Automation に特有のものです。リソースグループ内に作成されます。論理コンテナとして機能するので、リソースグループに似ていますが、Azure Automation に特定されています。
RunBook
Runbook は、Azure で実行される PowerShell スクリプトです。自動化プロジェクトの中心になります。
アセット
Automation アカウントに格納されているアイテムであり、Runbook がアクセスし、使用するものです。資格情報、変数、スケジュールなどです。
新しい Azure Automation アカウントの作成
前述のように、Automation アカウントはリソースグループ内に作成され、リソースグループは特定のサブスクリプションの下に属します。
Automation アカウントを作成する場合、複数のサブスクリプションがあれば、まずどのサブスクリプションを使用するかを決めます。そして、既存のリソースグループを使用するのか、新しいリソースグループを作成するのかを検討する必要があります。
以下では、Azure Portal と PowerShell を使用して Automation アカウントを作成する方法を示します。
Azure Portal を使用して Automation アカウントを作成まず、Azure Portal にログインします。ログインしたら、[Create a resource] ボタンをクリックします。
['Create a resource' をクリック]
Azure Marketplace で、‘Automation’ を検索します
[‘Automation’ を検索]
Automation アカウントを作成するページが表示されたら、[Create] をクリックします
[‘Create’ ボタンをクリック]
[Add Automation Account] フォームが表示されます。
- Automation アカウントに名前を付けます。ここでは Azure-AAという名前を使用することにします。
- 次に、使用するサブスクリプションを選択します。この例では、Visual Studio Enterpriseを使用します。
- [Create new] リンクをクリックして、Automation アカウントが作成される新しいリソースグループを作成します。
- 新しいリソースグループの名前を入力します。ここでは Azure-AA-RGを使用します。
- [OK] をクリックします
[名前とサブスクリプションを入力し、リソースグループを作成]
- 適切なロケーションを選択します。この例では East US 地域を選択しています。
- [Create] をクリックします
[ロケーションを選択]
ここで、Automation アカウントが作成されるのを待ちます。Automation アカウントが作成されたら、[All resources] をクリックして、リソースとして Automation アカウントがリストされていることを確認できます。
[‘All Resources’ をクリック]
[新しい Azure Automation アカウントが作成されています]
PowerShell を使用して Automation アカウントを作成
最初のステップは、使用するAzureサブスクリプションを選択することです。
PowerShell を開き、Azure に接続します。次のコマンドを使用して Azure サブスクリプションを選択します。
Get-AzSubscription
Select-AzSubscription <subscription name>
[Azure サブスクリプションを選択]
次に、新しい Azure Automation アカウントが作成されるリソースグループを作成します。
下のコマンドは、Azure-AA-RG という名前のリソースグループを、EastUs リージョンに作成します。
New-AzResourceGroup -Name 'Azure-AA-RG' -Location 'EastUS'

[新しいリソースグループの作成]
次に、Azure Automation アカウントを作成します。以下のコマンドは、Azure-AA という名前の Automation アカウントを作成します。場所は EastUS で、リソースグループ Azure-AA-RG 内にあります。
New-AzAutomationAccount -Name 'Azure-AA' -Location 'EastUS' -ResourceGroupName 'Azure-AA-RG'

[新しい Azure Automation アカウントの作成]
まとめ
このブログでは、Portal と PowerShell を使用して Azure にログインする方法と、新しい Azure Automation アカウントを作成する方法を説明しました。また、Azure Automation リソースについても説明しました。
次回は、Azure Automation Runbook を作成する方法を紹介する予定です。