In diesem Dokument werden erweiterte Einrichtungsoptionen für Dateisystemübertragungen beschrieben, darunter:
- Daten auf CIFS- oder SMB-Volumes kopieren
- Dienstkonto-Anmeldedaten verwenden
- Maximalen Arbeitsspeicher des Agents anpassen
- Zugriff auf Agent-Verzeichnis einschränken
- Agents mit Kubernetes koordinieren
- Weiterleitungsproxy verwenden
- In ein Bucket mit Aufbewahrungsrichtlinie kopieren
- Optionen zum Erhöhen der Netzwerkbandbreite
Daten auf CIFS- oder SMB-Volumes kopieren
Übertragungs-Agents werden nicht direkt auf Windows-Servern unterstützt. Sie können jedoch Daten auf einem POSIX-konformen Dateisystem verschieben, indem Sie sie auf einem Linux-Server oder einer virtuellen Maschine (VM) bereitstellen und anschließend einen Agent vom Linux-Server oder einer VM ausführen, um die Daten in Cloud Storage zu kopieren.
So verschieben Sie Daten von einem CIFS- oder SMB-Volume:
Stellen Sie einen Linux-Server oder eine Linux-VM bereit.
Informationen zu unterstützten Betriebssystemen finden Sie unter Voraussetzungen.
Führen Sie auf dem Linux-Server oder der bereitgestellten VM den folgenden Befehl aus, um das Volume bereitzustellen:
sudo mount -t cifs -o username=WINDOWS-SHARE-USER,password=WINDOWS-SHARE-PASSWORD //IP-ADDRESS/SHARE-NAME /mnt
Ersetzen Sie Folgendes:
IP-ADDRESS
: die IP-Adresse des Microsoft Windows-Servers, auf dem sich das CIFS- oder SMB-Volume befindet.SHARE-NAME
: der von Ihnen bereitgestellte Freigabename.WINDOWS-SHARE-USER
: ein autorisierter Nutzer für den Zugriff auf das CIFS- oder SMB-Volume.WINDOWS-SHARE-PASSWORD
: das Passwort für den autorisierten Nutzer des CIFS- oder SMB-Volumes.
Bestätigen Sie mit dem folgenden Befehl, dass das CIFS-Volume bereitgestellt wurde:
findmnt -l
Bestätigen Sie mit den folgenden Befehlen, dass der Nutzer, der den Agent ausführt, Dateien auf dem bereitgestellten Volume auflisten und kopieren kann:
sudo -u USERNAME cp /mnt/FILE1 /mnt/FILE2
Ersetzen Sie Folgendes:
USERNAME
: der Nutzer, der den Agent ausführt.FILE1
: die Datei, aus der kopiert werden soll.FILE2
: der Name der Datei, in die kopiert werden soll.
Dienstkonto-Anmeldedaten verwenden
Sie können die Anmeldedaten eines Dienstkontos verwenden, um den Agent auszuführen. Mit Dienstkonto-Anmeldedaten können Sie den Übertragungs-Agent authentifizieren, ohne sich auf ein einzelnes Nutzerkonto verlassen zu müssen. Weitere Informationen zu Kontotypen finden Sie unter Hauptkonten.
Einen Dienstkontoschlüssel erstellen. Weitere Informationen finden Sie unter Dienstkontoschlüssel erstellen und verwalten.
Übergeben Sie den Speicherort des Dienstschlüssels an den Befehl zur Agent-Erstellung:
gcloud transfer agents install --pool=POOL_NAME --count=NUM_AGENTS \ --mount-directories=MOUNT_DIRECTORIES \ --creds-file=RELATIVE_PATH_TO/KEY_FILE.JSON
Die Anmeldedatendatei wird von
gcloud transfer
automatisch bereitgestellt und muss nicht mit dem Flag--mount-directories
angegeben werden.
Maximalen Arbeitsspeicher des Agents anpassen
Standardmäßig verwenden Transfer-Agents maximal 8 GiB Systemspeicher. Sie können den von den Agents maximal nutzbaren Speicher für Ihre Umgebung anpassen. Übergeben Sie dazu --max-physical-mem=MAXIMUM-MEMORY
und ersetzen Sie MAXIMUM-MEMORY
durch einen Wert, der für Ihre Umgebung geeignet ist.
- Mindestspeicher: 1 GiB
- Mindestspeicher für Hochleistungs-Uploads: 6 GiB
Wir empfehlen die Standardeinstellung von 8 GiB.
In der folgenden Tabelle sehen Sie Beispiele für zulässige Formate von MAXIMUM-MEMORY
:
max-physical-mem Wert |
Einstellung für den maximalen Arbeitsspeicher |
---|---|
6g |
6 Gigabyte |
6gb |
6 Gigabyte |
6GiB |
6 Gibibyte |
Zugriff auf Agent-Verzeichnis einschränken
Nutzer, die Übertragungsjobs erstellen können, können Daten abrufen von und Daten in ein beliebiges Dateisystemverzeichnis herunterzuladen, auf das der Agent zugreifen kann.
Wenn Agenten als Root ausgeführt werden und Zugriff auf das gesamte Dateisystem erhalten, kann ein böswilliger Akteur den Host möglicherweise übernehmen. Es ist Sie sollten den Agent-Zugriff nur auf das erforderliche Kontingent beschränken. Verzeichnisse enthalten.
So beschränken Sie den Zugriff eines Agents auf bestimmte Verzeichnisse:
gcloud
Um Verzeichnisse anzugeben, auf die der Agent in einem Dateisystem zugreifen kann, verwenden Sie die Methode
--mount-directories
-Flag mit gcloud transfer agents install
:
gcloud transfer agents install --pool=POOL_NAME --count=NUM_AGENTS \
--mount-directories=MOUNT_DIRECTORIES
Geben Sie mehrere Verzeichnisse an, indem Sie sie durch Kommas und ohne Leerzeichen trennen:
gcloud transfer agents install --pool=POOL_NAME --count=NUM_AGENTS \
--mount-directories=MOUNT_DIRECTORY_1,MOUNT_DIRECTORY_2
Wenn Sie eine Datei mit Anmeldedaten mit dem Flag --creds-file
angeben,
gcloud transfer
stellt die Datei mit den Anmeldedaten automatisch bereit. Andere Dateien in
Verzeichnis wie die Datei mit den Anmeldedaten nicht bereitgestellt werden.
docker run
Um Verzeichnisse anzugeben, auf die der Agent während der Übertragung zugreifen kann, übergeben Sie -v HOST_DIRECTORY:CONTAINER_DIRECTORY
an den Agent. Dabei gilt:
HOST_DIRECTORY
ist das Verzeichnis auf dem Hostcomputer, aus dem Sie kopieren möchten.CONTAINER_DIRECTORY
ist das Verzeichnis, das dem Agent-Container zugeordnet ist.
HOST_DIRECTORY
und CONTAINER_DIRECTORY
müssen identisch sein, damit der Agent Dateien zum Kopieren finden kann.
Wenn Sie diese Option verwenden:
- Geben Sie nicht
--enable-mount-directory
an. - Stellen Sie dem Dateipfad nicht
/transfer_root
voran.
Mit der Option --enable-mount-directory
wird das gesamte Dateisystem im Verzeichnis /transfer_root
im Container bereitgestellt. Wenn --enable-mount-directory
angegeben ist, werden keine Verzeichniseinschränkungen angewendet.
Sie können mehrere -v
-Flags verwenden, um zusätzliche Verzeichnisse anzugeben, aus denen kopiert werden soll. Beispiel:
sudo docker run --ulimit memlock=64000000 -d -rm --volumes-from gcloud-config \ -v /usr/local/research:/usr/local/research \ -v /usr/local/billing:/usr/local/billing \ -v /tmp:/tmp \ gcr.io/cloud-ingest/tsop-agent:latest \ --project-id=PROJECT_ID \ --hostname=$(hostname) \ --agent-id-prefix=ID_PREFIX
Wenn Sie ein Dienstkonto verwenden, achten Sie darauf, dass Sie die Datei mit den Anmeldedaten im Container bereitstellen und die --creds-file=CREDENTIAL_FILE
übergeben. Beispiel:
sudo docker run --ulimit memlock=64000000 -d -rm \ -v HOST_DIRECTORY:CONTAINER_DIRECTORY \ -v /tmp:/tmp \ -v FULL_CREDENTIAL_FILE_PATH:FULL_CREDENTIAL_FILE_PATH \ gcr.io/cloud-ingest/tsop-agent:latest \ --project-id=PROJECT_ID \ --creds-file=CREDENTIAL_FILE \ --hostname=$(hostname) \ --agent-id-prefix=ID_PREFIX
Ersetzen Sie Folgendes:
HOST_DIRECTORY
: das Verzeichnis auf dem Hostcomputer, aus dem Sie kopieren möchten.CONTAINER_DIRECTORY
: das Verzeichnis, das dem Agent-Container zugeordnet ist.FULL_CREDENTIAL_FILE_PATH
: der voll qualifizierte Pfad zur Datei mit den Anmeldedaten.PROJECT_ID
: die Projekt-ID der die Übertragungsressourcen hostet, werden erstellt und abgerechnet.CREDENTIAL_FILE
: eine JSON-formatierte Dienstkonto-Datei mit Anmeldedaten. Weitere Informationen zum Erstellen einer Dienstkonto-Anmeldedatendatei finden Sie unter Dienstkontoschlüssel erstellen und verwalten.ID_PREFIX
: ein Präfix, das der Agent-ID vorangestellt wird, um den Agent oder seinen Computer in der Google Cloud Console zu identifizieren. Wenn ein Präfix verwendet wird, hat die Agent-ID das Formatprefix + hostname + Docker container ID
.
Agents mit Kubernetes koordinieren
Docker ist eine unterstützte Containerlaufzeit für Kubernetes. Mit Kubernetes können Sie viele Agents gleichzeitig starten und anhalten. Aus Kubernetes wird der Agent-Container als zustandslose Anwendung betrachtet, sodass die Kubernetes-Anweisungen zum Bereitstellen einer zustandslosen Anwendung eingehalten werden können.
Private API-Endpunkte in Cloud Interconnect verwenden
So verwenden Sie private API-Endpunkte in Cloud Interconnect:
Melden Sie sich bei dem lokalen Host an, auf dem Sie den Agent ausführen möchten.
Konfigurieren Sie privaten Google-Zugriff. Weitere Informationen finden Sie unter Privaten Google-Zugriff für lokale Hosts konfigurieren.
Prüfen Sie, ob Sie eine Verbindung zu Cloud Storage APIs herstellen können:
- Führen Sie für Cloud Storage APIs den folgenden Befehl auf demselben Computer aus, auf dem sich der Übertragungs-Agent befindet, um das Verschieben einer Datei in den Cloud Storage-Bucket zu testen:
gcloud storage cp test.txt gs://MY-BUCKET
, wobeiMY-BUCKET
der Name Ihres Cloud Storage-Buckets ist. Wenn die Übertragung funktioniert, ist der Test erfolgreich.
- Führen Sie für Cloud Storage APIs den folgenden Befehl auf demselben Computer aus, auf dem sich der Übertragungs-Agent befindet, um das Verschieben einer Datei in den Cloud Storage-Bucket zu testen:
Weiterleitungsproxy verwenden
Transfer-Agents unterstützen die Verwendung eines Weiterleitungsproxys in Ihrem Netzwerk durch Übergabe der Umgebungsvariablen HTTPS_PROXY
.
Beispiel:
sudo docker run -d --ulimit memlock=64000000 --rm \ --volumes-from gcloud-config \ -v /usr/local/research:/usr/local/research \ --env HTTPS_PROXY=PROXY\ gcr.io/cloud-ingest/tsop-agent:latest \ --enable-mount-directory \ --project-id=PROJECT_ID \ --hostname=$(hostname) \ --agent-id-prefix=ID_PREFIX
Ersetzen Sie Folgendes:
PROXY
: die HTTP-URL und der Port des Proxyservers. Achten Sie darauf, die HTTP-URL und keine HTTPS-URL anzugeben, damit Anfragen in TLS-Verschlüsselung nicht doppelt verpackt werden. Doppelt verpackte Anfragen verhindern, dass der Proxy-Server gültige ausgehende Anfragen sendet.PROJECT_ID
: die Projekt-ID, die die Übertragung hostet. Ressourcen für die Übertragung werden erstellt und in Rechnung gestellt.ID_PREFIX
: das Präfix, das dem Agent vorangestellt wird ID, um den Agent oder seinen Computer in der Google Cloud Console zu identifizieren. Wenn ein Präfix verwendet wird, hat die Agent-ID das Formatprefix + hostname + Docker container ID
.
In einen Bucket mit Aufbewahrungsrichtlinie kopieren
Zum Übertragen an einen Bucket mit einer Aufbewahrungsrichtlinie empfehlen wir Folgendes:
Erstellen Sie einen Cloud Storage-Bucket in derselben Region wie der endgültige Bucket. Sorgen Sie dafür, dass dieser temporäre Bucket keine Aufbewahrungsrichtlinie hat.
Weitere Informationen zu Regionen finden Sie unter Bucket-Standorte.
Übertragen Sie Ihre Daten mit dem Storage Transfer Service in den temporären Bucket, den Sie verwenden die ohne Aufbewahrungsrichtlinie erstellt wurden.
Führen Sie eine Bucket-zu-Bucket-Übertragung durch, um die Daten mit einer Aufbewahrungsrichtlinie in den Bucket zu übertragen.
Löschen Sie den Cloud Storage-Bucket, den Sie Ihnen erstellten, um Ihre Daten vorübergehend zu speichern.
Optionen zum Erhöhen der Netzwerkbandbreite
Es gibt mehrere Möglichkeiten, mehr Netzwerkbandbreite für Dateisystemübertragungen zu erhalten. Durch Erhöhung der Netzwerkbandbreite können Sie Übertragungszeiten verringern, insbesondere bei großen Datasets.
Peering mit Google: Dabei werden Sie direkt mit Google verbunden, um Traffic-Austausch zu unterstützen. Wir haben direkte Peering-Standorte auf der ganzen Welt. Informationen zu den Vorteilen und Richtlinien finden Sie unter Peering.
Cloud Interconnect: Cloud Interconnect ähnelt dem Peering, aber Sie verwenden eine Interconnect-Verbindung, um eine Verbindung zu Google herzustellen. Es gibt zwei Arten von Interconnect-Verbindungen:
Dedicated Interconnect: Sie stellen eine direkte Verbindung von Ihrem Rechenzentrum zu einem Google-Rechenzentrum über eine private dedizierte Verbindung her. Weitere Informationen finden Sie unter Dedicated Interconnect – Übersicht.
Partner Interconnect: Sie arbeiten mit einem Dienstanbieter zusammen, um über ein Netzwerk eines Dienstanbieters eine Verbindung zu einem Google-Rechenzentrum herzustellen. Weitere Informationen finden Sie unter Partner Interconnect – Übersicht.
Bandbreite vom Internetanbieter erhalten: Ihr Internetanbieter kann Ihnen möglicherweise mehr Bandbreite für Ihre Anforderungen zur Verfügung stellen. Ziehen Sie in Betracht, sich an ihn zu wenden, um nach den verfügbaren Optionen zu fragen.