Freigeben über


Einbinden von Azure Storage als lokale Freigabe in App Service

Azure Storage ist die Cloudspeicherlösung von Microsoft für moderne Datenspeicherszenarien. Azure Storage bietet hochverwendbare, massiv skalierbare, langlebige und sichere Speicherung für Datenobjekte in der Cloud. In diesem Leitfaden erfahren Sie, wie Sie Azure Storage-Dateien als Netzwerkfreigabe in Windows-Code (kein Container) in Azure App Service einbinden.

Azure Storage unterstützt Azure Files Shares und Premium Files Shares für App Service. Azure Storage ist nicht der Standardspeicher für App Service. Es wird separat in Rechnung gestellt. Sie können auch Azure Storage in einer ARM-Vorlage konfigurieren.

Zu den Vorteilen benutzerdefiniert bereitgestellten Speichers zählen:

  • Konfigurieren Sie persistenten Speicher für Ihre App Service-App, und verwalten Sie den Speicher separat.
  • Machen Sie statische Inhalte wie Videos und Bilder ohne Weiteres für Ihre App Service-App verfügbar.
  • Schreiben Sie Anwendungsprotokolldateien oder archivieren Sie ältere Protokolle in Azure-Dateifreigaben.
  • Freigeben von Inhalten über mehrere Apps oder mit anderen Azure-Diensten.

Die folgenden Features werden für Windows Code unterstützt:

Hier sind die drei Optionen zum Bereitstellen Azure Speichers für Ihre App:

Montageoption Verwendung
Basic Wählen Sie diese Option aus, wenn Sie den Speicher mithilfe des Azure Portals bereitstellen. Sie können die standardoption verwenden, solange das Speicherkonto nicht service-Endpunkte, Private-Endpunkte oder Azure Key Vault verwendet. In diesem Fall ruft das Portal den Zugriffsschlüssel ab und speichert diesen für Sie.
Zugriffsschlüssel Wenn Sie beabsichtigen, Speicher mithilfe des Azure CLI zu installieren, müssen Sie einen Zugriffsschlüssel abrufen. Wählen Sie diese Option aus, wenn das Speicherkonto keine Serviceendpunkte, Privateendpunkte oder Azure Key Vault verwendet.
Key Vault Verwenden Sie diese Option auch, wenn Sie den Speicher mithilfe der Azure CLI bereitstellen möchten, was die Zugriffstaste erfordert. Wählen Sie diese Option aus, wenn Sie Azure Key Vault verwenden, um Zugriffstasten sicher zu speichern und abzurufen. Azure Key Vault bietet die Vorteile des zentralen und sicheren Speicherns von Anwendungsschlüsseln mit der Möglichkeit, andere Azure Dienste wie Azure App Service zu überwachen, zu verwalten und zu integrieren.

Voraussetzungen

Begrenzungen

  • Speicherfirewall wird nur über private Endpunkte und Dienstendpunkte unterstützt, wenn Sie die virtuelle Netzwerkintegrationverwenden.
  • Azure-Blobs werden beim Konfigurieren von Azure-Speicherbereitstellungen für Windows-Code-Apps, die für App Service bereitgestellt werden, nicht unterstützt.
  • FTP/FTPS-Zugriff auf den bereitgestellten Speicher wird nicht unterstützt. Verwenden Sie Azure Storage Explorer.
  • Es wird nicht unterstützt, /mounts, mounts/name1/name2, /und /mounts/name.ext/ einem benutzerdefinierten Speicher zuzuordnen. Sie können nur /mounts/pathname für die Montage von benutzerdefiniertem Speicher in Ihre Web-App verwenden.
  • Speichereinbindungen sind nicht in Sicherungen enthalten. Achten Sie darauf, bewährte Methoden zu befolgen, um Azure Storage Konten zu sichern.
  • Bei der Integration des virtuellen Netzwerks in Ihre App verwendet das bereitgestellte Laufwerk eine RFC1918 IP-Adresse und keine IP-Adresse aus Ihrem virtuellen Netzwerk.

Vorbereitung zur Montage

Es sind keine zusätzlichen Schritte erforderlich, da das Portal den Zugriffsschlüssel für Sie abruft und speichert.

Bereitstellen von Speicher für Windows-Code

So binden Sie Speicherplatz mithilfe des Azure-Portals in den Windows-Code ein:

  1. Wechseln Sie im Azure-Portal zur App.

  2. Wählen Sie auf der linken Navigationsleiste Einstellungen>Konfiguration aus. Wählen Sie Path-Zuordnungen aus, und wählen Sie dann Neue Azure Storage Mount aus.

  3. Konfigurieren Sie die Speichermontage gemäß der folgenden Tabelle. Wenn Sie fertig sind, wählen Sie OKaus.

    Einstellung BESCHREIBUNG
    Name Name der Einbindungskonfiguration. Verwenden Sie keine Leerzeichen.
    Konfigurationsoptionen Wählen Sie Basic aus, wenn das Speicherkonto Private-Endpunkte oder Azure Key Vault nicht verwendet. Wählen Sie andernfalls Erweitert aus.
    Speicherkonten Azure Storage Konto. Es muss eine Azure Files-Freigabe enthalten sein.
    Freigabename Die einzubindende Dateifreigabe.
    Speicherzugriff Wählen Sie Key Vault Reference für Azure Key Vault aus. Wählen Sie andernfalls "Manuelle Eingabe" aus.
    Zugriffsschlüssel (nur „Erweitert“) Zugriffsschlüssel für Ihr Speicherkonto.
    Einbindungspfad Verzeichnis in Ihrem App-Dienst, das Sie einbinden möchten. Es wird nur /mounts/pathname unterstützt.
    Anwendungseinstellungen Wählen Sie die App-Einstellung mit dem Azure Key Vault Geheimnis aus.
    Bereitstellungssloteinstellung Wenn ausgewählt, gelten die Speichermontageeinstellungen auch für die Deployment-Slots.

Hinweis

Wenn Sie einen Speichermount hinzufügen, bearbeiten oder löschen, wird die App neu gestartet.

Bewährte Methoden

  • Azure Storage kann als virtuelles Verzeichnis konfiguriert werden, um statische Inhalte bereitzustellen. Um das virtuelle Verzeichnis zu konfigurieren, wählen Sie im linken Navigationsbereich Einstellungen>Konfigurationaus. Wählen Sie dann Pfadzuordnungenaus, dann Neue virtuelle Anwendung oder Verzeichnis. Legen Sie den Physical-Pfad auf den Mount-Pfad fest, der für das Azure Storage Mount definiert wurde.

  • Um Latenzprobleme zu vermeiden, platzieren Sie die App und das Azure Storage Konto in derselben Region. Wenn Sie in der Azure Storage Firewallkonfiguration Zugriff von App Service-IP-Adressen gewähren wenn sich die App und Azure Storage Konto in derselben Region befinden, werden diese IP-Einschränkungen nicht berücksichtigt.

  • Vermeiden Sie im Azure Storage-Konto die Regenerierung des Zugriffsschlüssels, den Sie zum Bereitstellen des Speichers in der App verwenden. Das Speicherkonto enthält zwei Schlüssel. Azure App Services speichert einen Azure Speicherkontoschlüssel. Stellen Sie in einem schrittweisen Ansatz sicher, dass die Speichereinbindung während der erneuten Schlüsselgenerierung für die App verfügbar bleibt. Nehmen wir zum Beispiel an, dass Sie mit key1 die Speicherbereitstellung in Ihrer Anwendung konfiguriert haben:

    1. Generieren Sie key2 neu.
    2. Aktualisieren Sie in der Konfiguration der Speichereinbindung den Zugriff auf den Schlüssel, um den neu generierten Schlüssel key2 zu verwenden.
    3. Generieren Sie key1 neu.
  • Wenn Sie ein Azure Storage-Konto, einen Container oder eine Freigabe löschen, entfernen Sie die entsprechende Speicherbereitstellungskonfiguration in der App, um mögliche Fehlerszenarien zu vermeiden.

  • Das bereitgestellte Azure Storage Konto kann entweder Standard- oder Premium-Leistungsstufe sein. Wählen Sie die entsprechende Leistungsstufe für das Speicherkonto nach den Kapazität- und Durchsatzanforderungen der App aus. Weitere Informationen finden Sie unter Skalierbarkeits- und Leistungsziele für Files.

  • Wenn Ihre App auf mehrere Instanzen skaliert, stellen alle Instanzen eine Verbindung mit demselben eingebundenen Azure Storage-Konto her. Um Leistungsengpässe und Durchsatzprobleme zu vermeiden, wählen Sie die entsprechende Leistungsstufe für das Speicherkonto aus.

  • Sie sollten Speichereinbindungen nicht für lokale Datenbanken (z. B. SQLite) oder andere Anwendungen und Komponenten verwenden, die auf Dateihandles und -sperren basieren.

  • Wenn Sie ein Speicherfailover initiieren, wenn das Speicherkonto in die App eingebunden ist, stellt die Einbindung erst eine Verbindung her, wenn die App neu gestartet oder die Speichereinbindung entfernt und wieder hinzugefügt wird.

  • Stellen Sie sicher, dass Port 445 geöffnet ist, wenn Sie Azure Files mit der Integration des virtuellen Netzwerks verwenden. Stellen Sie außerdem sicher, dass die App-Einstellung WEBSITE_CONTENTOVERVNET auf 1 festgelegt ist.

  • Das bereitgestellte Azure Storage Konto kann entweder Standard- oder Premium-Leistungsstufe sein. Wählen Sie die entsprechende Leistungsstufe für das Speicherkonto nach den Kapazität- und Durchsatzanforderungen der App aus. Siehe die Skalierbarkeits- und Leistungsziele für Dateien.

Nächster Schritt

Azure Storage ist die Cloudspeicherlösung von Microsoft für moderne Datenspeicherszenarien. Azure Storage bietet hochverwendbare, massiv skalierbare, langlebige und sichere Speicherung für Datenobjekte in der Cloud. In diesem Leitfaden erfahren Sie, wie Sie Azure Storage-Dateien als Netzwerkfreigabe in einem Windows-Container in App Service einbinden.

Azure Storage unterstützt Azure Files Shares und Premium Files Shares. Azure Storage ist nicht der Standardspeicher für App Service. Es wird separat in Rechnung gestellt. Sie können auch Azure Storage in einer ARM-Vorlage konfigurieren.

Zu den Vorteilen benutzerdefiniert bereitgestellten Speichers zählen:

  • Konfigurieren Sie persistenten Speicher für Ihre App Service-App, und verwalten Sie den Speicher separat.
  • Machen Sie statische Inhalte wie Videos und Bilder ohne Weiteres für Ihre App Service-App verfügbar.
  • Schreiben Sie Anwendungsprotokolldateien oder archivieren Sie ältere Anwendungsprotokolle auf Azure-Dateifreigaben.
  • Freigeben von Inhalten über mehrere Apps oder mit anderen Azure-Diensten.
  • Bereitstellen von Azure Storage in einem Windows-Container, einschließlich „App Service (isoliert)“. Weitere Informationen finden Sie unter der App Service-Umgebung v3.

Die folgenden Features werden für Windows Container unterstützt:

Hier sind die drei Optionen zum Bereitstellen Azure Speichers für Ihre App:

Montageoption Verwendung
Basic Wählen Sie diese Option aus, wenn Sie Speicher mithilfe des Azure-Portals einhängen. Sie können die standardoption verwenden, solange das Speicherkonto nicht service-Endpunkte, Private-Endpunkte oder Azure Key Vault verwendet. In diesem Fall ruft das Portal den Zugriffsschlüssel ab und speichert diesen für Sie.
Zugriffsschlüssel Wenn Sie den Speicher mithilfe der Azure CLI bereitstellen möchten, müssen Sie einen Zugriffsschlüssel abrufen. Wählen Sie diese Option aus, wenn das Speicherkonto nicht Service-Endpunkte, Private-Endpunkte oder Azure Key Vault verwendet.
Key Vault Verwenden Sie diese Option auch, wenn Sie den Speicher mithilfe der Azure CLI bereitstellen möchten, was die Zugriffstaste erfordert. Wählen Sie diese Option aus, wenn Sie Azure Key Vault verwenden, um Zugriffstasten sicher zu speichern und abzurufen. Azure Key Vault bietet die Vorteile des zentralen und sicheren Speicherns von Anwendungsschlüsseln mit der Möglichkeit, andere Azure Dienste wie Azure App Service zu überwachen, zu verwalten und zu integrieren.

Voraussetzungen

Begrenzungen

  • Azure Blobs werden nicht unterstützt.
  • Speicherfirewall wird nur über private Endpunkte und Dienstendpunkte unterstützt, wenn Sie die virtuelle Netzwerkintegrationverwenden.
  • FTP/FTPS-Zugriff auf bereitgestellten Speicher wird nicht unterstützt (verwenden Sie Azure Storage Explorer).
  • Zuordnung von [C-Z]:\, [C-Z]:\home, /und /home zu benutzerdefiniert gemountetem Speicher wird nicht unterstützt.
  • Speichereinbindungen werden nicht gesichert, wenn Sie Ihre App sichern. Achten Sie darauf, bewährte Methoden zu befolgen, um die Azure Storage-Konten zu sichern.
  • Bei der Integration des virtuellen Netzwerks in Ihre App verwendet das bereitgestellte Laufwerk eine RFC1918 IP-Adresse und keine IP-Adresse aus Ihrem virtuellen Netzwerk.

Vorbereitung zur Montage

Es sind keine zusätzlichen Schritte erforderlich, da das Portal den Zugriffsschlüssel für Sie abruft und speichert.

Speicher an Windows-Container anhängen

So stellen Sie den Speicher mithilfe des Azure Portals in einen Windows Container bereit:

  1. Wechseln Sie im Azure-Portal zur App.

  2. Wählen Sie auf der linken Navigationsleiste Einstellungen>Konfiguration aus. Wählen Sie Path-Zuordnungen aus, und wählen Sie dann Neue Azure Storage Mount aus.

  3. Konfigurieren Sie die Speichermontage gemäß der folgenden Tabelle. Wenn Sie fertig sind, wählen Sie OKaus.

    Einstellung BESCHREIBUNG
    Name Name der Einbindungskonfiguration. Verwenden Sie keine Leerzeichen.
    Konfigurationsoptionen Wählen Sie "Einfach" aus.
    Speicherkonten Azure Storage Konto. Es muss eine Azure Files-Freigabe enthalten sein.
    Freigabename Die einzubindende Dateifreigabe.
    Einbindungspfad Verzeichnis in Ihrem Windows-Container, das Sie einbinden möchten. Verwenden Sie kein Stammverzeichnis ([C-Z]:* oder /) oder das Home Verzeichnis ([C-Z]:\home* oder /home).
    Bereitstellungssloteinstellung Wenn ausgewählt, gelten die Speichermontageeinstellungen auch für die Deployment-Slots.

Hinweis

Durch Hinzufügen, Bearbeiten oder Löschen einer Speicher mount wird die App neu gestartet.

Bewährte Methoden

  • Um Latenzprobleme zu vermeiden, platzieren Sie die App und das Azure Storage Konto in derselben Region. Wenn Sie in der Azure Storage Firewallkonfiguration Zugriff von App Service-IP-Adressen gewähren wenn sich die App und Azure Storage Konto in derselben Region befinden, werden diese IP-Einschränkungen nicht berücksichtigt.

  • Vermeiden Sie im Azure Storage-Konto die Regenerierung des Zugriffsschlüssels, den Sie zum Bereitstellen des Speichers in der App verwenden. Das Speicherkonto enthält zwei Schlüssel. Azure App Service speichert einen Azure Speicherkontoschlüssel. Stellen Sie in einem schrittweisen Ansatz sicher, dass die Speichereinbindung während der erneuten Schlüsselgenerierung für die App verfügbar bleibt. Nehmen wir zum Beispiel an, dass Sie mit key1 die Speicherbereitstellung in Ihrer Anwendung konfiguriert haben:

    1. Generieren Sie key2 neu.
    2. Aktualisieren Sie in der Konfiguration der Speichereinbindung den Zugriff auf den Schlüssel, um den neu generierten Schlüssel key2 zu verwenden.
    3. Generieren Sie key1 neu.
  • Wenn Sie ein Azure Storage-Konto, einen Container oder eine Freigabe löschen, entfernen Sie die entsprechende Speicherbereitstellungskonfiguration in der App, um mögliche Fehlerszenarien zu vermeiden.

  • Das bereitgestellte Azure Storage Konto kann entweder Standard- oder Premium-Leistungsstufe sein. Wählen Sie die entsprechende Leistungsstufe für das Speicherkonto nach den Kapazität- und Durchsatzanforderungen der App aus. Weitere Informationen finden Sie unter Skalierbarkeits- und Leistungsziele für Files.

  • Wenn Ihre App auf mehrere Instanzen skaliert, stellen alle Instanzen eine Verbindung mit demselben eingebundenen Azure Storage-Konto her. Um Leistungsengpässe und Durchsatzprobleme zu vermeiden, wählen Sie die entsprechende Leistungsstufe für das Speicherkonto aus.

  • Verwenden Sie keine Speichereinbindungen für lokale Datenbanken, z. B. SQLite, oder für andere Anwendungen und Komponenten, die auf Dateihandles und -sperren basieren.

  • Stellen Sie sicher, dass Port 445 geöffnet ist, wenn Sie Azure Files mit der Integration des virtuellen Netzwerks verwenden.

  • Wenn Sie ein Speicherfailover initiieren, wenn das Speicherkonto in die App eingebunden ist, stellt die Einbindung erst eine Verbindung her, wenn die App neu gestartet oder die Speichereinbindung entfernt und wieder hinzugefügt wird.

Nächster Schritt

Hinweis

Unterstützung für NFS ist jetzt für den App-Dienst unter Linux verfügbar.

In diesem Handbuch wird gezeigt, wie Sie Azure Storage als Netzwerkfreigabe in einem integrierten Linux-Container oder einem benutzerdefinierten Linux-Container in App Service bereitstellen. Azure Storage ist die Cloudspeicherlösung von Microsoft für moderne Datenspeicherszenarien. Azure Storage bietet hochverwendbare, massiv skalierbare, langlebige und sichere Speicherung für Datenobjekte in der Cloud. Azure Storage ist nicht der Standardspeicher für App Service. Es wird separat in Rechnung gestellt. Sie können auch Azure Storage in einer ARM-Vorlage konfigurieren.

Zu den Vorteilen benutzerdefiniert bereitgestellten Speichers zählen:

  • Konfigurieren Sie persistenten Speicher für Ihre App Service-App, und verwalten Sie den Speicher separat.
  • Machen Sie statische Inhalte wie Videos und Bilder ohne Weiteres für Ihre App Service-App verfügbar.
  • Schreiben Sie Anwendungsprotokolldateien oder archivieren Sie ältere Anwendungsprotokolle auf Azure-Dateifreigaben.
  • Freigeben von Inhalten über mehrere Apps oder mit anderen Azure-Diensten.
  • Unterstützt Azure Files NFS und Azure Files SMB.
  • Unterstützt Azure-Blobs (nur schreibgeschützt).
  • Unterstützt bis zu fünf Bereitstellungspunkte pro App.

Zu den Einschränkungen benutzerspezifisch bereitgestellter Speicher gehören:

  • Speicherfirewall wird nur dann über Dienstendpunkte und private Endpunkte unterstützt, wenn Sie die virtuelle Netzwerkintegrationverwenden.
  • FTP/FTPS-Zugriff auf benutzerdefinierten Speicher wird nicht unterstützt. Verwenden Sie Azure Storage Explorer.
  • Gemeinsam genutzte Speicherkonto-Zugriffsschlüssel sind die einzigen unterstützten Authentifizierungsarten. Entra ID- und RBAC-Rollen werden nicht unterstützt.
  • Azure CLI, Azure PowerShell und Azure SDK Unterstützung wird in der Vorschau angezeigt.
  • Die Zuordnung von / oder /home zu benutzerdefiniert eingebundenem Speicher wird nicht unterstützt.
  • Ordnen Sie die Speichereinbindung nicht /tmp oder dessen Unterverzeichnisse zu. Diese Aktion kann während des App-Starts zu einem Timeout führen.
  • Azure Storage wird in szenarien mit Docker Compose nicht unterstützt.
  • Speichereinbindungen sind nicht in Sicherungen enthalten. Achten Sie darauf, bewährte Methoden zu befolgen, um die Azure Storage-Konten zu sichern.
  • NFS-Unterstützung ist nur für App Service on Linux verfügbar. NFS wird für Windows Code und Windows Container nicht unterstützt. Die Web-App und das Speicherkonto müssen im selben virtuellen Netzwerk für NFS konfiguriert werden. Das für die Dateifreigabe verwendete Speicherkonto sollte die Leistungsstufe Premium und den Kontotyp Dateispeicher aufweisen. Azure Key Vault gilt nicht bei Verwendung des NFS-Protokolls.
  • Bei der Integration des virtuellen Netzwerks in Ihre App verwendet das bereitgestellte Laufwerk eine RFC1918 IP-Adresse und keine IP-Adresse aus Ihrem virtuellen Netzwerk.

Montageoptionen

Sie müssen den Speicher an die App bereitstellen. Hier sind drei Montageoptionen für Azure Speicher:

Montageoption Verwendung
Basic Wählen Sie diese Option aus, um Speicher über das Azure Portal bereitzustellen. Sie können die standardoption verwenden, solange das Speicherkonto nicht service-Endpunkte, Private-Endpunkte oder Azure Key Vault verwendet. In diesem Fall ruft das Portal den Zugriffsschlüssel ab und speichert diesen für Sie.
Zugriffsschlüssel Wenn Sie beabsichtigen, den Speicher mithilfe des Azure CLI zu installieren, müssen Sie eine Zugriffstaste abrufen. Wählen Sie diese Option aus, wenn das Speicherkonto nicht Service-Endpunkte, Private-Endpunkte oder Azure Key Vault verwendet.
Key Vault Verwenden Sie diese Option auch, wenn Sie den Speicher mithilfe der Azure CLI bereitstellen möchten, was die Zugriffstaste erfordert. Wählen Sie diese Option aus, wenn Sie Azure Key Vault verwenden, um Zugriffstasten sicher zu speichern und abzurufen. Azure Key Vault bietet die Vorteile des zentralen und sicheren Speicherns von Anwendungsschlüsseln mit der Möglichkeit, andere Azure Dienste wie Azure App Service zu überwachen, zu verwalten und zu integrieren.

Voraussetzungen

Vorbereitung zur Montage

Es sind keine zusätzlichen Schritte erforderlich, da das Portal den Zugriffsschlüssel für Sie abruft und speichert.

Speicher für Linux-Container einbinden

Die Art und Weise, wie Sie Den Speicher bereitstellen, hängt von Ihrer Speicherzugriffsoption und davon ab, ob Sie das Portal oder die Azure CLI verwenden.

  1. Wechseln Sie im Azure-Portal zur App.

  2. Wählen Sie auf der linken Navigationsleiste Einstellungen>Konfiguration aus. Wählen Sie Path-Zuordnungen aus, und wählen Sie dann Neue Azure Storage Mount aus.

  3. Konfigurieren Sie die Speichermontage gemäß der folgenden Tabelle. Wenn Sie fertig sind, wählen Sie OKaus.

    Einstellung BESCHREIBUNG
    Name Name der Einbindungskonfiguration. Verwenden Sie keine Leerzeichen.
    Konfigurationsoptionen Wählen Sie Basic aus, wenn das Speicherkonto nicht Service-Endpunkte, Private-Endpunkte oder Azure Key Vault verwendet. Wählen Sie andernfalls Erweitert aus.
    Speicherkonten Azure Storage Konto.
    Speichertyp Wählen Sie den Typ basierend auf dem Speicher aus, den Sie bereitstellen möchten. Azure Blobs unterstützt nur schreibgeschützten Zugriff.
    Speichercontainer oder Freigabename Dateifreigabe oder Blobscontainer, die/der eingebunden werden soll.
    Einbindungspfad Verzeichnis innerhalb des Linux-Containers, das an Azure Storage bereitgestellt werden soll. Verwenden Sie / oder /homenicht.
    Bereitstellungssloteinstellung Bei Aktivierung dieser Einstellung gelten die Speichereinbindungseinstellungen auch für Bereitstellungsslots.

Hinweis

Durch Hinzufügen, Bearbeiten oder Löschen einer Speicher mount wird die App neu gestartet.

Überprüfen des eingebundenen Speichers

So überprüfen Sie, ob Azure Storage für die App erfolgreich bereitgestellt wird:

  1. Öffnen Sie eine SSH-Sitzung im Container.

  2. Führen Sie dann im SSH-Terminal folgenden Befehl aus:

    df –h 
    
  3. Überprüfen Sie, ob die Speicherfreigabe eingebunden wurde. Wenn sie nicht vorhanden ist, liegt ein Problem beim Einbinden der Speicherfreigabe vor.

  4. Überprüfen Sie die Latenz oder Erreichbarkeit der Speichereinbindung mithilfe des folgenden Befehls:

    tcpping Storageaccount.file.core.windows.net 
    

Storage-Mount Zustandsprüfungen und automatische Wiederherstellung

Azure App Service enthält einen integrierten Integritätsprüfungsmechanismus, um sicherzustellen, dass bereitgestellte Azure Storage Volumes (Azure Files oder Azure Blob) barrierefrei und reaktionsfähig bleiben. Dieses System hilft, Anwendungsstillstände zu verhindern, die durch veraltete oder getrennte Speichermounts verursacht werden.

Funktionsweise der Gesundheitsprüfung

  1. Periodischer E/A-Test
    Der App Service führt periodisch E/A an einer Markierungsdatei mit dem Namen __lastCheckTime.txt durch.

    • Speicherort: Ein LogFiles Unterverzeichnis unter dem bereitgestellten Pfad (z. B. /mount/path/LogFiles/__lastCheckTime.txt).
    • Benehmen:
      • Für diese Datei wird ein Lesevorgang versucht.
      • Die Datei muss nicht vorhanden sein – "Datei nicht gefunden" wird als erfolgreiche Überprüfung behandelt.
  2. Frequenz
    Die Überprüfung wird standardmäßig alle 5 Sekunden ausgeführt.

  3. Fehlerbehandlung

    • Jede fehlgeschlagene oder mit Timeout behaftete Prüfung erhöht den Counter Fehlgeschlagener Ping.
    • Wenn Fehler den konfigurierten Schwellenwert überschreiten:
      • Azure Files: 18 fehlgeschlagene Pings
      • Azure Blob: 15 fehlgeschlagene Pings
    • Das Mounten wird als Fehlerhaft markiert und App Service startet die App automatisch neu, um die Verbindung zur Freigabe wiederherzustellen.

Konfiguration über App-Einstellungen

Sie können das Verhalten der Gesundheitsprüfung mithilfe der folgenden Einstellungen der App anpassen.

Speichertyp Einstellungsname Standardwert BESCHREIBUNG
Azure Files WEBSITE_BYOS_FILES_HEALTH_CHECK_FREQUENCY 5 Intervall in Sekunden zwischen Gesundheitsprüfungen.
Azure Files WEBSITE_BYOS_FILES_MAX_FAILED_PINGS 18 Anzahl aufeinander folgender Fehler, bevor das Volume als fehlerhaft markiert wird.
Azure Files WEBSITE_BYOS_FILES_AUTO_RECOVERY_ENABLED true Setzen Sie false um die Logik für die automatische Wiederherstellung zu deaktivieren.
Azure Blob WEBSITE_BYOS_BLOB_HEALTH_CHECK_FREQUENCY 5 Intervall in Sekunden zwischen Gesundheitsprüfungen.
Azure Blob WEBSITE_BYOS_BLOB_MAX_FAILED_PINGS 15 Anzahl aufeinander folgender Fehler, bevor das Volume als fehlerhaft markiert wird.
Azure Blob WEBSITE_BYOS_BLOB_AUTO_RECOVERY_ENABLED true Setzen Sie false um die Logik für die automatische Wiederherstellung zu deaktivieren.
Azure Blob WEBSITE_BYOS_BLOB_DIRECT_IO false Wenn diese Option aktiviert ist, werden alle Transaktionen den Remotespeicher direkt abfragen und die Zwischenspeicherung wird umgangen. Diese Einstellung wird auf Anwendungsebene angewendet und wirkt sich daher auf alle Blob-Freigaben aus, die von der Anwendung gemountet werden.

Hinweise

  • Die automatische Wiederherstellung verhindert, dass Anwendungen aufgrund von nicht reagierenden Storage-Pfaden lange Zeit hängen bleiben.
  • Deaktivieren Sie die automatische Wiederherstellung nur, wenn Sie ein bestimmtes Mounting-Verhalten beheben.

Bewährte Methoden

Leistung

  • Um Latenzprobleme zu vermeiden, platzieren Sie die App und das Azure Storage Konto in derselben Region. Wenn Sie in der Azure Storage Firewallkonfiguration Zugriff von App Service-IP-Adressen gewähren wenn sich die App und Azure Storage Konto in derselben Region befinden, werden diese IP-Einschränkungen nicht berücksichtigt.

  • Das bereitgestellte Azure Storage Konto kann entweder Standard- oder Premium-Leistungsstufe sein. Wählen Sie die entsprechende Leistungsstufe für das Speicherkonto nach den Kapazität- und Durchsatzanforderungen der App aus. Betrachten Sie die Skalierbarkeits- und Leistungsziele, die dem Speichertyp entsprechen:Dateien und Blobs.

  • Wenn Ihre App auf mehrere Instanzen skaliert, verbinden alle Instanzen sich mit demselben eingebundenen Azure Storage Konto. Um Leistungsengpässe und Durchsatzprobleme zu vermeiden, wählen Sie die entsprechende Leistungsstufe für das Speicherkonto aus.

Sicherheit

  • Vermeiden Sie im Azure Storage-Konto das Regenerieren des Zugriffsschlüssels, den Sie zum Einbinden des Speichers in der App verwenden. Das Speicherkonto enthält zwei Schlüssel. Azure App Services speichert einen Azure Speicherkontoschlüssel. Stellen Sie in einem schrittweisen Ansatz sicher, dass die Speichereinbindung während der erneuten Schlüsselgenerierung für die App verfügbar bleibt. Nehmen wir zum Beispiel an, dass Sie mit key1 die Speicherbereitstellung in Ihrer Anwendung konfiguriert haben:

    1. Generieren Sie key2 neu.
    2. Aktualisieren Sie in der Konfiguration der Speichereinbindung den Zugriff auf den Schlüssel, um den neu generierten Schlüssel key2 zu verwenden.
    3. Generieren Sie key1 neu.

Konfiguration

  • Wenn Sie ein Echtzeitdateisystem verwenden müssen, in dem Sie erwarten, dass Änderungen schnell geändert, hinzugefügt oder entfernt werden, verwenden Sie Azure Files als Speichertyp, wenn Sie Speicher bereitstellen. Wenn Dateien statisch sind und Sie nicht erwarten, dass sie sich ändern, verwenden Sie Azure Blob.

Problembehandlung

  • Das Einbindungsverzeichnis im benutzerdefinierten Container sollte leer sein. Alle an diesem Pfad gespeicherten Inhalte werden gelöscht, wenn die Azure Storage bereitgestellt wird, wenn Sie beispielsweise ein Verzeichnis unter /home angeben. Wenn Sie Dateien für eine vorhandene App migrieren, erstellen Sie eine Sicherung der App und des zugehörigen Inhalts, bevor Sie beginnen.
  • Wenn Sie eine NFS-Freigabe mounten, müssen Sie sicherstellen, dass „Sichere Übertragung erforderlich“ für das Speicherkonto deaktiviert ist. App Service unterstützt das Mounting von NFS-Freigaben nicht, wenn diese Einstellung aktiviert ist. Es verwendet Port 2049 und virtuelle Netzwerkintegration und private Endpunkte als Sicherheitsmaßnahme.
  • Wenn Sie ein Azure Storage-Konto, einen Container oder eine Freigabe löschen, entfernen Sie die entsprechende Speicherbereitstellungskonfiguration in der App, um mögliche Fehlerszenarien zu vermeiden.
  • Verwenden Sie keine Speichereinbindungen für lokale Datenbanken, z. B. SQLite, oder für andere Anwendungen und Komponenten, die auf Dateihandles und -sperren basieren.
  • Stellen Sie sicher, dass die folgenden Ports geöffnet sind, wenn Sie die Integration des virtuellen Netzwerks verwenden: Azure Files: 80 und 445. Azure Blobs: 80 und 443.
  • Wenn Sie ein Speicherfailover initiieren, wenn das Speicherkonto in die App eingebunden ist, stellt die Einbindung erst eine Verbindung her, wenn die App neu gestartet oder die Speichereinbindung entfernt und wieder hinzugefügt wird.