Konfigurieren Sie einen Standarddienstendpunkt mithilfe der Azure CLI

Dieser Artikel führt Sie durch die Konfiguration eines Standard-Service-Endpunkts mit der Azure CLI. Man erstellt eine öffentliche IP-Adresse als Netzwerkkennung, verbindet sie mit Service-Endpunkten in einem Subnetz, konfiguriert einen Netzwerksicherheitsperimeter und überprüft die Konnektivität.

Important

Der Standard-Service-Endpunkt befindet sich derzeit in der öffentlichen Vorschau. Diese Vorschau wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbedingungen für Microsoft Azure-Vorschauversionen.

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement. Wenn Sie kein Konto besitzen, erstellen Sie kostenlos ein Konto.

  • Netzwerk-Mitwirkender oder höher im Abonnement. Konkret brauchst du die Erlaubnis Microsoft.Network/publicIPAddresses/joinServiceEndpointNetworkIdentifier/action . Weitere Informationen finden Sie unter Netzwerksicherheitsperimeter-rollenbasierte Zugriffskontrollanforderungen.

  • Der Standard-Service-Endpunkt befindet sich derzeit hinter einem Feature-Flag. Registrieren Sie vor der Konfiguration die AllowServiceEndpointNetworkIdentifier-Funktion in Ihrem Abonnement, indem Sie folgende Self-Service-Befehle verwenden:

    az feature register \
        --namespace Microsoft.Network \
        --name AllowServiceEndpointNetworkIdentifier
    

    Überprüfen Sie den Registrierungsstatus:

    az feature show \
        --namespace Microsoft.Network \
        --name AllowServiceEndpointNetworkIdentifier \
        --query "properties.state" \
        --output tsv
    

    Warten Sie, bis der Bundesstaat als registriert angezeigt wird, und aktualisieren Sie dann die Registrierung des Ressourcenanbieters:

    az provider register --namespace Microsoft.Network
    
  • Azure CLI Version 2.x oder neuer. Führen Sie az --version aus, um die Version zu ermitteln. Wenn Sie eine Installation oder ein Upgrade durchführen müssen, finden Sie weitere Informationen unter Azure CLI installieren.

Erstellen einer Ressourcengruppe

Erstellen Sie mit az group create eine Ressourcengruppe.

az group create \
  --name test-rg \
  --location eastus2

Erstellen eines virtuellen Netzwerks

Erstellen Sie mit az network vnet create ein virtuelles Netzwerk und ein Subnetz.

az network vnet create \
  --resource-group test-rg \
  --name vnet-1 \
  --address-prefix 10.0.0.0/16 \
  --subnet-name subnet-1 \
  --subnet-prefix 10.0.0.0/24 \
  --location eastus2

Erstellen eines NAT-Gateways

Erstellen Sie ein NAT-Gateway v2 und verknüpfen Sie es mit Subnet-1 , um eine ausgehende Internetverbindung für die virtuelle Maschine bereitzustellen.

  1. Erstelle eine öffentliche IP-Adresse für das NAT-Gateway mit az network public-ip create.

    az network public-ip create \
      --resource-group test-rg \
      --name public-ip-nat \
      --sku Standard \
      --allocation-method Static \
      --location eastus2
    
  2. Erstellen Sie ein NAT-Gateway mit az network nat gateway create.

    az network nat gateway create \
      --resource-group test-rg \
      --name nat-gateway \
      --location eastus2 \
      --public-ip-addresses public-ip-nat \
      --idle-timeout 4  
    
  3. Verknüpfe das NAT-Gateway mit Subnet-1 , indem du das az network vnet Subnet Update verwendest.

    az network vnet subnet update \
      --resource-group test-rg \
      --vnet-name vnet-1 \
      --name subnet-1 \
      --nat-gateway nat-gateway
    

Bereitstellen von Azure Bastion

Azure Bastion verwendet Ihren Browser, um mithilfe ihrer privaten IP-Adressen eine Verbindung mit VMs in Ihrem virtuellen Netzwerk über Secure Shell (SSH) oder das Remotedesktopprotokoll (RDP) herzustellen. Die VMs benötigen keine öffentlichen IP-Adressen, keine Clientsoftware und keine spezielle Konfiguration. Weitere Informationen zu Azure Bastion finden Sie unter Azure Bastion.

Note

Die Stundenpreise gelten ab dem Zeitpunkt der Bereitstellung von Bastion, unabhängig von der Nutzung ausgehender Daten. Weitere Informationen dazu finden Sie unter Preise und SKUs. Wenn Sie Bastion als Teil eines Tutorials oder Tests einsetzen, empfehlen wir Ihnen, diese Ressource zu löschen, nachdem Sie diese benutzt haben.

Erstellen Sie mit az network bastion create einen Azure Bastion-Host.

az network bastion create \
  --name bastion \
  --resource-group test-rg \
  --vnet-name vnet-1 \
  --location eastus2 \
  --sku Basic

Erstellen eines virtuellen Computers

Erstelle eine VM namens VM-1 im virtuellen Netzwerk. Die virtuelle Maschine wird verwendet, um die Konnektivität nach der Konfiguration zu überprüfen.

Erstellen Sie einen virtuellen Computer mit az vm create.

az vm create \
  --resource-group test-rg \
  --name vm-1 \
  --image Ubuntu2204 \
  --vnet-name vnet-1 \
  --subnet subnet-1 \
  --admin-username azureuser \
  --generate-ssh-keys \
  --public-ip-address "" \
  --nsg nsg-1

Note

VMs in einem virtuellen Netzwerk mit einem Azure Bastion-Host benötigen keine öffentlichen IP-Adressen. Bastion stellt die öffentliche IP-Adresse bereit und die VMs verwenden private IP-Adressen für die Kommunikation innerhalb des Netzwerks. Sie können die öffentlichen IP-Adressen von allen VMs in von Bastion gehosteten virtuellen Netzwerken entfernen. Weitere Informationen finden Sie unter Trennen einer öffentlichen IP-Adresse von einer Azure-VM.

Note

Azure stellt eine ausgehende Standardzugriffs-IP für VMs bereit, denen keine öffentliche IP-Adresse zugewiesen ist oder die sich im Backendpool eines internen grundlegenden Azure-Lastenausgleichs befinden. Der Mechanismus für Standard-IP-Adressen für den ausgehenden Zugriff stellt eine ausgehende IP-Adresse bereit, die nicht konfigurierbar ist.

Die Standard-IP-Adresse für ausgehenden Zugriff ist deaktiviert, wenn eines der folgenden Ereignisse auftritt:

  • Dem virtuellen Computer wird eine öffentliche IP-Adresse zugewiesen.
  • Die VM wird im Backendpool eines Standard-Load-Balancers platziert, mit oder ohne ausgehende Regeln.
  • Dem Subnetz der VM wird eine Azure NAT Gateway-Ressource zugewiesen.

VMs, die Sie mithilfe von VM-Skalierungsgruppen im Orchestrierungsmodus „Flexibel“ erstellen, haben keinen ausgehenden Standardzugriff.

Weitere Informationen zu ausgehenden Verbindungen in Azure finden Sie unter Standardzugriff in ausgehender Richtung in Azure und Verwenden von SNAT (Source Network Address Translation) für ausgehende Verbindungen.

Werkzeuge auf der virtuellen Maschine installieren

Installiere cifs-utils und Azure CLI auf der virtuellen Maschine, indem du ein Shell-Skript mit az vm run-command aufruf ausführst.

az vm run-command invoke \
  --resource-group test-rg \
  --name vm-1 \
  --command-id RunShellScript \
  --scripts "sudo apt-get update && sudo apt-get install -y cifs-utils && curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash"

Speicherkonto erstellen

Erstelle ein Azure-Speicherkonto mit einer Dateifreigabe, die als PaaS-Ressource zum Testen der Konnektivität über den Service-Endpunkt verwendet wird.

  1. Erstellen Sie ein Speicherkonto mit Azure Storage Account erstellen. Ersetzen Sie <storage-account-name> durch einen weltweit einzigartigen Namen.

    az storage account create \
      --name <storage-account-name> \
      --resource-group test-rg \
      --location eastus2 \
      --sku Standard_LRS \
      --kind StorageV2
    
  2. Erstellen Sie eine Dateifreigabe mit az storage share-rm create.

    az storage share-rm create \
      --resource-group test-rg \
      --storage-account <storage-account-name> \
      --name fileshare-1
    

Erstellen Sie ein öffentliches IP-Präfix

Erstelle ein öffentliches IP-Präfix und eine öffentliche IP-Adressinstanz als Netzwerkkennung.

  1. Erstelle ein öffentliches IP-Präfix mit az network public-ip-Präfix create.

    az network public-ip prefix create \
      --resource-group test-rg \
      --name public-ip-prefix \
      --length 31 \
      --location eastus2
    
  2. Erstelle eine öffentliche IP-Adresse aus dem Präfix mit az network public-ip create.

    az network public-ip create \
      --resource-group test-rg \
      --name public-ip-1 \
      --public-ip-prefix public-ip-prefix \
      --sku Standard \
      --allocation-method Static
    

Konfigurieren Sie Service-Endpunkte mit einer Netzwerkkennung

Dieser Schritt ist die Schlüsselkonfiguration für einen Standard-Service-Endpunkt. Sie verknüpfen eine öffentliche IP-Adresse als Netzwerkkennung mit Service-Endpunkten in einem Subnetz.

Eine Netzwerkkennung ist eine öffentliche IP-Adresse, die Sie Ihrem Service-Endpunkt zuweisen. Die öffentliche IP wird nicht für Netzwerkrouting-Entscheidungen verwendet. Wenn du innerhalb deines Abos eine öffentliche IP-Adresse erstellst, wird sie automatisch aus dem zugewiesenen IP-Pool deines Dienstes zugewiesen. Dienste innerhalb des Netzwerksicherheitsperimeters nutzen diese öffentliche IP-Adresse, um Service-Endpunkt-Verkehr zu erkennen und entsprechende Zugriffsregeln zu konfigurieren.

Note

Die öffentliche IP-Adresse, die als Netzwerkkennung verwendet wird, muss alle folgenden Anforderungen erfüllen: Standard-SKU, statische Zuordnungsmethode, IPv4, im Bereitstellungszustand „Erfolgreich“ und bereits vorhanden sein, bevor sie mit einem Service-Endpunkt verknüpft wird. NRP lehnt die IP ab, wenn eine dieser Bedingungen nicht erfüllt ist.

Aktualisieren Sie das Subnetz, um ein Service-Endpunkt mit der öffentlichen IP-Adresse als Netzwerkkennung hinzuzufügen, indem Sie das az Network VNET Subnet Update verwenden.

az network vnet subnet update \
  --resource-group test-rg \
  --vnet-name vnet-1 \
  --name subnet-1 \
  --add serviceEndpoints '{"service":"Microsoft.Storage","networkIdentifier":{"id":"/subscriptions/<subscription-id>/resourceGroups/test-rg/providers/Microsoft.Network/publicIPAddresses/public-ip-1"}}'

Note

Ersetzen Sie <subscription-id> durch Ihre Azure-Abonnement-ID. Sie können Ihre Abonnement-ID finden, indem Sie diese ausführen az account show --query id --output tsv.

Die gleiche öffentliche IP-Adresse kann allen Subnetzen in einer Region innerhalb eines Abonnements zugewiesen werden. Die Netzwerkkennung wird während der öffentlichen Vorschau abonnementübergreifend unterstützt.

Erstellen eines Netzwerksicherheitsperimeters

Erstelle einen Netzwerksicherheitsperimeter und verknüpfe deine PaaS-Ressourcen damit.

  1. Erstellen Sie einen Netzwerksicherheitsperimeter mit az Network Perimeter create.

    az network perimeter create \
      --name nsp-1 \
      --resource-group test-rg \
      --location eastus2
    
  2. Erstellen Sie ein Profil im Netzwerksicherheitsperimeter mit AZ Network Perimeter Profile erstellen.

    az network perimeter profile create \
      --perimeter-name nsp-1 \
      --resource-group test-rg \
      --name profile-1
    
  3. Verknüpfen Sie Ihr Speicherkonto mit dem Netzwerksicherheitsperimeter mit az network perimeter association create. Ersetzen Sie <subscription-id> und <storage-account-name> durch Ihre eigenen Werte.

    az network perimeter association create \
      --perimeter-name nsp-1 \
      --resource-group test-rg \
      --association-name assoc-storage \
      --access-mode Learning \
      --profile "{id:/subscriptions/<subscription-id>/resourceGroups/test-rg/providers/Microsoft.Network/networkSecurityPerimeters/nsp-1/profiles/profile-1}" \
      --private-link-resource "{id:/subscriptions/<subscription-id>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/<storage-account-name>}"
    

Erstellen Sie eine Regel für eingehenden Zugriff für einen Netzwerksicherheitsperimeter

Fügen Sie eine IP-basierte Eingangszugriffsregel im Netzwerksicherheitsbereich hinzu, um den Datenverkehr von Ihrer Netzwerkkennung zu autorisieren. Diese Regel passt zur öffentlichen IP-Adresse, um die Verbindung zu Ihren Service-Endpunkten zu ermöglichen.

Erstellen Sie eine Inbound Access Rule mit az Network Perimeter Profile access-rule create. Ersetzen Sie <public-ip-prefix-range> durch den Adressbereich Ihres öffentlichen IP-Präfixes.

az network perimeter profile access-rule create \
  --perimeter-name nsp-1 \
  --resource-group test-rg \
  --profile-name profile-1 \
  --access-rule-name allow-se-standard \
  --direction Inbound \
  --address-prefixes "<public-ip-prefix-range>"

Note

Um den Adressbereich deines öffentlichen IP-Präfixes zu finden, führe az network public-ip prefix show --resource-group test-rg --name public-ip-prefix --query ipPrefix --output tsv.

Überprüfen der Konnektivität

Verbinden Sie sich mit Ihrer virtuellen Maschine mit Azure Bastion und testen Sie die Verbindung zum Speicherkonto, um zu überprüfen, dass der Datenverkehr durch die Netzwerksicherheitsperimeter-Eingehenszugriffsregel autorisiert wird.

Herstellen einer Verbindung mit dem virtuellen Computer

  1. Suchen Sie im Azure Portal nach Virtuelle Computer und wählen Sie diese aus.

  2. Wählen Sie vm-1 aus.

  3. Wählen Sie "Verbinden" und dann "Über Bastion verbinden" aus.

  4. Auf der Bastion-Seite geben Sie folgende Informationen ein:

    Setting Value
    Authentifizierungstyp Wählen Sie den privaten SSH-Schlüssel aus der lokalen Datei aus.
    Nutzername Geben Sie azureuser ein.
    Lokale Datei Wählen Sie die vm-1-key.pem Datei aus, die Sie beim Erstellen der virtuellen Maschine heruntergeladen haben.
  5. Wählen Sie Verbinden aus.

Testen der Verbindung mit dem Speicherkonto

  1. Melden Sie sich in der SSH-Sitzung auf VM-1 bei der Azure CLI an:

    az login
    
  2. Binden Sie die Azure-Dateifreigabe ein, um die Verbindung mit dem Speicherkonto über den Dienstendpunkt zu überprüfen. Ersetzen Sie <storage-account-name> durch den Namen Ihres Speicherkontos:

    sudo mkdir -p /mnt/fileshare-1
    STORAGE_KEY=$(az storage account keys list \
        --resource-group test-rg \
        --account-name <storage-account-name> \
        --query "[0].value" -o tsv)
    
    sudo mount -t cifs //<storage-account-name>.file.core.windows.net/fileshare-1 /mnt/fileshare-1 \
        -o username=<storage-account-name>,password=$STORAGE_KEY,serverino,nosharesock,actimeo=30,mfsymlinks
    
  3. Überprüfen Sie, dass die Dateifreigabe erfolgreich gemountet wird:

    df -h /mnt/fileshare-1
    
  4. Um zu bestätigen, dass die Inbound-Access-Regel funktioniert, überprüfen Sie die Netzwerksicherheitsperimeter-Diagnoseprotokolle. Weitere Informationen zu Netzwerksicherheitsperimeter-Diagnoseprotokollen finden Sie unter Diagnostische Protokollierung für Netzwerksicherheitsperimeter.

Bereinigen von Ressourcen

Wenn Sie die in diesem Artikel erstellten Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe:

az group delete --name test-rg --yes --no-wait

Nächste Schritte