次の方法で共有


Azure 仮想マシンで Azure Arc 対応サーバーを評価する

Azure Arc 対応サーバーは、オンプレミスまたは他のクラウドで実行されているサーバーの Azure への接続に役立つように設計されています。 通常、Azure 仮想マシンは Azure Arc に接続しません。この VM では同じ機能がすべてネイティブで利用できるためです。 Azure VM は、Azure Resource Manager、VM 拡張機能、マネージド ID、Azure Policy には既に存在します。 Azure Arc 対応サーバーを Azure VM にインストールしようとすると、それがサポートされていないことを示すエラー メッセージが表示されます。

運用環境シナリオでは Azure Arc 対応サーバーを Azure VM にインストールできませんが、"評価とテストだけを目的として" Azure VM で実行されるように Azure Arc 対応サーバーを構成することは可能です。 この記事では、テスト目的でオンプレミス サーバーのように見える Azure VM を準備する方法について説明します。

Note

この記事の手順は、Azure クラウドでホストされている仮想マシンを対象としています。 Azure Arc 対応サーバーは、Azure Stack Hub または Azure Stack Edge で実行されている仮想マシンではサポートされていません。

前提条件

プラン

Azure Arc 対応サーバーとしての Azure VM の管理を開始するには、後で Azure Arc 対応サーバーをインストールして構成できるように、Azure VM に次の変更を加えておく必要があります。

  1. Azure VM にデプロイされている VM 拡張機能 (Azure Monitor エージェントなど) を削除します。 Azure Arc 対応サーバーでは Azure VM と同じ拡張機能の多くがサポートされますが、Azure Connected Machine エージェントは、既に VM にデプロイされている VM 拡張機能を管理できません。

  2. Azure Windows または Linux ゲスト エージェントを無効にします。 Azure VM ゲスト エージェントが Azure Connected Machine エージェントに対して同様の目的を果たします。 2 者の間の競合を回避するために、Azure VM エージェントを無効にする必要があります。 いったんこれを無効にしたら、VM 拡張機能や一部の Azure サービスは使用できません。

  3. Azure Instance Metadata Service (IMDS) へのアクセスを拒否するセキュリティ規則を作成します。 IMDS は、リソース ID や場所など、Azure での VM の表現に関する情報を取得するためにアプリケーションから呼び出すことができる REST API です。 IMDS により、マシンに割り当てられているマネージド ID へのアクセスも提供されます。 Azure Arc 対応サーバーは独自の IMDS 実装を提供し、VM の Azure Arc 表現に関する情報を返します。 両方の IMDS エンドポイントが使用できるためにアプリがこの 2 つのいずれかを選択しなければならない状況を回避するために、Azure VM IMDS へのアクセスをブロックして、Azure Arc 対応サーバーの IMDS 実装だけが使用可能になるようにします。

これらの変更を加えると、Azure VM は Azure の外部にあるすべてのマシンまたはサーバーと同様に動作し、Azure Arc 対応サーバーをインストールして評価するために必要な開始点に位置しています。

Azure Arc 対応サーバーが VM 上に構成されると、Azure にその 2 つの表現が表示されます。 1 つはリソースの種類が Microsoft.Compute/virtualMachines である Azure VM リソース、もう 1 つはリソースの種類が Microsoft.HybridCompute/machines である Azure Arc リソースです。 共有の物理ホスト サーバーからゲスト オペレーティング システムが管理されないようにしているため、2 つのリソースに対する考え方として最も適切なことは、Azure VM リソースは VM の仮想ハードウェアであり、これによって、電源の状態を制御し、その SKU、ネットワーク、ストレージの構成に関する情報を表示できるということです。 Azure Arc リソースは、その VM 内のゲスト オペレーティング システムを管理するほか、拡張機能をインストールしたり、Azure Policy のコンプライアンス データを表示したり、Azure Arc 対応サーバーでサポートされているその他のすべてのタスクを完了したりするために使用できます。

Azure VM を再構成する

Note

Windows の場合は、Azure VM のインストールで ARC をオーバーライドするように環境変数を設定します。

[System.Environment]::SetEnvironmentVariable("MSFT_ARC_TEST",'true', [System.EnvironmentVariableTarget]::Machine)
  1. Azure VM 上のすべての VM 拡張機能を削除します。

    Azure ポータルで、Azure VM リソースに移動し、左側のペインで、[拡張機能] を選択します。 VM に拡張機能がインストールされている場合は、各拡張機能を個別に選択し、 [アンインストール] を選択します。 すべての拡張機能のアンインストールが完了するのを待ってから、手順 2 に進みます。

  2. Azure VM ゲスト エージェントを無効にします。

    Azure VM ゲスト エージェントを無効にするには、リモート デスクトップ接続 (Windows) または SSH (Linux) を使用して VM に接続し、次のコマンドを実行してゲスト エージェントを無効にする必要があります。

    Windows では、次の PowerShell コマンドを実行します。

    Set-Service WindowsAzureGuestAgent -StartupType Disabled -Verbose
    Stop-Service WindowsAzureGuestAgent -Force -Verbose
    

    Linux の場合は、次のコマンドを実行します。

    sudo systemctl stop walinuxagent
    sudo systemctl disable walinuxagent
    
  3. Azure IMDS エンドポイントへのアクセスをブロックします。

    Note

    以下の構成は、169.254.169.254 および 169.254.169.253 に適用する必要があります。 これらは、それぞれ Azure と Azure Stack HCI の IMDS に使用されるエンドポイントです。

    サーバーにまだ接続している状態で、次のコマンドを実行して、Azure IMDS エンドポイントへのアクセスをブロックします。 Windows では、次の PowerShell コマンドを実行します。

    New-NetFirewallRule -Name BlockAzureIMDS -DisplayName "Block access to Azure IMDS" -Enabled True -Profile Any -Direction Outbound -Action Block -RemoteAddress 169.254.169.254
    

    Linux の場合は、ディストリビューションのドキュメントを参照して、TCP ポート 80 を介する 169.254.169.254/32 への送信アクセスをブロックする最適な方法を確認します。 通常は、組み込みのファイアウォールを使用して送信アクセスをブロックしますが、iptables または nftables を使用して一時的にブロックすることもできます。

    Azure VM で Ubuntu が実行されている場合は、次の手順を実行して、Uncomplicated Firewall (UFW) を構成します。

    sudo ufw --force enable
    sudo ufw deny out from any to 169.254.169.254
    sudo ufw default allow incoming
    

    Azure VM が Red Hat または SUSE Linux Enterprise Server (SLES) を実行している場合は、次の手順を実行して firewalld を構成します。

    sudo firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -d 169.254.169.254 -j REJECT
    sudo firewall-cmd --reload
    

    その他のディストリビューションについては、ファイアウォールのドキュメントを参照するか、または次のコマンドを使用して汎用 iptables ルールを構成します。

    sudo iptables -I OUTPUT 1 -d 169.254.169.254 -j REJECT
    

    Note

    この iptables 構成は、永続的な iptables ソリューションが使用されていない限り、再起動するたびに設定する必要があります。

  4. Azure Connected Machine エージェントをインストールして構成します。

    これで、Azure Arc 対応サーバーの評価を開始するための VM の準備が完了しました。 Azure Connected Machine エージェントをインストールして構成するには、Azure portal を使用したハイブリッド マシンの接続に関するページを参照して、その手順に従ってインストール スクリプトを生成し、スクリプト化された方法を使用してインストールします。

    Note

    Azure VM からのインターネットへの送信接続が制限されている場合、エージェント パッケージを手動でダウンロードできます。 エージェント パッケージを Azure VM にコピーし、ソース フォルダーを参照するように Azure Arc 対応サーバーのインストール スクリプトを変更します。

手順のいずれかを実行しなかった場合、インストール スクリプトではそれが Azure VM 上で実行されていることが検出され、エラーで終了します。 手順 1 から 3 を完了していることを確認してから、スクリプトを再実行します。

Azure Arc との接続を検証する

エージェントをインストールし、Azure Arc 対応サーバーに登録するように構成したら、Azure portal に移動して、サーバーが正常に接続したことを確認します。 対象のマシンが Azure portal に表示されます。

成功したサーバー接続

次のステップ