Azure PowerShell がタスクに適したツールであるかどうかを判断する

完了

顧客関係管理 (CRM) システムの Azure リソースをデプロイして管理するツールを選択する必要がある場合を想像してください。 テストの場合は、テスト イテレーションごとにリソース グループと仮想マシン (VM) を作成する必要があります。

管理者が簡単に学習でき、複数の仮想マシンのインストールと構成を自動化するのに十分な強力なツールを探しています。 複数のツールが候補になっており、ここでの目標は、管理者がクラウド インフラストラクチャ全体のデプロイを効率的にスクリプト化するための最適なツールを見つけることです。

使用できるツール

Azure には、次の 3 つの管理ツールが用意されています。

  • Azure Portal
  • Azure PowerShell
  • Azure CLI

これらのツールは、同じデプロイと構成の機能を提供し、3 つのいずれかを使用して任意のタスクを実行できます。 これらはすべて、Windows、Linux、macOS で利用できます。 ただし、構文、設定要件、自動化のサポートについては違いがあります。

このユニットの残りの部分では、これらの各ツールについて説明し、ニーズに最適なものを選択する方法に関するガイダンスを提供します。

Azure portal

Azure portal は、Azure サブスクリプション内のリソースを作成、構成、管理できる Web ベースのインターフェイスです。 グラフィカル ユーザー インターフェイス (GUI) として、複雑な管理タスクを支援するウィザードとツールヒントを使用して、リソースを見つけて管理するためのユーザー フレンドリな方法を提供します。

ただし、Azure portal には、反復的なタスクに対する自動化機能がありません。 たとえば、15 個の VM を設定する必要がある場合は、それぞれを個別に作成し、各 VM のウィザードを完了する必要があります。 この方法では、タスクがより複雑な場合、処理に時間がかかり、エラーが発生しやすくなります。

Azure PowerShell

Azure PowerShell は、Azure リソースを管理するための PowerShell コマンドレットを提供するモジュールのコレクションです。 これには、コマンド ライン シェルであり、スクリプト言語でもある PowerShell が必要です。

たとえば、Azure PowerShell には、Azure サブスクリプションに仮想マシンを作成するための New-AzVM コマンドレットが用意されています。 これを使用するには、PowerShell を起動し、次のコマンドを実行します。

$azVmParams = @{
    ResourceGroupName = 'CrmTestingResourceGroup'
    Name              = 'CrmUnitTestVm'
    Image             = 'Ubuntu2204'
}
New-AzVm @azVmParams

Azure PowerShell は、Azure Cloud Shell を介したブラウザー内、または Windows、Linux、または macOS でのローカル インストールの 2 つの方法で利用できます。 PowerShell を対話形式で使用したり、PowerShell から Azure PowerShell コマンドを実行したり、複数のコマンドで構成されるスクリプトを作成して実行したりできます。

Azure CLI

Azure CLI は、Azure リソースを管理できるクロスプラットフォームのコマンド ライン ツールです。 たとえば、次のコマンドを使用して仮想マシンを作成できます (この例では Bash 行継続文字を使用します)。

az vm create \
    --resource-group CrmTestingResourceGroup \
    --name CrmUnitTestVm \
    --image Ubuntu2204

Azure CLI も、Azure Cloud Shell 経由のブラウザー内、または Windows、Linux、または macOS でのローカル インストールの 2 つの方法で利用できます。 これを対話形式で使用するには、シェル (Bash、PowerShell、cmd.exe など) を起動し、プロンプトでコマンドを入力します。 または、選択したシェルの構文を使用してコマンドをシェル スクリプトに組み込むことで、反復的なタスクを自動化することもできます。

管理ツールを選択する方法

いくつかの例外を除き、Azure portal で実行できるタスクは、Azure PowerShell または Azure CLI を使用して実行することもできます。 ニーズに最も適したツールを選択する際に考慮すべきいくつかの要素を次に示します。

  • 自動化:複雑なタスクまたは反復的なタスクを自動化する必要はありますか。 Azure PowerShell と Azure CLI では自動化をサポートしていますが、Azure portal ではサポートしていません。

  • 学習曲線:新しいコマンドや構文を習得することなく、すぐにタスクを完了する必要がありますか。 Azure portal はユーザー フレンドリで、コマンドや構文を学ぶ必要がありません。 これに対し、Azure PowerShell と Azure CLI では、コマンド シェルの構文と各コマンドの特定の要件を理解する必要があります。

  • チームのスキルセット:チームには既存の専門知識がありますか。 たとえば、チームが既に PowerShell を使用して Windows、Exchange Server、Microsoft 365 などの他の製品を管理している場合、Azure PowerShell がより快適で効率的な選択肢であると考えられます。

CRM アプリケーションをデプロイしてテストするための管理ツールを選択するシナリオを思い出しましょう。 管理者には、完了する特定の Azure のタスクが 2 つあります。

  1. テストのカテゴリ (ユニット テスト、統合テスト、および受け入れテスト) ごとに 1 つのリソース グループを作成します。
  2. 各テスト ラウンドの前に、個々のリソース グループに複数の VM を作成します。

Azure portal は、リソース グループを作成するには適切な選択肢です。 これらのタスクは 1 回限りであるため、作成のためにスクリプトは必要ありません。

ほとんどの管理者は Azure portal で Azure の機能を初めて使用します。 ポータルには、Azure リソースを管理するための適切に整理されたグラフィカル インターフェイスが用意されており、優れた出発点となります。 ただし、ポータルでは自動化はサポートされていません。これは、週に数回、複数の VM を作成するなどの反復的なタスクには不可欠です。

Azure の自動化には、次の 2 つのオプションがあります。

  • Azure PowerShell
  • Azure CLI

どちらのツールもニーズを満たしますが、PowerShell に関する知識がチームに既にある場合は、Azure PowerShell が最適な選択肢になる可能性があります。

通常、実際の業務には 1 回限りのタスクと反復的なタスクが混在しているため、多くのケースで、Azure portal とスクリプト ソリューションの両方が使用されます。 CRM の例では、Azure portal を使用してリソース グループを作成し、Azure PowerShell を使用して VM の作成を自動化するのが妥当なアプローチです。

このモジュールの残りの部分では、自動化ツールとして Azure PowerShell を選択したことを前提としています。