Freigeben über


Zugriff verweigert beim Ausführen von Azure Batch-Aufträgen

Das Azure Storage-Konto ist eine erforderliche abhängige Komponente für das Azure Batch-Konto zum Speichern von Ressourcendateien, Anwendungspaketen und Ausgabedateien. In vielen Fällen verwenden Sie das Azure Storage-Konto mit einer Firewall, um die Sicherheit zu verbessern. Das Azure Storage-Konto mit einer Firewall kann jedoch zu Fehlern führen, wenn Sie Azure Batch-Aufträge ausführen. Dieser Artikel enthält Lösungen für solche Probleme.

Symptome

Beim Ausführen von Azure Batch-Aufträgen treten möglicherweise Fehler im Zusammenhang mit dem zugeordneten Azure-Speicherkonto auf.

Hier ist ein Fehlerbeispiel:

Kategorie: UserError
Code: ResourceContainerAccessDenied
Meldung: Der Zugriff auf einen der angegebenen Azure-Blogcontainer wird verweigert.

Ursache

Wenn Sie einen Azure Batch-Pool erstellen, werden neue virtuelle Computer (Batchknoten) bereitgestellt. Wenn Sie dem Batchpool keine statische öffentliche IP-Adresse zuweisen, wird eine zufällige öffentliche IP-Adresse zugewiesen. Wenn Sie die Größe der Knoten auf 0 ändern und die Größe erneut ändern, ändert sich die öffentliche IP-Adresse dieser neuen Batchknoten. Wenn das zugeordnete Speicherkonto eine Firewall konfiguriert hat, ist es daher schwierig, die Zulassungsliste der Firewall zu verwalten.

Wenn sich das Speicherkonto und der Batchpool in derselben Region befinden, unabhängig davon, ob der Batchpool über eine statische öffentliche IP-Adresse verfügt oder nicht, wird der ausgehende Datenverkehr von Batchknoten immer über das Azure-Backbone-Internet (private IP-Adressen) übertragen. Die Speicherfirewall darf keine private IP-Adresse in der Zulassungsliste hinzufügen, was dazu führt, dass der Datenverkehr zum Speicherkonto verweigert wird.

Lösung

Um das Problem zu beheben, verwalten Sie den Batchpool und die Konfigurationen des Speicherkontos basierend auf Ihren Szenarien.

Notiz

Wenn Sie Anwendungspakete hochladen müssen, funktionieren keine der folgenden Lösungen. Das Speicherkonto darf keine Firewall konfigurieren. Weitere Informationen finden Sie unter Verknüpfen eines Speicherkontos.

Szenario 1: Batchpool und Speicherkonto befinden sich in derselben Region, und der Batchpool verfügt über ein virtuelles Netzwerk.

  1. Überprüfen Sie subnetzinformationen unter "Netzwerkkonfiguration" aus den Eigenschaften des Azure-Portal >Batchkontopools>>. Notieren Sie sich die Informationen, und notieren Sie sich die Informationen.

    Screenshot der Subnetzinformationen des Azure-Batchpools.

  2. Navigieren Sie zum Speicherkonto, und wählen Sie "Netzwerk" aus. Wählen Sie in der Einstellung "Firewalls" und "Virtuelle Netzwerke " die Option "Aus ausgewählten virtuellen Netzwerken und IP-Adressen für den Zugriff auf öffentliche Netzwerke aktivieren" aus. Fügen Sie das Subnetz des Batchpools in der Firewall-Zulassungsliste hinzu.

    Screenshot, der zeigt, wie Subnetz zur Firewall-Zulassungsliste hinzugefügt wird.

    Wenn das Subnetz den Dienstendpunkt nicht aktiviert, wird beim Auswählen eine Benachrichtigung wie folgt angezeigt:

    In den folgenden Netzwerken sind keine Dienstendpunkte für "Microsoft.Storage" aktiviert. Die Aktivierung des Zugriffs kann bis zu 15 Minuten dauern. Nach dem Starten dieses Vorgangs ist es sicher, zu verlassen und später zurückzukehren, wenn Sie nicht warten möchten.

    Überprüfen Sie daher vor dem Hinzufügen des Subnetzes im virtuellen Batchnetzwerk, ob der Dienstendpunkt für das Speicherkonto aktiviert ist.

    Screenshot, der zeigt, wie Sie überprüfen können, ob der Dienstendpunkt aktiviert ist.

Nachdem Sie die oben genannten Konfigurationen abgeschlossen haben, können die Batchknoten im Pool erfolgreich auf das Speicherkonto zugreifen.

Szenario 2: Batchpool und Speicherkonto befinden sich in verschiedenen Regionen

  1. Erstellen Sie einen neuen Batchpool in einem virtuellen Netzwerk mit einer statischen öffentlichen IP-Adresse. Weitere Informationen finden Sie unter Erstellen eines Batchpools mit angegebenen öffentlichen IP-Adressen.

    Da sich der Batchpool und das Speicherkonto in verschiedenen Regionen befinden, durchläuft der ausgehende Datenverkehr das öffentliche Internet über die öffentliche IP-Adresse.

  2. Notieren Sie sich die öffentliche IP-Adresse.

  3. Weisen Sie die öffentliche IP-Adresse der IP des öffentlichen Lastenausgleichs des Batchpools zu.

    Überprüfen Sie danach die Eigenschaften Ihres Batchpools. Sie werden wie die im folgenden Screenshot dargestellten sein:

    Screenshot der Eigenschaften des Batchpools.

  4. Fügen Sie die öffentliche IP-Adresse zur Zulassungsliste der Speicherfirewall hinzu.

    Screenshot der öffentlichen IP-Adresse.

    Screenshot, der zeigt, dass die öffentliche IP-Adresse zur Zulassungsliste hinzugefügt wird.

  5. Führen Sie die Batchaufträge mit dem neu erstellten Batchpool aus.

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.