Erweiterte Optionen

In diesem Dokument werden erweiterte Einrichtungsoptionen für Dateisystemübertragungen beschrieben, darunter:

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:

  1. Stellen Sie einen Linux-Server oder eine Linux-VM bereit.

    Informationen zu unterstützten Betriebssystemen finden Sie unter Voraussetzungen.

  2. 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.
  3. Bestätigen Sie mit dem folgenden Befehl, dass das CIFS-Volume bereitgestellt wurde:

    findmnt -l
    
  4. 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.
  5. Installieren Sie den Übertragungs-Agent.

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.

  1. Einen Dienstkontoschlüssel erstellen. Weitere Informationen finden Sie unter Dienstkontoschlüssel erstellen und verwalten.

  2. Übergeben Sie den Speicherort des Dienstschlüssels an den Befehl zum Erstellen des Agents:

    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.

Speicheranforderungen für Agents des lokalen Datenübertragungsdienstes:
  • 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 aus jedem Dateisystemverzeichnis abrufen und dorthin herunterladen, 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. Wir empfehlen dringend, den Zugriff von Kundenservicemitarbeitern auf die erforderlichen Verzeichnisse zu beschränken.

So schränken Sie den Zugriff eines Kundenservicemitarbeiters auf bestimmte Verzeichnisse ein:

gcloud

Um Verzeichnisse anzugeben, auf die der Agent in einem Dateisystem zugreifen kann, verwenden Sie das Flag --mount-directories mit gcloud transfer agents install:

gcloud transfer agents install --pool=POOL_NAME --count=NUM_AGENTS \
  --mount-directories=MOUNT_DIRECTORIES

Wenn Sie mehrere Verzeichnisse angeben möchten, trennen Sie sie durch ein Komma und kein Leerzeichen:

gcloud transfer agents install --pool=POOL_NAME --count=NUM_AGENTS \
  --mount-directories=MOUNT_DIRECTORY_1,MOUNT_DIRECTORY_2

Wenn Sie eine Anmeldedatendatei mit dem Flag --creds-file angeben, wird die Anmeldedatendatei automatisch von gcloud transfer bereitgestellt. Andere Dateien im selben Verzeichnis wie die Anmeldedatendatei werden nicht bereitgestellt.

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, die die Übertragung hostet. Ressourcen für die Übertragung werden erstellt und in Rechnung gestellt.
  • 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 Format prefix + 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:

  1. Melden Sie sich bei dem lokalen Host an, auf dem Sie den Agent ausführen möchten.

  2. Konfigurieren Sie privaten Google-Zugriff. Weitere Informationen finden Sie unter Privaten Google-Zugriff für lokale Hosts konfigurieren.

  3. Prüfen Sie, ob Sie eine Verbindung zu Cloud Storage APIs herstellen können:

    1. 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, wobei MY-BUCKET der Name Ihres Cloud Storage-Buckets ist. Wenn die Übertragung funktioniert, ist der Test erfolgreich.

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: 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 Format prefix + hostname + Docker container ID.

In einen Bucket mit Aufbewahrungsrichtlinie kopieren

Zum Übertragen an einen Bucket mit einer Aufbewahrungsrichtlinie empfehlen wir Folgendes:

  1. 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.

  2. Verwenden Sie den Storage Transfer Service, um Ihre Daten in einen von Ihnen erstellten temporären Bucket ohne Aufbewahrungsrichtlinie zu übertragen.

  3. Führen Sie eine Bucket-zu-Bucket-Übertragung durch, um die Daten mit einer Aufbewahrungsrichtlinie in den Bucket zu übertragen.

  4. 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 verschiedene 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.