Azure Automation とは
クラウド運用には、次の 3 つの広範な領域で自動化が必要です。
- デプロイと管理 - 反復可能で一貫性のあるインフラストラクチャとしてのコードを提供します。
- 応答 - 問題を診断して解決するための、イベントベースの自動化を作成します。
- 調整 - 他の Azure サービスおよび製品やサード パーティのサービスおよび製品との間で調整を行い、統合します。
Azure Automation は、Azure 環境と非 Azure 環境の全体で一貫性ある管理をサポートするクラウドベースの自動化、オペレーティング システムの更新、および構成サービスを提供します。 プロセスの自動化、構成管理、更新管理、共有機能、および異種環境機能が含まれます。
上記の要件を実現する Azure サービスは複数あります。各サービスには一連の機能が含まれており、クラウド ソリューションを構築するためのプログラミング可能なプラットフォームとしての役割を果たします。 たとえば、Azure Bicep と Resource Manager には、Azure リソースのデプロイに使用する反復可能で一貫性のあるテンプレートを開発するための言語が用意されています。 Azure Automation はそのテンプレートを処理することで Azure リソースをデプロイし、デプロイ後の一連の構成タスクを処理できます。
Automation を使用することで、エンタープライズのワークロードとリソースのデプロイ、運用、使用停止を完全に制御できます。
プロセスの自動化
頻繁に発生し、時間がかかり、エラーが発生しやすい管理タスクは、Azure Automation のプロセス オートメーションで自動化することができます。 このサービスを利用して、ビジネスの価値を高める作業に集中できます。 また、エラーを減らして効率性を向上できるため、運用コストの削減にも役立ちます。 プロセス オートメーションの運用環境について詳しくは、「Azure Automation での Runbook の実行」を参照してください。
プロセス オートメーションでは、エンド ツー エンドのプロセスのデプロイ、構成、管理に必要なサード パーティ システムと Azure サービスを統合することができます。 このサービスを使用すると、グラフィック、PowerShell、または Python の Runbook を作成できます。 Windows または Linux マシン上で直接 Runbook を実行したり、オンプレミスまたは他のクラウド環境のリソースに対して Runbook を実行してそれらのローカル リソースを管理するには、Hybrid Runbook Worker をマシンにデプロイします。
要求は Webhook によって実行することができます。Azure Logic Apps、Azure 関数、ITSM 製品またはサービス、DevOps、および監視システムからオートメーションをトリガーすることによって、継続的デリバリーと運用が確保されます。
構成管理
Azure Automation の構成管理は、Azure Automation の State Configuration 機能によってサポートされています。
Azure Automation State Configuration
Azure Automation State Configuration は、PowerShell DSC (Desired State Configuration) 用のクラウドベースの機能であり、エンタープライズ環境に必要なサービスを備えています。 この機能を使用すると、DSC リソースを Azure Automation で管理し、Azure クラウド内の DSC プル サーバーから仮想マシンおよび物理マシンに構成を適用できます。
共有機能
Azure Automation には、共有リソース、ロールベースのアクセス制御、柔軟なスケジューリング、ソース管理統合、監査、タグ付けなど、さまざまな共有機能が用意されています。
共有リソース
Azure Automation は、環境を大きな規模で容易に自動化して構成できるようにする一連の共有リソースで構成されます。
- スケジュール - あらかじめ定義されている時刻にオートメーション操作をトリガーします。
- モジュール - Azure やその他のシステムを管理します。 モジュールは、Microsoft、サード パーティ、コミュニティ、カスタム定義コマンドレット、および DSC リソース用の Automation アカウントにインポートできます。
- モジュール ギャラリー - PowerShell ギャラリーとのネイティブな統合をサポートします。Runbook を表示してそれらを Automation アカウントにインポートすることができます。 PowerShell ギャラリーと Microsoft スクリプト センターからプロセスの統合と作成をすぐに開始できます。
- Python 2 および 3 パッケージ - Automation アカウントでは、Python 2 および 3 Runbook がサポートされます。
- 資格情報 - Runbook と構成で実行時に使用される可能性がある秘匿性の高い情報を安全に格納します。
- 接続 - システムへの接続に使用される一般的な情報の名前と値の組を格納します。 実行時に Runbook と構成内で使用される接続をモジュールの作成者が定義します。
- 証明書 - デプロイされたリソースに対し、Runbook または DSC 構成が実行時にアクセスする際の認証とセキュリティ保護に使用される情報を定義します。
- 変数 - Runbook と構成間で使用できるコンテンツを保持します。 Runbook またはそれらを参照する構成を変更することなく、変数の値を変更できます。
ロールベースのアクセス制御
Azure Automation では、Automation アカウントとそのリソースへのアクセスを制限する Azure ロールベースのアクセス制御 (Azure RBAC) がサポートされています。 Automation アカウント、Runbook、ジョブに対する Azure RBAC の構成について詳しくは、Azure Automation におけるロールベースのアクセス制御に関するページを参照してください。
ソース管理の統合
Azure Automation では、ソース管理の統合がサポートされます。 Runbook または構成をソース管理システムにチェックインできる場面で、構成をコードに昇格させることができます。
異種環境のサポート (Windows と Linux)
Automation は、企業ネットワーク上の Windows および Linux 物理サーバー、または他のクラウド プロバイダーの Azure 以外の仮想マシンにまたがって動作するように設計されています。 デプロイされたワークロードとそれらが実行されるオペレーティング システムとを自動化、構成する一貫した方法が実現されています。 Azure Automation の Hybrid Runbook Worker 機能により、ロールをホストしている Azure 以外の物理サーバーまたは仮想マシン上で直接、環境中のリソースに対して Runbook を実行することで、それらのローカル リソースを管理できます。
Arc 対応サーバーを使用すると、Azure 以外のマシンに対して一貫したデプロイおよび管理エクスペリエンスが提供されます。 VM 拡張機能フレームワークを使用して Automation サービスとの統合が可能になるため、Hybrid Runbook Worker ロールをデプロイし、Update Management や変更履歴とインベントリへのオンボードを簡略化することができます。
一般的なシナリオ
Azure Automation は、インフラストラクチャとアプリケーションのライフサイクル全体にわたる管理をサポートします。 一般的なシナリオは、次のとおりです。
- タスクのスケジュール - VM またはサービスを夜間に停止して日中に稼働させ、週ごと、または月ごとの定期的なメンテナンス ワークフローを実行します。
- リソースのビルドとデプロイ - Runbook と Azure Resource Manager テンプレートを使用して、ハイブリッド環境全体に仮想マシンをデプロイします。 Jenkins や Azure DevOps などの開発ツールに統合します。
- 定期的なメンテナンス - 古くなったまたは古いデータの消去、SQL データベースのインデックスの再作成など、設定された間隔で行う必要があるタスクを実行します。
- アラートへの応答 - コストベース、システムベース、サービスベースのアラートや、リソース使用率に関するアラートが生成された場合の応答を調整します。
- ハイブリッド自動化 - オンプレミスのサーバーとサービス (SQL Server、Active Directory、SharePoint Server など) を管理または自動化します。
- Azure リソースのライフサイクル管理 - IaaS および PaaS サービス向け。
- リソースのプロビジョニングとプロビジョニング解除。
- ビジネス ルールごとに正しいタグ、ロック、NSG、UDR を追加します。
- リソース グループの作成、削除、更新。
- コンテナー グループを開始します。
- DNS レコードを登録します。
- 仮想マシンを暗号化します。
- ディスクを構成します (ディスク スナップショット、古いスナップショットの削除)。
- サブスクリプション管理。
- コストを節約するためにリソースを開始および停止します。
- 監視と統合。(Azure Monitor を介して) ファースト パーティまたはサード パーティの外部システムを使用。
- リソースの作成と削除の操作が SQL にキャプチャされていることを確認します。
- リソースの使用状況データを Web API に送信します。
- ServiceNow、Event Hub、New Relic などに監視データを送信します。
- Azure リソースに関する情報を収集して格納します。
- SQL 監視チェックとレポートを実行します。
- Web サイトの可用性を確認します。
- Dev/Test 自動化のシナリオ - リソースの開始と停止、リソースのスケーリングなど。
- ガバナンス関連の自動化 - タグ、ロックなどを自動的に適用または更新します。
- Azure Site Recovery - Site Recovery DR ワークフローで定義されている事前および事後スクリプトを調整します。
- Azure Virtual Desktop - 使用率に基づいて VM のスケーリングを調整したり、VM を開始または停止したりします。
- VM の構成 - インフラストラクチャとアプリケーションに適した構成を使用して Windows マシンと Linux マシンを評価、構成します。
- インベントリの取得 - ターゲット設定、レポート作成、コンプライアンスを目的に、デプロイされたリソースの完全なインベントリを取得します。
- 変更の検出 - 構成エラーを引き起こす可能性があるマシン変更を識別して分離し、運用上のコンプライアンスを向上させます。 それらを修復するか、管理システムにエスカレートします。
要件に応じて、次の Azure サービスの 1 つ以上が、Azure Automation と統合または Azure Automation を補完して、要件を満たすことができるようにします。
- Azure Arc 対応サーバーを使用すると、Update Management、変更履歴とインベントリ、および Hybrid Runbook Worker ロールへのハイブリッド マシンのオンボードを簡略化できます。
- Azure アラート アクション グループを使用すると、アラートが発生した場合に Automation Runbook を開始できます。
- Azure Monitor では、Automation アカウントからメトリックとログ データを収集して詳細な分析を行い、テレメトリに基づいてアクションを実行します。 Update Management や変更履歴とインベントリなどの Automation 機能は、その機能の要素を提供する Log Analytics ワークスペースに依存しています。
- Azure Policy には、Automation アカウントのさまざまなセキュリティ標準に対するコンプライアンスを確立および維持するのに役立つイニシアチブ定義が含まれています。
- Azure Site Recovery では、Azure Automation Runbook を使用することで、復旧計画を自動化できます。
これらの Azure サービスは、HTTP Webhook または API メソッドを使用して、Automation ジョブおよび Runbook リソースを処理できます。
注意
このサービスは Azure Lighthouse をサポートしているため、サービス プロバイダーは各自のテナントにサインインして、顧客から委任されたサブスクリプションやリソース グループを管理することができます。
Azure Automation の価格
プロセス オートメーションには、Runbook ジョブとウォッチャーが含まれます。 ジョブの課金はその月に使用されたジョブの実行時間 (分) に基づき、ウォッチャーについては、1 か月に使用された時間数に基づきます。 プロセス オートメーションの料金は、ジョブまたはウォッチャーが実行されるたびに発生します。 Basic SKU を使用して Automation アカウントを作成します。サブスクリプションごとに、最初の 500 分のジョブの実行時間は無料になります。 含まれている 500 分の無料ユニットを超える分または時間分のみが課金されます。
Azure Automation に関する価格は、価格ページで確認できます。