承認済みのベースを使用して仮想マシンを作成する
この記事では、Azure を使用して、事前に構成された動作保証済みのオペレーティング システムを含む仮想マシン (VM) を作成する方法について説明します。 これがお使いのソリューションと互換性がない場合は、承認済みのオペレーティング システムを使用して、オンプレミスの VM を作成して構成することができます。
Note
この手順を開始する前に、Azure VM オファーに対する技術要件 (仮想ハードディスク (VHD) の要件を含む) をレビューしてください。
承認済みのベース イメージを選択する
次の Windows または Linux イメージのいずれかをベースとして選択します。
Windows
- Windows Server
- SQL Server 2019、2014、2012
- Windows 11 Enterprise (この基本イメージは、Microsoft Dev Box での使用のみが承認されています)
Linux
さまざまな承認済みの Linux ディストリビューションが Azure から提供されています。 現在のリストについては、「Azure で動作保証済みの Linux ディストリビューション」を参照してください。
Azure portal で VM を作成する
- Azure portal にサインインします。
- [仮想マシン] を選択します。
- ドロップダウン メニューから [+ 作成] と [+ 仮想マシン] を選択して、[仮想マシンの作成] 画面を開きます。
- ドロップダウン リストからイメージを選択するか、または [すべてのイメージを表示] を選択して、使用可能なすべての仮想マシン イメージを検索または参照します。 選択したイメージに応じて、イメージの VM 生成を構成することもできます。
- デプロイする VM のサイズを選択します。
- VM の作成に必要なその他の詳細を指定します。
- [確認と作成] を選択して、選択内容を確認します。 検証に成功のメッセージが表示されたら、[作成] を選択します。
Azure で、指定した仮想マシンのプロビジョニングが開始されます。 左側のメニューで [Virtual Machines] タブを選択して、進捗状況を追跡します。 仮想マシンが作成されると、状態が [実行中] に変更されます。
VM を構成する
このセクションでは、Azure VM のサイズ変更、更新、一般化を行う方法について説明します。 これらの手順は、Azure Marketplace にデプロイする VM を準備するために必要です。
VM に接続する
お使いの Windows または Linux VM に接続する方法については、次のドキュメントを参照してください。
最新の更新プログラムをインストールする
オペレーティング システム VM のベース イメージには、発行日までの最新の更新プログラムが含まれている必要があります。 公開する前に、最新のすべてのセキュリティとメンテナンスの修正プログラムを使用して OS とすべてのインストール済みサービスが更新されていることを確認します。
- Windows Server では、更新プログラムの確認コマンドを実行します。
- Linux ディストリビューションの場合、更新プログラムは通常、コマンド ライン ツールまたはグラフィカル ユーティリティによってダウンロードおよびインストールされます。 たとえば Ubuntu Linux では、OS を更新するための apt-get コマンドおよび Update Manager ツールが提供されています。
追加のセキュリティ チェックを実行する
Azure Marketplace のソリューション イメージのセキュリティは、高いレベルに維持してください。 セキュリティ構成と手順のチェックリストについては、「 Azure Marketplace イメージのセキュリティに関する推奨事項を参照してください。
VM イメージをカスタマイズする
次に、必要なソフトウェアをインストールし、VM にカスタム構成の変更を加え、ソリューションが正しく機能するようにします。これには、デプロイ後に実行する必要のあるスケジュールされたタスクも含まれます。 カスタム変更を行う場合は、次の点を考慮してください。
- 一度だけ実行されるスケジュールされたタスクの場合、タスクが正常に完了した後にタスクそのものを削除する必要があります。
- 構成は、C と D 以外のドライブに依存しないようにする必要があります。これは、存在が必ず保証されるドライブがこれら 2 つのみのためです (ドライブ C はオペレーティング システム ディスク、ドライブ D は一時ローカル ディスクです)。
- ソリューションに必要な技術的な構成の変更を行います。 後で、パートナー センターの [技術的な構成] ページの [プロパティ] セクションで、VM で行う構成にフラグを設定します。 これにより、現在行った構成変更に基づいてサポートされているシナリオが顧客に表示されます。 発行時に、次の技術的な構成プロパティから選択します。
- バックアップのサポート
- 高速ネットワークのサポート
- cloud-init 構成のサポート
- 拡張機能のサポート
- ネットワーク仮想アプライアンス
- リモート デスクトップまたは SSH が無効
- カスタム ARM テンプレートが必要
拡張機能の詳細については、「Linux 用の仮想マシンの拡張機能とその機能」を参照してください。
イメージを汎用化する
Azure Marketplace のすべてのイメージは汎用的な方法で再利用できる必要があります。 これを実現するには、オペレーティング システム VHD を一般化する必要があります。これは、インスタンス固有の識別子とソフトウェア ドライバーを VM からすべて削除する操作です。
Windows の場合
Windows OS ディスクは、sysprep ツールを使用して一般化されます。 後で OS を更新または再構成する場合は、sysprep を再び実行する必要があります。
警告
sysprep を実行した後、更新プログラムが自動的に実行される可能性があるため、VM がデプロイされるまで VM をオフにします。 このシャットダウンで、以降の更新プログラムによるオペレーティング システムまたはインストール済みサービスへのインスタンス固有の変更が行われなくなります。 sysprep の実行の詳細については、Windows VM の一般化に関するページを参照してください。
Note
キャプチャする VM を作成しているサブスクリプションで Microsoft Defender for Cloud (Azure Defender) が有効になっていて、このイメージから作成された VM をエンドポイント ポータルの Defender に登録しない場合は、サブスクリプションまたは VM 自体で Microsoft Defender for Cloud を無効にしてください。 これが無効になっていない場合、Microsoft Defender for Cloud を使用せずに VM が別のテナントにデプロイされている場合でも、このイメージから作成された VM は Defender for Endpoint ポータルに登録されます。
Linux の場合
Azure Linux エージェントを削除します。
- SSH クライアントを使って Linux VM に接続します。
- SSH ウィンドウで、コマンド
sudo waagent –deprovision+user
を入力します。 - 「Y」と入力して続行します (前のコマンドに -force パラメーターを追加すると、この確認手順を省略できます)。
- コマンドが完了したら、「Exit」と入力して SSH クライアントを閉じます。
Microsoft Defender for Endpoint (MDE) がイメージにインストールされている場合は、イメージの OS に応じて次のコマンドを実行して MDE をアンインストールします。
RHEL、CentOS、Oracle:
sudo yum remove mdatp
SLES とバリアント:
sudo zypper remove mdatp
Ubuntu と Debian:
sudo apt-get purge mdatp
船員:
sudo dnf remove mdatp
仮想マシンを停止します。
- Azure portal でリソース グループ (RG) を選択し、VM の割り当てを解除します。
- これで VM が一般化されたため、この VM ディスクを使用して新しい VM を作成できます。
イメージをキャプチャする
Note
後悔するには、Azure Compute Gallery を含む Azure サブスクリプションを公開元アカウントと同じテナントの下に置く必要があります。 また、発行元アカウントには、Azure Compute Gallery を含むサブスクリプションへの共同作成者のアクセス権が少なくとも必要です。
VM の準備ができたら、Azure Compute Gallery (以前の Shared Image Gallery) でそれをキャプチャできます。 キャプチャするには、次の手順に従います。
- Azure ポータルで仮想マシンのページに移動します。
- [キャプチャ] を選択します。
- [Azure Compute Gallery にイメージを公開する] で、[はい、ギャラリーにイメージ バージョンとして共有します] を選択します。
- [Operating system state]\(オペレーティング システムの状態\) で、[一般化] を選択します。
- ターゲット イメージ ギャラリーまたは [新規作成] を選択します。
- ターゲット イメージ定義または [新規作成] を選択します。
- イメージの [バージョン番号] を指定します。
- [確認と作成] を選択して、選択内容を確認します。
- 検証に合格したら、[作成] を選択します。
パートナー センターに Azure コンピューティング ギャラリーへのアクセス許可を付与する
Azure コンピューティング ギャラリーから Azure Marketplace に仮想マシン イメージを発行するには、パートナー センターがギャラリー内でホストされているイメージを取得できるようにアクセス許可を設定する必要があります。
重要
Microsoft では、コンピューティング ギャラリーからイメージを取得するプロセスを、より安全なプロセスに移行しています。 仮想マシン オファーの更新を続行するには、次の手順に従って、次の Microsoft アプリにアクセス権が付与されていることを確認してください。 これらの手順は、Azure Marketplace に発行するために使用されるコンピューティング ギャラリーごとに 1 回実行する必要があります。
前提条件
パートナー センターにアクセス許可を付与するには、次の前提条件が満たされていることを確認する必要があります。
- Azure コンピューティング ギャラリーは、パートナー センター アカウントにリンクされているのと同じ Microsoft Entra テナント内にある必要があります
- コンピューティング ギャラリーが存在するサブスクリプションの Owner である必要があります。
ヒント
パートナー センターに発行する目的で専用のコンピューティング ギャラリーを使用し、この専用ギャラリーにのみアクセス許可を付与することをお勧めします。 サブスクリプション レベルでアクセス許可を付与する必要はありません。
手順 1: サービス プリンシパルをプロビジョニングする
まず、Azure サブスクリプションにサービス プリンシパルをプロビジョニングする必要があります。これは、Microsoft パートナー センター リソース プロバイダー (RP) を登録することによって行われます。 サービス プリンシパルは、イメージを取得するためのコンピューティング ギャラリーへのアクセス権をパートナー センターに提供するために使用される ID です。 この手順では、アクセス権は付与されません。
PowerShell
# Connect to your Azure account
Connect-AzAccount
# Set the subscription to use in the current session. Use the subscription that contains your Azure Compute Gallery.
Set-AzContext -Subscription <SubscriptionId>
# Register the Microsoft Partner Center Resource Provider (RP). This creates the Service Principals in your tenant.
Register-AzResourceProvider -ProviderNamespace Microsoft.PartnerCenterIngestion
# Ensure the Resource Principal is registered successfully.
Get-AzResourceProvider -ProviderNamespace Microsoft.PartnerCenterIngestion
Azure CLI
# Connect to your Azure account
Az login
# Set the subscription to use in the current session. Use the subscription that contains your Azure Compute Gallery.
az account set --subscription <subscriptionId>
# Register the Microsoft Partner Center Resource Provider (RP). This creates the Service Principals in your tenant.
az provider register --namespace
# Ensure the Resource Principal is registered successfully.
az provider show --namespace Microsoft.PartnerCenterIngestion
手順 2: パートナー センターに Azure コンピューティング ギャラリーへのアクセス権を付与する
サービス プリンシパルがプロビジョニングされたら、特定のコンピューティング ギャラリーからイメージを読み取る明示的なアクセス許可を付与する必要があります。 パートナー センターは、イメージを取得するためのより安全なプロセスに移行中です。 この移行中は、仮想マシン オファーの更新を続行できるように、2 つの Microsoft アプリケーションへのアクセス権を一時的に付与することをお願いします。
PowerShell
# Get the Resource Id of your Azure Compute Gallery. The result is the <gallery-id>.
Get-AzGallery -ResourceGroupName <resource-group> -GalleryName <gallery-name>
# Get the service principal object Id for the first Microsoft application. The result is the <sp-id1>.
Get-AzADServicePrincipal -SearchString "Microsoft Partner Center Resource Provider"
# Create a role assignment to the first Microsoft application.
New-AzRoleAssignment -ObjectId <sp-id1> -RoleDefinitionId cf7c76d2-98a3-4358-a134-615aa78bf44d -Scope <gallery-id>
# Get the service principal for the second Microsoft application. The result is the <sp-id2>.
Get-AzADServicePrincipal -SearchString "Compute Image Registry"
# Create a role assignment to the second Microsoft application.
New-AzRoleAssignment -ObjectId <sp-id2> -RoleDefinitionId cf7c76d2-98a3-4358-a134-615aa78bf44d -Scope <gallery-id>
Azure CLI
# Get the Resource Id of your Azure Compute Gallery. The result is the <gallery-id>.
az sig show --resource-group <resource-group> --gallery-name <gallery-name>
# Get the service principal object Id for the first Microsoft application. The result is the <sp-id1>.
az ad sp list --display-name "Microsoft Partner Center Resource Provider" --query '[].id'
# Create a role assignment to the first Microsoft application.
az role assignment create --assignee-object-id <sp-id1> --assignee-principal-type ServicePrincipal --role cf7c76d2-98a3-4358-a134-615aa78bf44d –scope <gallery-id>
# Get the service principal for the second Microsoft application. The result is the <sp-id2>.
az ad sp list --display-name "Compute Image Registry" --query '[].id'
# Create a role assignment to the second Microsoft application.
az role assignment create --assignee-object-id <sp-id2> --assignee-principal-type ServicePrincipal --role cf7c76d2-98a3-4358-a134-615aa78bf44d –scope <gallery-id>
Azure portal
Azure portal への Lo gin
仮想マシン イメージが含まれている Azure コンピューティング ギャラリーに移動します。
Azure コンピューティング ギャラリー内の Access コントロール タブに移動します。
[追加] > [ロール割り当ての追加] の順に選択します。
[ギャラリーイメージ閲覧者の ロールを選択し 次へ をクリック。
ユーザー、グループ、またはサービス プリンシパルへのアクセスを割り当てる場合に選択します。
[+ メンバーの選択] をクリックし"Microsoft パートナー センター リソース プロバイダー"と"Compute Image Registry"サービス プリンシパルを検索して選択します。 次へ をクリックします。
[ Review + Assign をクリックします。
関連するコンテンツ
- 推奨される次の手順: VM イメージをテストし それが Azure Marketplace の発行要件を満たしていることを確認します。 これは省略可能です。
- VM イメージをテストしない場合は、 パートナー センターにサインインし、イメージを公開します。
- お使いの Azure ベースの新しい VHD の作成で問題が発生した場合は、Azure Marketplace の VM に関する FAQ を参照してください。