Vereinfachen der Anforderungen an die Netzwerkkonfiguration über das Azure Arc-Gateway (Eingeschränkte Vorschau)

Hinweis

Dies ist eine eingeschränkte Public Preview. Daher muss Microsoft die Verwendung des Features für Kundenabonnements zulassen. Um teilnehmen zu können, füllen Sie das Registrierungsformular für die eingeschränkte Public Preview des Azure Arc-Gateways aus.

Wenn Sie Firewalls oder Proxys für Unternehmen verwenden, um ausgehenden Datenverkehr zu verwalten, ermöglicht Ihnen Azure Arc-Gateway ein Onboarding für die Infrastruktur mit nur sieben (7) Endpunkten in Azure Arc durchzuführen. Mit dem Azure Arc-Gateway haben Sie folgende Möglichkeiten:

  • Stellen Sie eine Verbindung mit Azure Arc her, indem Sie nur den Zugriff auf öffentliche Netzwerke auf sieben vollqualifizierte Domänen (Fully Qualified Domains, FQDNs) öffnen.
  • Anzeigen und Überwachen des gesamten Datenverkehrs, den ein Azure Connected Machine-Agent über das Arc-Gateway an Azure sendet.

In diesem Artikel wird erläutert, wie Sie eine Arc-Gatewayressource einrichten und verwenden.

Wichtig

Das Arc-Gatewayfeature für Azure Arc-fähige Server ist derzeit als eingeschränkte Vorschau in allen Regionen verfügbar, in denen Azure Arc-fähige Server vorhanden sind. Die zusätzlichen Nutzungsbedingungen für eingeschränkte Microsoft Azure-Vorschauversionen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder eingeschränkten Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.

Unterstützte Szenarios

Azure Arc-Gateway unterstützt folgende Szenarien:

  • Azure Monitor (Azure Monitor Agent + Dependency-Agent) 1
  • Microsoft Defender for Cloud 2
  • Windows Admin Center
  • SSH
  • Microsoft Sentinel
  • Azure-Updateverwaltung
  • Azure-Erweiterung für SQL Server

1 Datenverkehr zu Log Analytics-Arbeitsbereichen wird nicht vom Arc-Gateway abgedeckt, sodass die FQDNs für Ihre Log Analytics-Arbeitsbereiche weiterhin in Ihren Firewalls oder Unternehmensproxys zugelassen werden müssen.

2 Um Microsoft Defender-Datenverkehr über das Arc-Gateway zu senden, müssen Sie die Proxyeinstellungen der Erweiterung konfigurieren.

Funktionsweise

Das Azure Arc-Gateway besteht aus zwei Hauptkomponenten:

Arc-Gatewayressource: Eine Azure-Ressource, die als allgemeines Front-End für Azure-Datenverkehr dient. Diese Gatewayressource wird in einer bestimmten Domäne bereitgestellt. Sobald die Arc-Gatewayressource erstellt wurde, wird die Domäne in der Erfolgsantwort an Sie zurückgegeben.

Arc-Proxy: Eine neue Komponente, die dem Arc-Agent hinzugefügt wird. Diese Komponente wird als Dienst namens „Azure Arc-Proxy“ ausgeführt und fungiert als Weiterleitungsproxy, der von den Azure Arc-Agents und -Erweiterungen verwendet wird. Für den Gatewayrouter ist keine Konfiguration Ihrerseits erforderlich. Dieser Router ist Teil der zentralen Arc-Agents und wird im Kontext einer Arc-fähigen Ressource ausgeführt.

Wenn das Gateway vorhanden ist, fließt der Datenverkehr über die folgenden Hops: Arc-Agents → Arc-Proxy → Unternehmensproxy → Arc-Gateway → Zieldienst

Diagramm: Route des Datenverkehrsflusses für das Azure Arc-Gateway

Einschränkungen

Für das Arc-Gatewayobjekt gelten Beschränkungen, die Sie bei der Planung des Setups berücksichtigen sollten. Diese Einschränkungen gelten nur für die eingeschränkte Public Preview. Diese Einschränkungen gelten möglicherweise nicht, wenn das Arc-Gatewayfeature allgemein verfügbar ist.

  • TLS-Terminierungsproxys werden nicht unterstützt.
  • Mit dem Arc-Gateway (Eingeschränkte Vorschau) verwendetes ExpressRoute/Site-to-Site-VPN wird nicht unterstützt.
  • Das Arc-Gateway (Eingeschränkte Vorschau) wird nur für Azure Arc-fähige Server unterstützt.
  • Pro Azure-Abonnement gilt ein Grenzwert von fünf Ressourcen für Arc-Gateway (Eingeschränkte Vorschau).

Verwenden des Arc-Gateways (Eingeschränkte Vorschau)

Nach dem Ausfüllen des Registrierungsformulars für die eingeschränkte Public Preview des Azure Arc-Gateways kann Ihr Abonnement das Feature innerhalb eines Werktags nutzen. Sie erhalten eine E-Mail, wenn das Arc-Gatewayfeature (Eingeschränkte Vorschau) für das von Ihnen übermittelte Abonnement zugelassen wurde.

Es gibt sechs Hauptschritte für die Verwendung des Features:

  1. Laden Sie die Datei „az connected.whl“ herunter, und verwenden Sie sie, um die Erweiterung „az connectedmachine“ zu installieren.
  2. Erstellen Sie eine Arc-Gatewayressource.
  3. Stellen Sie sicher, dass die erforderlichen URLs in Ihrer Umgebung zulässig sind.
  4. Ordnen Sie neue oder vorhandene Azure Arc-Ressourcen Ihrer Arc-Gatewayressource zu.
  5. Stellen Sie sicher, dass das Setup erfolgreich war.
  6. Stellen Sie sicher, dass das Arc-Gateway in anderen Szenarien verwendet wird (nur Linux).

Schritt 1: Herunterladen der Datei „az connectedmachine.whl“

  1. Wählen Sie den Link aus, um die Datei „az connectedmachine.whl“ herunterzuladen.

    Diese Datei enthält die Befehle vom Typ „az connected machine“, die zum Erstellen und Verwalten Ihrer Gatewayressource erforderlich sind.

  2. Installieren Sie die Azure CLI (sofern Sie dies noch nicht getan haben).

  3. Führen Sie den folgenden Befehl aus, um die connectedmachine-Erweiterung hinzuzufügen:

    az extension add --allow-preview true --source [whl file path]

Schritt 2: Erstellen einer Arc-Gatewayressource

Führen Sie auf einem Computer mit Zugriff auf Azure die folgenden Befehle aus, um Ihre Arc-Gatewayressource zu erstellen:

az login --use-device-code
az account set --subscription [subscription name or id]
az connectedmachine gateway create --name [Your gateway’s Name] --resource-group [Your Resource Group] --location [Location] --gateway-type public --allowed-features * --subscription [subscription name or id]

Der Prozess für die Gatewayerstellung dauert 9 bis 10 Minuten.

Schritt 3: Sicherstellen, dass die erforderlichen URLs in Ihrer Umgebung zulässig sind

Wenn die Ressource erstellt wird, enthält die Erfolgsantwort die Arc-Gateway-URL. Stellen Sie sicher, dass Ihre Arc-Gateway-URL und alle URLs in der folgenden Tabelle in der Umgebung zulässig sind, in der sich Ihre Arc-Ressourcen befinden:

URL Zweck
[Ihr URL-Präfix].gw.arc.azure.com Ihre Gateway-URL (Diese URL kann abgerufen werden, indem Sie az connectedmachine gateway list ausführen, nachdem Sie Ihre Gatewayressource erstellt haben)
management.azure.com Azure Resource Manager-Endpunkt, erforderlich für den Azure Resource Manager-Steuerungskanal
login.microsoftonline.com Endpunkt von Microsoft Entra ID zum Abrufen von Identitätszugriffstoken
gbl.his.arc.azure.com Der Clouddienstendpunkt für die Kommunikation mit Azure Arc-Agents
<Region>.his.arc.azure.com Wird für den zentralen Steuerungskanal von Arc verwendet
packages.microsoft.com Erforderlich, um Linux-basierte Arc-Agent-Nutzdaten abzurufen (nur für das Verbinden von Linux-Servern mit Arc erforderlich)
download.microsoft.com Wird zum Herunterladen des Windows-Installationspakets verwendet.

Schritt 4: Zuordnen neuer oder vorhandener Azure Arc-Ressourcen zu Ihrer Arc-Gatewayressource

Um einen neuen Server in Arc-Gateway zu integrieren, generieren Sie ein Installationsskript, und bearbeiten Sie dann das Skript, um Ihre Gatewayressource anzugeben:

  1. Generieren Sie das Installationsskript. Befolgen Sie die Anweisungen unter Schnellstart: Verbinden von Hybridcomputern mit Azure Arc-fähigen Servern, um ein Skript zu erstellen, das das Herunterladen und Installieren von Azure Connected Machine-Agent automatisiert und die Verbindung mit Azure Arc herstellt.

  2. Bearbeiten Sie das Installationsskript. Ihre Gatewayressource muss im Installationsskript spezifisch sein. Hierzu wird dem Verbindungsbefehl ein neuer Parameter namens --gateway-id hinzugefügt.

    Für Linux-Server:

    1. Rufen Sie die Ressourcen-ID Ihres Gateways ab, indem Sie den Befehl az connectedmachine gateway list ausführen. Notieren Sie sich den Parameter „id“ in der Ausgabe (d. h. die vollständige ARM-Ressourcen-ID).
    2. Fügen Sie im Installationsskript die im vorherigen Schritt ermittelte ID als folgenden Parameter hinzu: --gateway-id "[Your-gateway’s-Resource-ID]".

    Beispiel für das Onboardingskript eines Linux-Servers:

    Diese Skriptvorlage enthält Parameter, mit denen Sie Ihren Unternehmensproxyserver angeben können.

    export subscriptionId="SubscriptionId"; 
    export resourceGroup="ResourceGroup"; 
    export tenantId="TenantID"; 
    export location="Region"; 
    export authType="AuthType"; 
    export cloud="AzureCloud"; 
    export gatewayID="gatewayResourceID"; 
    
    # Download the installation package 
    output=$(wget https://aka.ms/azcmagent -e use_proxy=yes -e https_proxy="[Your Proxy URL]" -O /tmp/install_linux_azcmagent.sh 2>&1); 
    if [ $? != 0 ]; then wget -qO- -e use_proxy=yes -e https_proxy="[Your Proxy URL]" --method=PUT --body-data="{\"subscriptionId\":\"$subscriptionId\",\"resourceGroup\":\"$resourceGroup\",\"tenantId\":\"$tenantId\",\"location\":\"$location\",\"correlationId\":\"$correlationId\",\"authType\":\"$authType\",\"operation\":\"onboarding\",\"messageType\":\"DownloadScriptFailed\",\"message\":\"$output\"}" "https://gbl.his.arc.azure.com/log" &> /dev/null || true; fi; 
    echo "$output"; 
    
    # Install the hybrid agent 
    bash /tmp/install_linux_azcmagent.sh --proxy "[Your Proxy URL]"; 
    
    # Run connect command 
    sudo azcmagent connect --resource-group "$resourceGroup" --tenant-id "$tenantId" --location "$location" --subscription-id "$subscriptionId" --cloud "$cloud" --correlation-id "$correlationId" --gateway-id "$gatewayID";
    

    Für Windows-Server:

    1. Rufen Sie die Ressourcen-ID Ihres Gateways ab, indem Sie den Befehl az connectedmachine gateway list ausführen. Mit diesem Befehl werden Informationen zu allen Gatewayressourcen in Ihrem Abonnement ausgegeben. Notieren Sie sich den Parameter „ID“ in der Ausgabe (d. h. die vollständige ARM-Ressourcen-ID).
    2. Fügen Sie im Installationsskript im Abschnitt try die im vorherigen Schritt ermittelte ID als folgenden Parameter hinzu: --gateway-id "[Your-gateway’s-Resource-ID]".
    3. Fügen Sie im Installationsskript im Abschnitt catch die im vorherigen Schritt ermittelte ID als folgenden Parameter hinzu: gateway-id="[Your-gateway’s-Resource-ID]".

    Beispiel für das Onboardingskript eines Windows-Servers:

    Diese Skriptvorlage enthält Parameter, mit denen Sie Ihren Unternehmensproxyserver angeben können.

    $global:scriptPath = $myinvocation.mycommand.definition 
    
    function Restart-AsAdmin { 
        $pwshCommand = "powershell" 
        if ($PSVersionTable.PSVersion.Major -ge 6) { 
            $pwshCommand = "pwsh" 
        } 
    
        try { 
            Write-Host "This script requires administrator permissions to install the Azure Connected Machine Agent. Attempting to restart script with elevated permissions..." 
            $arguments = "-NoExit -Command `"& '$scriptPath'`"" 
            Start-Process $pwshCommand -Verb runAs -ArgumentList $arguments 
            exit 0 
        } catch { 
            throw "Failed to elevate permissions. Please run this script as Administrator." 
        } 
    } 
    
    try { 
        if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { 
            if ([System.Environment]::UserInteractive) { 
                Restart-AsAdmin 
            } else { 
                throw "This script requires administrator permissions to install the Azure Connected Machine Agent. Please run this script as Administrator." 
            } 
        } 
    
        $env:SUBSCRIPTION_ID = "SubscriptionId"; 
        $env:RESOURCE_GROUP = "ResourceGroup"; 
        $env:TENANT_ID = "TenantID"; 
        $env:LOCATION = "Region"; 
        $env:AUTH_TYPE = "AuthType"; 
        $env:CLOUD = "AzureCloud"; 
        $env:GATEWAY_ID = "gatewayResourceID"; 
    
        [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor 3072; 
    
        # Download the installation package 
        Invoke-WebRequest -UseBasicParsing -Uri "https://aka.ms/azcmagent-windows" -TimeoutSec 30 -OutFile "$env:TEMP\install_windows_azcmagent.ps1" -proxy "[Your Proxy URL]"; 
    
        # Install the hybrid agent 
        & "$env:TEMP\install_windows_azcmagent.ps1" -proxy "[Your Proxy URL]"; 
        if ($LASTEXITCODE -ne 0) { exit 1; } 
    
        # Run connect command 
        & "$env:ProgramW6432\AzureConnectedMachineAgent\azcmagent.exe" connect --resource-group "$env:RESOURCE_GROUP" --tenant-id "$env:TENANT_ID" --location "$env:LOCATION" --subscription-id "$env:SUBSCRIPTION_ID" --cloud "$env:CLOUD" --gateway-id "$env:GATEWAY_ID"; 
    } 
    catch { 
        $logBody = @{subscriptionId="$env:SUBSCRIPTION_ID";resourceGroup="$env:RESOURCE_GROUP";tenantId="$env:TENANT_ID";location="$env:LOCATION";authType="$env:AUTH_TYPE";gatewayId="$env:GATEWAY_ID";operation="onboarding";messageType=$_.FullyQualifiedErrorId;message="$_";}; 
        Invoke-WebRequest -UseBasicParsing -Uri "https://gbl.his.arc.azure.com/log" -Method "PUT" -Body ($logBody | ConvertTo-Json) -proxy "[Your Proxy URL]" | out-null; 
        Write-Host  -ForegroundColor red $_.Exception; 
    } 
    
  3. Führen Sie das Installationsskript aus, um Ihre Server in Azure Arc zu integrieren.

Führen Sie die folgenden Schritte aus, um einen vorhandenen Computer für die Verwendung des Arc-Gateways zu konfigurieren:

Hinweis

Der vorhandene Computer muss Version 1.43 oder höher des Connected Machine-Agents für die Arc-fähigen Server verwenden, um die eingeschränkte Public Preview des Arc-Gateways nutzen zu können.

  1. Ordnen Sie Ihren vorhandenen Computer Ihrer Arc-Gatewayressource zu:

    az connectedmachine setting update --resource-group [res-group] --subscription [subscription name] --base-provider Microsoft.HybridCompute --base-resource-type machines --base-resource-name [Arc-server's resource name]  --settings-resource-name default --gateway-resource-id [Full Arm resourceid]
    
  2. Aktualisieren Sie den Computer so, dass die Arc-Gatewayressource verwendet wird. Führen Sie den folgenden Befehl auf dem Arc-fähigen Server aus, um ihn für die Verwendung des Arc-Gateways festzulegen:

    azcmagent config set connection.type gateway
    
  3. Warten Sie den Ausgleich ab.

    Nachdem Ihre Computer für die Verwendung des Arc-Gateways aktualisiert wurden, werden einige Azure Arc-Endpunkte, die zuvor in Ihrem Unternehmensproxy oder in Ihren Firewalls zugelassen wurden, nicht mehr benötigt. Es gibt jedoch einen Übergangszeitraum. Warten Sie also 1 Stunde, bevor Sie nicht benötigte Endpunkte aus der Firewall/dem Unternehmensproxy entfernen.

Schritt 5: Sicherstellen, dass das Setup erfolgreich war

Führen Sie auf dem integrierten Server den folgenden Befehl aus: azcmagent show. Im Ergebnis sollten die folgenden Werte angegeben sein:

  • Der Agent-Status sollte als Verbunden angezeigt werden.
  • Für Verwendeter HTTPS-Proxy sollte http://localhost:40343 angezeigt werden.
  • Für Upstreamproxy sollte Ihr Unternehmensproxy angezeigt werden (wenn Sie einen festgelegt haben).

Um die erfolgreiche Einrichtung zu überprüfen, können Sie außerdem den folgenden Befehl ausführen: azcmagent check. Das Ergebnis sollte angeben, dass connection.type auf das Gateway festgelegt ist, und in der Spalte Erreichbar sollte für alle URLs true angegeben sein.

Schritt 6: Sicherstellen, dass das Arc-Gateway in zusätzlichen Szenarien verwendet wird (nur Linux)

Unter Linux müssen für die Verwendung von Azure Monitor oder Microsoft Defender for Endpoint zusätzliche Befehle ausgeführt werden, damit das Azure Arc-Gateway (Eingeschränkte Vorschau) verwendet werden kann.

Für Azure Monitor sollten explizite Proxyeinstellungen beim Bereitstellen des Azure Monitor-Agents angegeben werden. Führen Sie in Azure Cloud Shell die folgenden Befehle aus:

$settings = @{"proxy" = @{mode = "application"; address = "http://127.0.0.1:40343"; auth = false}} 

New-AzConnectedMachineExtension -Name AzureMonitorLinuxAgent -ExtensionType AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -MachineName <arc-server-name> -Location <arc-server-location> -Setting $settings

Wenn Sie Azure Monitor über das Azure-Portal bereitstellen, müssen Sie unbedingt die Einstellung Proxy verwenden auswählen und die Proxyadresse auf http://127.0.0.1:40343 festlegen.

Führen Sie für Microsoft Defender for Endpoint den folgenden Befehl aus:

mdatp config proxy set --value http://127.0.0.1:40343

Bereinigungsanweisungen

Um Ihr Gateway zu bereinigen, trennen Sie die Gatewayressource von den entsprechenden Servern. Anschließend kann die Ressource sicher gelöscht werden:

  1. Legen Sie den Verbindungstyp des Azure Arc-fähigen Servers auf „direct“ anstelle von „gateway“ fest:

    azcmagent config set connection.type direct

  2. Führen Sie den folgenden Befehl aus, um die Ressource zu löschen:

    az connectedmachine gateway delete --resource group [resource group name] --gateway-name [gateway resource name]

    Dieser Vorgang kann einige Minuten dauern.

Problembehandlung

Sie können den Datenverkehr Ihres Arc-Gateways anhand der Protokolle des Gatewayrouters überwachen.

So zeigen Sie Gatewayrouterprotokolle unter Windows an

  1. Führen Sie in PowerShell azcmagent logs aus.
  2. In der resultierenden ZIP-Datei befinden sich die Protokolle im Ordner C:\ProgramData\Microsoft\ArcGatewayRouter.

So zeigen Sie Gatewayrouterprotokolle unter Linux an

  1. Führen Sie sudo azcmagent logs aus.
  2. In der resultierenden Protokolldatei befinden sich die Protokolle im Ordner /usr/local/arcrtr/logs/.

Bekannte Probleme

Es ist noch nicht möglich, die Azure CLI zu verwenden, um die Zuordnung einer Gatewayressource zu einem Arc-fähigen Server aufzuheben. Verwenden Sie den Befehl azcmagent config set connection.type direct, damit ein Arc-fähiger Server nicht mehr ein Arc-Gateways verwendet. Mit diesem Befehl wird die Arc-fähige Ressource so konfiguriert, dass anstelle des Arc-Gateways die direkte Route verwendet wird.