Anforderungen an Dateisystemübertragungen

Bevor Sie einen Dateisystemübertragungsjob erstellen, müssen Sie die erforderlichen APIs aktivieren und Docker installieren.

Wenn beim Ausführen der Ersteinrichtung Fehler auftreten, prüfen Sie, ob die Nutzerdaten, mit denen Sie sich angemeldet haben, die erforderlichen Berechtigungen zum Ausführen der Schritte haben. Manchmal sind diese Berechtigungen nicht für alle Nutzer verfügbar. In diesem Fall müssen Sie sich möglicherweise an einen Projektadministrator wenden.

Systemanforderungen

Wenn Sie den Storage Transfer Service für Dateisystemübertragungen verwenden möchten, benötigen Sie Folgendes:

Die Anforderungen an die Maschine des Übertragungs-Agents sind unten aufgeführt:

  • Ein von Docker unterstützter 64-Bit-Linux-Server oder eine virtuelle Maschine, die auf die Daten zugreifen kann, die Sie übertragen möchten. Die Docker Community Edition unterstützt die Betriebssysteme CentOS, Debian, Fedora und Ubuntu.

    Informationen zur Verwendung anderer Linux-Betriebssysteme finden Sie unter Docker Enterprise.

  • Mindestens 8 GB Arbeitsspeicher pro Container und mindestens vier CPUs sind am effektivsten.

  • Alle Einschränkungen auf System- oder Nutzerebene für die Anzahl der zulässigen Prozess-IDs, z. B. die mit ulimit -u konfiguriert wurden, müssen die Anzahl der Agents berücksichtigen, die Sie ausführen möchten. Jeder Agent-Prozess kann Hunderte von Threads erstellen. Wir empfehlen, die Prozess-ID-Beschränkungen beim Ausführen von Transfer-Agents zu entfernen.

    Kunden, die Podman zum Erstellen von Agent-Containern verwenden, sollten einen --pids-limit-Wert angeben, der hoch genug ist, um die Threads des Storage Transfer Service-Agents aufzunehmen. Der Standardwert für --pids-limit ist 2048. Das kann zu Problemen führen, wenn Sie mehr als einen Agent ausführen. Wir empfehlen, --pids-limit=-1 so festzulegen, dass unbegrenzt viele Prozess-IDs pro Container zulässig sind.

Erforderliche Endpunkte

Die folgenden DNS-Endpunkte müssen für den Übertragungs-Agent zugänglich sein. Ein Agent verwendet je nach Konfiguration möglicherweise nur eine Teilmenge dieser Endpunkte. Für die volle Funktionalität sollten jedoch alle Endpunkte zugelassen werden.

Google-Endpunkte

Diese Liste der erforderlichen Endpunkte kann sich ändern. Um Unterbrechungen bei der Übertragung zu vermeiden, empfehlen wir, die Basisdomain googleapis.com und gcr.io zuzulassen, sofern die Sicherheitsrichtlinien Ihrer Organisation dies zulassen.

Endpunkt Dienst Zweck
storagetransfer.googleapis.com Storage Transfer Service Wird vom Agent verwendet, um eine Verbindung zum Storage Transfer Service herzustellen, Übertragungsaufgaben zu empfangen und den Systemstatus zu melden.
storage.googleapis.com Cloud Storage Wird verwendet, um grundlegende Datenübertragungsvorgänge auszuführen, einschließlich des Auflistens, Lesens und Schreibens von Objekten in Ihren Cloud Storage-Buckets.
www.googleapis.com Google APIs Wird verwendet, um Versionsupdates für den Übertragungs-Agent herunterzuladen.
monitoring.googleapis.com Cloud Monitoring Wird verwendet, um Messwerte zur Übertragungsleistung und zum Agent-Zustand zu exportieren.
logging.googleapis.com Cloud Logging Wird zum Veröffentlichen von System- und Aktivitätsprotokollen von Agenten verwendet.
oauth2.googleapis.com Google OAuth 2.0 Wird verwendet, um Anmeldedaten sicher auszutauschen und kurzlebige Zugriffstokens für die API-Autorisierung abzurufen.
iamcredentials.googleapis.com IAM-Dienstkonto-Anmeldedaten Wird verwendet, um temporäre Anmeldedaten zu generieren, wenn der Agent so konfiguriert ist, dass er die Identität eines bestimmten Dienstkontos annimmt.
cloudresourcemanager.googleapis.com Resource Manager Wird während der Installation und Einrichtung des Agents verwendet, um die Projektkonfiguration und Berechtigungen zu prüfen.
gcr.io Container Registry Wird verwendet, um das Container-Image des Storage Transfer Service-Agents während der Installation herunterzuladen.

Zur Optimierung der Übertragungsleistung kann der Agent bei der Kommunikation mit verschiedenen Endpunkten unterschiedliche HTTP-Protokolle verwenden, darunter mindestens HTTP/1.1 und HTTP/2. Achten Sie darauf, dass Ihre konfigurierten Proxys oder Firewalls alle diese Protokolltypen richtig unterstützen und eine gute Leistung bieten.

Regionale Endpunkte

Wenn Sie Ihre Agents so konfiguriert haben, dass sie regionale Endpunkte (z.B. storage.REGION.rep.googleapis.com) verwenden, müssen diese spezifischen Domainnamen von Ihrem Proxy oder Ihren Firewallregeln anstelle des Standardendpunkts storage.googleapis.com zugelassen werden.

Quell- und Zielspeicherendpunkte

Der Agent benötigt außerdem Netzwerkzugriff auf die jeweiligen Quell- und Zielspeichersysteme, z. B. S3-kompatible APIs, HDFS-Cluster oder NFS für POSIX.

Skalierungseinschränkungen für Jobs und Agents

Für Übertragungsjobs und ‑agents im Storage Transfer Service gelten die folgenden Einschränkungen in Bezug auf die Skalierung:

  • Weniger als eine Milliarde Dateien pro Job
  • Die Bandbreitenobergrenze muss über 1 Mbit/s liegen
  • Bis zu 100 Agents pro Agent-Pool
  • Bis zu 800 Agent-Pools pro Projekt

APIs aktivieren

  1. Aktivieren Sie die Google Storage Transfer API, falls sie noch nicht aktiviert ist.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    API aktivieren

Docker installieren

Wenn Sie die Google Cloud CLI oder Docker zum Installieren und Ausführen von Übertragungs-Agents verwenden, installieren Sie die Docker-Engine auf einem physischen oder virtuellen Linux-Computer.

Wenn Sie Podman zum Installieren und Ausführen von Übertragungs-Agents verwenden, springen Sie direkt zur Podman-spezifischen Installationsanleitung.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable docker --now

Wenn ein Installationsfehler auftritt, finden Sie weitere Informationen unter Fehlerbehebung.

Docker-Authentifizierung zulassen

Damit sich der Docker-Container mit Ihren gcloud-Standardanmeldedaten authentifizieren kann, erstellen Sie mit dem folgenden Befehl ein Docker-Volume, das eine Datei mit den Standardanmeldedaten Ihrer Anwendung enthält:

sudo docker run -ti --name gcloud-config google/cloud-sdk gcloud auth application-default login

Nächste Schritte