Warum kann ich meine Amazon-EFS-Volumes nicht in meinen AWS-Fargate-Aufgaben mounten?

Lesedauer: 6 Minute
0

Wenn ich meine Amazon Elastic File System (Amazon EFS)-Volumes in meinen AWS-Fargate-Aufgaben mounte, erhalte ich Fehler.

Kurzbeschreibung

Amazon EFS bietet eine persistente Speicherlösung für Ihre Fargate-Aufgaben an, mit der Sie Dateien und Daten für verschiedene Aufgaben gemeinsam nutzen können.

Die folgenden Probleme könnten Sie daran hindern, Ihre Amazon-EFS-Volumes in Ihre Fargate-Aufgaben einzubinden:

  • Das Amazon-EFS-Dateisystem ist nicht korrekt konfiguriert.
  • Die AWS Identity and Access Management (IAM)-Rolle für die Amazon Elastic Container Service (Amazon ECS)-Aufgabe verfügt nicht über die erforderlichen Berechtigungen.
  • Es bestehen Probleme im Zusammenhang mit Netzwerk- und Amazon Virtual Private Cloud (Amazon VPC)-Konfigurationen.

Um die Fehler für Amazon Elastic Container Service (Amazon ECS)-Aufgaben zu beheben, die nicht gestartet werden können, verwenden Sie das AWSSupport-TroubleshootECSTaskFailedToStart-Runbook. Lesen Sie dann die entsprechenden Schritte zur Fehlerbehebung für Ihr Problem.

Lösung

Nach der Aufgabe suchen, die nicht gestartet werden konnte

Wichtig:

  • Verwenden Sie das AWSSupport-TroubleshootECSTaskFailedToStart-Runbook in derselben AWS-Region, in der sich Ihre ECS-Cluster-Ressourcen befinden.
  • Wenn Sie das Runbook verwenden, müssen Sie die Aufgaben-ID verwenden, die zuletzt ausgefallen ist. Wenn die fehlgeschlagene Aufgabe Teil eines Amazon-ECS-Service ist, verwenden Sie die zuletzt ausgefallene Aufgabe im Service. Die fehlgeschlagene Aufgabe muss während der Automatisierungsausführung in ECS:DescribeTasks sichtbar sein. Standardmäßig sind gestoppte ECS-Aufgaben eine Stunde lang sichtbar, nachdem sie den Status Stopped erreicht haben. Durch die Verwendung der zuletzt ausgefallenen Aufgaben-ID wird verhindert, dass die Aufgabenstatusbereinigung die Analyse während der Automatisierung unterbricht.

Anweisungen zum Initiieren des Runbooks finden Sie unter AWSSupport-TroubleshootECSTaskFailedToStart. Verwenden Sie auf der Grundlage der Ergebnisse der Automatisierung einen der folgenden manuellen Schritte zur Fehlerbehebung.

Fehler der Aufgabe anhand Ihrer Fehlermeldung beheben

Wenn Sie versuchen, Ihr EFS-Volume auf Ihrer Fargate-Aufgabe zu mounten, wird möglicherweise einer der folgenden Fehler angezeigt:

„ResourceInitializationError: failed to invoke EFS utils commands to set up EFS volumes: stderr: b'mount.nfs4: Connection timed out' : unsuccessful EFS utils command execution; code: 32“

Diese Fehler treten auf, wenn Ihre Fargate-Aufgabe aufgrund des Verbindungszeitpunkts keine Verbindung zum EFS-Dateisystem herstellen kann. Gehen Sie wie folgt vor, um diesen Fehler zu beheben:

  1. Öffnen Sie die Amazon-EFS-Konsole.
  2. Wählen Sie im Navigationsbereich Dateisysteme aus.
  3. Wählen Sie das Dateisystem aus, das Sie überprüfen möchten, indem Sie seinen Namen oder die Dateisystem-ID wählen.
  4. Wählen Sie Netzwerk aus, um die Liste der vorhandenen Mount-Ziele anzuzeigen.
  5. Wählen Sie Verwalten aus.

Sie können die Sicherheitsgruppe und die Regeln für eingehenden Datenverkehr der Sicherheitsgruppe für die Mount-Ziele anzeigen.

Stellen Sie sicher, dass die Regel für eingehenden Datenverkehr für die Sicherheitsgruppe den Datenverkehr von der Fargate-Aufgaben-Sicherheitsgruppe auf Port 2049 zulässt. Vergewissern Sie sich, dass Netzwerkverkehr auf Subnetzebene zulässig ist. Stellen Sie dazu sicher, dass die Netzwerk-Zugriffssteuerungsliste den Datenverkehr zwischen dem Dateisystem und der Aufgabe zulässt. Wenn der Datenverkehr nicht zugelassen ist, ändern Sie die Regeln entsprechend. Weitere Informationen finden Sie unter Sicherheit in Amazon Virtual Private Cloud.

„ResourceInitializationError: failed to invoke EFS utils commands to set up EFS volumes: stderr: mount.nfs4: Connection reset by peer : unsuccessful EFS utils command execution; code: 32“

Dieser Fehler wird aus einem der folgenden Gründe angezeigt:

  • Sie haben das EFS-Dateisystem unmittelbar nach der Erstellung des Dateisystems gemountet.
  • Die Sicherheitsgruppe für das Mount-Ziel lässt keinen eingehenden Datenverkehr von Fargate-Aufgaben auf Port 2049 zu.
  • Sie verwenden AWS App Mesh und der ausgehende Datenverkehr an Port 2049 ist aufgrund von Proxy-Regeln blockiert.

Gehen Sie wie folgt vor, um diesen Fehler zu beheben:

  • Nach der Erstellung eines Mount-Ziels können bis zu 90 Sekunden vergehen, bis sich die DNS-Einträge vollständig in einer AWS-Region verbreitet haben. Wenn Sie die Dateisysteme programmgesteuert erstellen und bereitstellen, z. B. mit einer AWS-CloudFormation-Vorlage, implementieren Sie eine Wartebedingung.
  • Stellen Sie sicher, dass die Sicherheitsgruppenregel für eingehenden Datenverkehr, die an die Mount-Ziele des EFS-Dateisystems angehängt ist, den Datenverkehr von Fargate-Aufgaben über Port 2049 zulässt.
  • Wenn Sie App Mesh verwenden, stellen Sie sicher, dass Ihre in der TaskDefinition angegebene Proxy-Konfiguration 2049 als EgressIgnoredPorts enthält.

„ResourceInitializationError: failed to invoke EFS utils commands to set up EFS volumes: stderr: Failed to resolve "fs-xxxxxxxxxxx.efs.us-east-1.amazonaws.com" - check that your file system ID is correct“

Dieser Fehler wird aus einem der folgenden Gründe angezeigt:

  • Das EFS-Dateisystem-Mount-Ziel wurde in einer Availability Zone, in der Fargate-Aufgaben gestartet werden, nicht erstellt oder ist dort nicht verfügbar.
  • Sie verwenden einen benutzerdefinierten DNS-Server für die VPC.
  • Die VPC-DNS-Hostnamen sind deaktiviert. DNS-Hostnamen sind standardmäßig deaktiviert.

Versuchen Sie Folgendes, um diesen Fehler zu beheben:

„ResourceInitializationError: failed to invoke EFS utils commands to set up EFS volumes: stderr: b'mount.nfs4: access denied by server while mounting 127.0.0.1:/' : unsuccessful EFS utils command execution; code: 32“

Dieser Fehler wird angezeigt, wenn die folgenden Richtlinien und Berechtigungen den Zugriff auf das Dateisystem verweigern:

  • Die Dateisystemrichtlinie
  • Die Aufgabenrollenrichtlinie
  • Die Berechtigungen auf POSIX-Dateisystemebene

Der Zugriff auf ein EFS-Dateisystem kann durch Berechtigungen geregelt werden, die in den folgenden Ressourcen definiert sind:

  • Netzwerk-Zugriffssteuerungslisten
  • Sicherheitsgruppen
  • EFS-Dateisystemrichtlinien
  • IAM-Richtlinie für ECS-Aufgaben-Rollen
  • Eine POSIX-Datei

Weitere Informationen finden Sie im Entwicklerleitfaden zur Verwendung von Amazon EFS mit Amazon ECS und AWS Fargate – Teil 2.

Um diesen Fehler zu beheben, überprüfen Sie, ob die Dateisystemrichtlinie oder die IAM-Richtlinie für die ECS-Aufgabenrolle den Zugriff auf das Dateisystem verweigert. Wenn diese Richtlinien Berechtigungen verweigern, ändern Sie die Richtlinien, um Berechtigungen für den Zugriff auf das Dateisystem zu gewähren. Wenn die Dateisystemrichtlinie nicht existiert, wird bei der Erstellung standardmäßig allen Prinzipalen Zugriff auf das Dateisystem gewährt.

Ähnliche Informationen

Amazon-EFS-Dateisysteme erstellen

Mount-Ziele und Sicherheitsgruppen erstellen und verwalten

Wie mounte ich ein Amazon-EFS-Dateisystem auf einem Amazon-ECS-Container oder einer Aufgabe, die auf Fargate ausgeführt wird?

Das Mounten des Dateisystems schlägt unmittelbar nach der Erstellung des Dateisystems fehl

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr