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:
Eine POSIX-konforme Quelle und/oder ein POSIX-konformes Ziel.
Ein Cloud Storage-Bucket ohne eine Aufbewahrungsrichtlinie. Informationen zum Übertragen in einen Bucket mit einer Aufbewahrungsrichtlinie finden Sie unter In einen Bucket mit Aufbewahrungsrichtlinie übertragen.
TCP-Port 443 (HTTPS) ist für ausgehende Verbindungen offen.
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-limitist 2048. Dies kann zu Problemen führen, wenn mehr als ein Agent ausgeführt wird. Wir empfehlen,--pids-limit=-1festzulegen, 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
-
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 Berechtigungserviceusage.services.enableenthält. Informationen zum Zuweisen von Rollen.
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
- Google Cloud-Berechtigungen konfigurieren
- Agent-Pool erstellen
- Übertragungs-Agents installieren
- Übertragungsjob erstellen
- Leistung des Übertragungs-Agents maximieren