Anforderungen an Dateisystemübertragungen

Bevor Sie einen Übertragungsjob für ein Dateisystem 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

Für die Verwendung des Storage Transfer Service für Dateisystemübertragungen benötigen Sie Folgendes:

Die Anforderungen an die Übertragungs-Agent-Maschine 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. konfiguriert mit ulimit -u, müssen die Anzahl der Agents berücksichtigen, die Sie ausführen möchten. Jeder Agent-Prozess kann bis zu mehreren Hundert Threads erstellen. Wir empfehlen, die Grenzwerte für Prozess-IDs zu entfernen, wenn Sie Übertragungs-Agents ausführen.

    Kunden, die Podman zum Erstellen von Agent-Containern verwenden, sollten einen --pids-limit-Wert angeben, der hoch genug ist, um die Agent-Threads des Storage Transfer Service 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 festzulegen, um eine unbegrenzte Anzahl von Prozess-IDs pro Container zuzulassen.

Erforderliche Endpunkte

Auf die folgenden DNS-Endpunkte muss der Übertragungs-Agent zugreifen können. Ein Agent verwendet je nach Konfiguration möglicherweise nur eine Teilmenge dieser Endpunkte. Alle Endpunkte sollten jedoch zulässig sein, um die volle Funktionalität zu gewährleisten.

Google-Endpunkte

Diese Liste der erforderlichen Endpunkte kann sich ändern. Um Übertragungsunterbrechungen 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 Status 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 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-Status zu exportieren.
logging.googleapis.com Cloud Logging Wird verwendet, um Agent-System- und Aktivitätsprotokolle 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 annimmt.
cloudresourcemanager.googleapis.com Resource Manager Wird während der Agent-Installation und -Einrichtung 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 verwendet der Agent möglicherweise verschiedene HTTP-Protokolle, darunter mindestens HTTP/1.1 und HTTP/2, wenn er mit verschiedenen Endpunkten kommuniziert. Achten Sie darauf, dass Ihre konfigurierten Proxys oder Firewalls alle diese Protokolltypen ordnungsgemäß unterstützen und eine gute Leistung bieten.

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.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Informationen zum Zuweisen von Rollen.

    API aktivieren

Docker installieren

Wenn Sie die Google Cloud CLI oder Docker verwenden, um Übertragungs-Agents zu installieren und auszuführen, installieren Sie die Docker Engine auf einer physischen oder virtuellen Linux-Maschine.

Wenn Sie Podman verwenden, um Übertragungs-Agents zu installieren und auszuführen, 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 zur Authentifizierung zulassen

Damit der Docker-Container sich mit Ihren gcloud-Standardanmeldedaten authentifizieren kann, erstellen Sie ein Docker-Volume mit einer Datei, die die Standardanmeldedaten für Anwendungen enthält. Führen Sie dazu folgenden Befehl aus:

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

Nächste Schritte