マネージド DevOps プールと Azure Virtual Machine Scale Set エージェントの比較
手記
Azure DevOps では、可能であれば、カスタム エージェント プール シナリオに対してマネージド DevOps プールと Azure Virtual Machine Scale Set エージェントを使用することをお勧めします。
機能の比較
次の表では、Managed DevOps プールとスケール セット エージェントの機能を比較します。
特徴 | 管理されたDevOpsプール | Azure 仮想マシン スケール セット エージェント プール |
---|---|---|
価格設定 | Managed DevOps プールとスケール セット エージェントの価格は同じです。 詳細については、「価格」を参照してください。 | Managed DevOps Pools の価格と同じ |
仮想マシンのホスティング | エージェントは、Microsoft Azure サブスクリプション で実行されます | エージェントは Azure サブスクリプションで実行されます |
待機エージェントのスケジュール | さまざまな時間に使用可能なスタンバイ エージェントの数と自動スタンバイ エージェント オプションを構成する柔軟なスケジュール オプションを提供します | 1 つのスタンバイ エージェント数の設定をサポートします (Managed DevOps Pools All Week Schemeと同等) |
スケーリング粒度 | スケールアウトは 1 単位で行われます | スケールアウトはプールの最大サイズに対する割合で増加させます。その結果、余分なアイドル状態のエージェントが発生し、その分が課金される可能性があります。 |
プール サイズ | 何千ものエージェントのサポート | 数百のエージェントのサポート |
複数の画像 | プール内の複数のイメージのサポート | 1 つのイメージのみをサポート |
Quota | クォータはマネージド DevOps プール リソース専用であり、サブスクリプション内の他のサービスと共有されません | サブスクリプション内の他のサービスと共有されているコンピューティング クォータを使用します |
仮想ネットワークのサポート | プライベート ネットワークでの実行または既存の仮想ネットワークへの参加のサポート | サポート対象 |
イメージのサポート | Azure パイプライン イメージ (Windows および Linux 用の Microsoft がホストするエージェント イメージと同じ)、選択した Azure Marketplace イメージ、Azure コンピューティング ギャラリー イメージ | Azure Marketplace イメージとカスタム イメージ |
VMSS 拡張機能スクリプト | サポートされていませんが、必要なソフトウェアを使用してカスタム イメージを構成できます | パイプライン ジョブの実行を開始する前に、エージェントでカスタム スクリプトを実行できます |
Azure Key Vault の統合 | Azure Key Vault 証明書をエージェントに自動的にダウンロードする | Key Vault 証明書は、カスタム イメージにプレインストールすることも、タスクまたは VMSS 拡張機能スクリプトを使用してダウンロードすることもできます |
複数の組織 | 複数の Azure DevOps 組織でプールを使用し、必要に応じてプールを特定のプロジェクトに制限するサポート | 単一の Azure DevOps 組織をサポート |
ステートレス エージェント | サポートされている | Windows Server および選択した Linux イメージでサポート |
ステートフル エージェント | サポート対象 | サポート対象 |
スポット仮想マシンのサポート | 製品ロードマップについて | サポートされていません |
コンテナー | もうすぐです | サポートされていません |
BCDR | 製品ロードマップ: プライマリ プールの正常性が低下したときにバックアップ プールに要求を自動的に送信するようにプライマリ プールのバックアップ プールを構成する機能があります | 可用性セットとゾーンのサポート |
スケール セット エージェント設定を Managed DevOps プールにマッピングする
スケール セット エージェント プールの設定を同等のマネージド DevOps プールにマッピングすることで、Azure 仮想マシン スケール セット エージェント プールと同じ動作で Managed DevOps プールを構成できます。 次の表に、スケール セット エージェント プールのプロパティと、同等の動作を構成する対応する Managed DevOps Pools プロパティを示します。
スケールセット エージェントの設定 | マネージド DevOps プールの設定 |
---|---|
使用するたびに仮想マシンを自動的に破棄する | すべてのジョブのために毎回新しいエージェントが必要な場合は、ステートレスプール を選択してください(使用後に仮想マシンを自動的に破棄します)。永続的なエージェントが必要な場合は、ステートフルプール を選択してください。 |
調査用に異常なエージェントを保存する | Managed DevOps プールでは使用できません |
スケール セット内の仮想マシンの最大数 | 最大エージェント数 |
スタンバイ状態を維持するエージェントの数 | スケール セット エージェントと同じ動作をする [すべての週のスキーム] を選択する、または 柔軟なスケジュールを構成する、もしくは [自動スタンバイ エージェントのスケジュール設定] を選択する |
余分な待機エージェントを削除するまでの遅延(分) | ステートフル プールの猶予期間 |
対話型テストを実行するように VM を構成する | 対話型モード を有効にする |
料金設定
マネージド DevOps プールと Azure 仮想マシン スケール セット エージェントの価格は、同じ方法で計算され、次の 2 つのコンポーネントがあります。
Azure DevOps のセルフホステッド並列ジョブの価格 - Azure DevOps は、並列ジョブとしてのパイプライン ジョブを同時に実行する機能を指します。 マネージド DevOps プールと Azure 仮想マシン スケール セット エージェントの両方で、セルフホステッド並列ジョブが使用されます。 各並列ジョブでは、パイプライン ジョブを実行できます。 2 つのパイプライン ジョブを同時に実行するには、2 つの並列ジョブが必要です。 並列ジョブの詳細については、「マネージド DevOps プールの価格 - 並列ジョブの価格」および「並列ジョブの構成と支払い」を参照してください。
Azure サービスの価格 - マネージド DevOps プールおよび Azure 仮想マシン スケール セット エージェントの Azure サービスの価格は、コンピューティング、ストレージ、データ エグレスなど、プールで使用される Azure サービスのコストによって決まります。
柔軟なスタンバイ エージェントのスケジュール設定やより詳細なスケーリングなど、一部のマネージド DevOps プール機能では、ジョブを待機しているアイドル 状態のエージェントの数を減らすことができます。 複数のイメージと SKU をサポートすることで、1 つのイメージまたは SKU に制限されるのではなく、ワークロードをサポートするために適切なサイズの Azure リソースを選択できます。