Azure VM Image Builder を使用する
VM Image Builder は、Azure リソース プロバイダーがアクセスできるフル マネージド Azure サービスです。 リソース プロバイダーは、ソース イメージ、実行するカスタマイズ、および新しいイメージを配布する場所を指定することで、そのサービスを構成します。 大まかなワークフローを図に示します。
テンプレート構成を渡すには、Azure PowerShell、Azure CLI、または Azure Resource Manager テンプレートを使用するか、VM Image Builder DevOps タスクを使用します。 構成をサービスに送信すると、Azure によってイメージ テンプレート リソースが作成されます。 イメージ テンプレートのリソースが作成されると、ステージング リソース グループが、IT_\<DestinationResourceGroup>_\<TemplateName>_\(GUID)
の形式でサブスクリプションに作成されます。 ステージング リソース グループには、ScriptURI プロパティの File、Shell、PowerShell カスタマイズで参照されるファイルとスクリプトが含まれています。
ビルドを実行するには、VM Image Builder テンプレート リソースで Run を呼び出します。 その後、サービスは、VM、ネットワーク、ディスク、ネットワーク アダプターなどのビルドに必要な追加リソースをデプロイします。
既存の仮想ネットワークを使用せずにイメージをビルドする場合、VM Image Builder はパブリック IP とネットワーク セキュリティ グループもデプロイします。 VM Image Builder は、Secure Shell (SSH) または Windows リモート管理 (WinRM) プロトコルを使用してビルド VM に接続します。
既存の仮想ネットワークを選択した場合、サービスは Azure Private Link 経由でデプロイされ、パブリック IP アドレスは必要ありません。 詳細については、VM Image Builder のネットワークの概要に関するページをご覧ください。
ビルドが完了すると、ステージング リソース グループとストレージ アカウントを除くすべてのリソースが削除されます。 イメージ テンプレート リソースを削除することでそれらを削除することも、ビルドを再度実行するためにその場所に残しておくこともできます。
複数の例、ステップ バイ ステップ ガイド、構成テンプレート、およびソリューションについては、VM Image Builder GitHub リポジトリにアクセスしてください。
セキュリティ
イメージをセキュリティで保護するために、VM Image Builder は次のことを実現します。
- ベースライン イメージ (つまり、最低限のセキュリティと会社の構成) を作成し、他の部門がそれらをさらにカスタマイズできるようにします。 これらのイメージは、VM Image Builder を使用して、最新のパッチが適用されたバージョンのソース イメージを使用してゴールデン イメージをすばやく再構築することにより、安全にコンプライアンスを維持できます。 VM Image Builder では、Azure Windows のセキュリティ ベースラインを満たすイメージも簡単に作成できます。 詳細については、「VM Image Builder - Windows ベースライン テンプレート」を参照してください。
- カスタマイズ成果物を公的にアクセス可能にすることなくフェッチできます。 VM Image Builder は、Azure Managed Identityを使用してこれらのリソースを取得でき、Azure ロールベースのアクセス制御 (Azure RBAC) を使用してこの ID の権限を必要に応じて厳しく制限することができます。 成果物の機密性を維持し、承認されていないアクターによる改ざんを防ぐことができます。
- カスタマイズ成果物のコピー、一時的なコンピューティングおよびストレージ リソース、およびそれらの結果のイメージはすべて、Azure RBAC によってアクセスが制御されるので、サブスクリプション内に安全に格納されます。 このレベルのセキュリティは、カスタマイズされたイメージの作成に使用されるビルド VM にも適用されます。これは、カスタマイズのスクリプトとファイルが不明なサブスクリプション内の不明な VM にコピーされるのを防ぐために役立ちます。 さらに、ビルド VM に分離された VM のプランを使用することで、他のお客様のワークロードからの高度な分離を実現することもできます。
- VM Image Builder を既存の仮想ネットワークに接続し、DSC (Desired State Configuration) プル サーバー、Chef、Puppet、ファイル共有、その他のルーティング可能なサーバーやサービスなどの既存の構成サーバーと通信できるようにすることができます。
- VM Image Builder ビルド VM (これはサブスクリプション内に VM Image Builder サービスによって作成され、イメージのビルドとカスタマイズに使用される VM です) にユーザー割り当て ID を割り当てるように構成することができます。 その後、カスタマイズ時にこれらの ID を使用して、サブスクリプション内のシークレットを含む Azure リソースにアクセスできます。 VM Image Builder にこれらのリソースへの直接アクセスを割り当てる必要はありません。
OS のサポート
VM Image Builder は、すべてのAzure Marketplace 基本オペレーティング システム イメージを操作するように設計されています。
Note
ポータル内でカスタム イメージのビルドと検証を開始しましょう。
機密 VM とトラステッド起動のサポート
VM Image Builder では、TrustedLaunchSupported イメージと ConfidentialVMSupported イメージのサポートが拡張されており、特定の制約があります。 制約の一覧を次に示します:
SecurityType | サポートの状態 |
---|---|
TrustedLaunchSupported | イメージ ビルドのソース イメージとしてのサポート |
ConfidentialVMSupported | イメージ ビルドのソース イメージとしてのサポート |
TrustedLaunch | ソース イメージとしてサポートされていません |
ConfidentialVM | ソース イメージとしてサポートされていません |
Note
TrustedLaunchSupported イメージを使用する場合は、ソースと配布の両方がサポートされるためには TrustedLaunchSupported である必要があります。 ソースが正常で、配布が TrustedLaunchSupported の場合、またはソースが TrustedLaunchSupported で、配布が通常の Gen2 である場合は、サポートされません。