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. 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. mit ulimit -u konfiguriert, müssen die Anzahl der Agenten berücksichtigen, die Sie ausführen möchten. Jeder Agent-Prozess kann bis zu viele hundert Threads erstellen. Wir empfehlen, die Limits für Prozess-IDs beim Ausführen von Übertragungs-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. Dies kann zu Problemen führen, wenn mehr als ein Agent ausgeführt wird. Wir empfehlen, --pids-limit=-1 so festzulegen, dass unbegrenzte 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 einen Teil dieser Endpunkte. Es sollten jedoch alle Endpunkte zugelassen werden, um die volle Funktionalität zu gewährleisten.

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 seinen Systemstatus zu melden.
storage.googleapis.com Cloud Storage Wird für grundlegende Datenübertragungsvorgänge verwendet, einschließlich des Auflistens, Lesens und Schreibens von Objekten in Ihre 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 verwendet, um System- und Aktivitätsprotokolle von Agenten zu veröffentlichen.
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 Anmeldedaten für das IAM-Dienstkonto Wird verwendet, um temporäre Anmeldedaten zu generieren, wenn der Agent so konfiguriert ist, dass er die Identität eines bestimmten Dienstkontos übernimmt.
cloudresourcemanager.googleapis.com Resource Manager Wird während der Installation und Einrichtung des Agents verwendet, um die Projektkonfiguration und die 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 ordnungsgemäß unterstützen und leistungsfähig sind.

Regionale Endpunkte

Wenn Sie Ihre Agents für die Verwendung regionaler Endpunkte (z.B. storage.REGION.rep.googleapis.com) konfiguriert haben, müssen diese spezifischen Domainnamen von Ihren Proxy- oder Firewallregeln anstelle des Standardendpunkts storage.googleapis.com zugelassen werden.

Quell- und Zielspeicherendpunkte

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

Skalierungseinschränkungen für Jobs und Agents

Für den Storage Transfer Service gelten die folgenden Skalierungseinschränkungen für Übertragungsjobs und Agents:

  • 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 Inhaberrolle (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, fahren Sie direkt mit der Podman-spezifischen Installationsanleitung fort.

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 ein Docker-Volume, das eine Datei mit Ihren Standardanmeldedaten für Anwendungen enthält. Führen Sie dazu den folgenden Befehl aus:

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

Nächste Schritte