Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
- Gesicherter Zugriff auf Speicherkonten mit Key Vault, privaten Endpunktenund Dienstendpunkten (wenn Sie virtuelle Netzwerkintegrationverwenden).
- Azure Files (Lese-/Schreibzugriff).
- Bis zu fünf Mountpunkte pro App.
- Stellen Sie Azure Storage Dateifreigaben mithilfe von /mounts/<path-name> bereit.
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:
Wechseln Sie im Azure-Portal zur App.
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.
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:
- Generieren Sie key2 neu.
- Aktualisieren Sie in der Konfiguration der Speichereinbindung den Zugriff auf den Schlüssel, um den neu generierten Schlüssel key2 zu verwenden.
- 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_CONTENTOVERVNETauf1festgelegt 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:
- Gesicherter Zugriff auf Speicherkonten mithilfe von Key Vault, privaten Endpunkten und Dienstendpunkten , wenn Sie die Integration des virtuellen Netzwerks verwenden.
- Azure Files (Lese-/Schreibzugriff).
- Bis zu fünf Mountpunkte pro App.
- Zuordnung von Laufwerkbuchstaben (C: bis Z:)
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:
Wechseln Sie im Azure-Portal zur App.
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.
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:
- Generieren Sie key2 neu.
- Aktualisieren Sie in der Konfiguration der Speichereinbindung den Zugriff auf den Schlüssel, um den neu generierten Schlüssel key2 zu verwenden.
- 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
- Eine vorhandene App Service on Linux Anwendung.
- Ein Azure Storage-Konto.
- Azure-Dateifreigabe und -Verzeichnis.
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.
Wechseln Sie im Azure-Portal zur App.
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.
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:
Öffnen Sie eine SSH-Sitzung im Container.
Führen Sie dann im SSH-Terminal folgenden Befehl aus:
df –hÜberprüfen Sie, ob die Speicherfreigabe eingebunden wurde. Wenn sie nicht vorhanden ist, liegt ein Problem beim Einbinden der Speicherfreigabe vor.
Ü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
Periodischer E/A-Test
Der App Service führt periodisch E/A an einer Markierungsdatei mit dem Namen__lastCheckTime.txtdurch.-
Speicherort: Ein
LogFilesUnterverzeichnis 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.
-
Speicherort: Ein
Frequenz
Die Überprüfung wird standardmäßig alle 5 Sekunden ausgeführt.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:
- Generieren Sie key2 neu.
- Aktualisieren Sie in der Konfiguration der Speichereinbindung den Zugriff auf den Schlüssel, um den neu generierten Schlüssel key2 zu verwenden.
- 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.