Übertragung von Dateien mithilfe des Amazon S3 S3-Adapters für die Datenmigration zu oder von Geräten der Snow Family - AWS Snowball Edge Leitfaden für Entwickler

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Übertragung von Dateien mithilfe des Amazon S3 S3-Adapters für die Datenmigration zu oder von Geräten der Snow Family

Im Folgenden finden Sie eine Übersicht über den Amazon S3 S3-Adapter, mit dem Sie mithilfe von Amazon S3 S3-Aktionen Daten programmgesteuert zu und von S3-Buckets übertragen können, die sich bereits auf dem AWS Snowball Edge Gerät befinden. REST API Diese Amazon S3 REST API S3-Unterstützung ist auf eine Teilmenge von Aktionen beschränkt. Sie können diese Teilmenge von Aktionen mit einer der Aktionen verwenden, um Daten AWS SDKs programmgesteuert zu übertragen. Sie können auch die Teilmenge der unterstützten Befehle AWS Command Line Interface (AWS CLI) für Amazon S3 verwenden, um Daten programmgesteuert zu übertragen.

Wenn Ihre Lösung die AWS SDK for Java Version 1.11.0 oder neuer verwendet, müssen Sie Folgendes verwenden: S3ClientOptions

  • disableChunkedEncoding()— Zeigt an, dass die Blockcodierung von der Schnittstelle nicht unterstützt wird.

  • setPathStyleAccess(true)— Konfiguriert die Schnittstelle so, dass sie für alle Anfragen den Zugriff im Pfadstil verwendet.

Weitere Informationen finden Sie unter Class S3 ClientOptions .Builder im Amazon AppStream SDK for Java.

Wichtig

Wir empfehlen, jeweils nur eine Methode zu verwenden, um Daten in einen lokalen Bucket auf einem AWS Snowball Edge Gerät zu lesen und zu schreiben. Die gleichzeitige Verwendung der Dateischnittstelle und des Amazon S3 S3-Adapters auf demselben Bucket kann zu Lese-/Schreibkonflikten führen.

AWS Snowball Edge-Kontingentebeschreibt die Grenzwerte.

Damit AWS Dienste auf einem Snowball Edge ordnungsgemäß funktionieren, müssen Sie die Ports für die Dienste zulassen. Details hierzu finden Sie unter Portanforderungen für AWS Dienste auf einem Snow Family-Gerät.

Herunterladen und Installieren der AWS CLI Version 1.16.14 zur Verwendung mit dem Amazon S3 S3-Adapter

Derzeit unterstützen Snowball Edge-Geräte nur Version 1.16.14 und frühere Versionen von AWS CLI für die Verwendung mit dem Amazon S3 S3-Adapter. Neuere Versionen von AWS CLI sind nicht mit dem Amazon S3 S3-Adapter kompatibel, da sie nicht alle Funktionen des S3-Adapters unterstützen.

Anmerkung

Wenn Sie Amazon S3 S3-kompatiblen Speicher auf Snow Family-Geräten verwenden, können Sie die neueste Version von verwenden AWS CLI. Informationen zum Herunterladen und Verwenden der neuesten Version finden Sie im AWS Command Line Interface Benutzerhandbuch.

Installieren Sie das AWS CLI auf Linux-Betriebssystemen

Führen Sie diesen verketteten Befehl aus:

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.14.zip" -o "awscli-bundle.zip";unzip awscli-bundle.zip;sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws;/usr/local/bin/aws --version;

Installieren Sie das AWS CLI auf Windows-Betriebssystemen

Laden Sie die Installationsdatei für Ihr Betriebssystem herunter und führen Sie sie aus:

Verwenden der API Operationen AWS CLI und auf Snowball Edge-Geräten

Wenn Sie die API Operationen AWS CLI oder verwendenIAM, um Amazon S3- und EC2 Amazon-Befehle auf Snowball Edge auszugeben, müssen Sie die Region als "“ angebensnow. Sie können dies mithilfe AWS configure oder innerhalb des Befehls selbst tun, wie in den folgenden Beispielen.

aws configure --profile abc AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: 1234567 Default region name [None]: snow Default output format [None]: json

Oder

aws s3 ls --profile snowballEdge --endpoint http://192.0.2.0:8080 --region snow

Autorisierung mit der Amazon S3 API S3-Schnittstelle für AWS Snowball

Wenn Sie den Amazon S3 S3-Adapter verwenden, wird jede Interaktion standardmäßig mit dem AWS Signature Version 4-Algorithmus signiert. Diese Autorisierung wird nur zur Überprüfung der Daten verwendet, die von ihrer Quelle zur Schnittstelle übertragen werden. Die gesamte Ver- und Entschlüsselungen erfolgt auf dem Gerät. Es werden zu keiner Zeit unverschlüsselte Daten auf dem Gerät gespeichert.

Beachten Sie bei der Verwendung der Schnittstelle Folgendes:

  • Um die lokalen Amazon S3 S3-Anmeldeinformationen zum Signieren Ihrer Anfragen auf dem AWS Snowball Edge Gerät zu erhalten, führen Sie die Client-Befehle snowballEdge list-access-keys und snowballEdge get-secret-access-keys Snowball Edge aus. Weitere Informationen finden Sie unter Konfiguration und Verwendung des Snowball Edge-Clients. Diese lokalen Amazon S3 S3-Anmeldeinformationen umfassen ein Schlüsselpaar: einen Zugriffsschlüssel und einen geheimen Schlüssel. Diese Schlüssel sind nur für die Geräte gültig, die Ihrem Auftrag zugeordnet sind. Sie können nicht in der verwendet werden AWS Cloud , da sie kein Gegenstück AWS Identity and Access Management (IAM) haben.

  • Der Verschlüsselungsschlüssel wird nicht durch die von Ihnen verwendeten AWS Anmeldeinformationen geändert. Das Signieren mit dem Signature Version 4-Algorithmus wird nur zur Überprüfung der Daten verwendet, die von der Quelle zur Schnittstelle übertragen werden. Daher berücksichtigt diese Signatur niemals die Verschlüsselungsschlüssel, die zur Verschlüsselung Ihrer Daten auf dem Snowball verwendet werden.

Abrufen und Verwenden lokaler Amazon S3 S3-Anmeldeinformationen auf Snow Family-Geräten

Jede Interaktion mit einem Snowball Edge wird mit dem AWS Signature Version 4-Algorithmus signiert. Weitere Informationen zum Algorithmus finden Sie unter Signature Version 4-Signierungsprozess in der Allgemeine AWS-Referenz.

Sie können die lokalen Amazon S3 S3-Anmeldeinformationen abrufen, um Ihre Anfragen auf dem Edge-Gerät des Snowball Edge-Clients zu signieren, indem Sie die snowballEdge list-access-keys und snowballEdge get-secret-access-key Snowball Edge-Client-Informationen ausführen, siehe. Anmeldeinformationen für ein Snow Family-Gerät abrufen Diese lokalen Amazon S3 S3-Anmeldeinformationen umfassen ein Schlüsselpaar: eine Zugriffsschlüssel-ID und einen geheimen Schlüssel. Diese Anmeldeinformationen sind nur für die Geräte gültig, die Ihrer Aufgabe zugeordnet sind. Sie können in der nicht verwendet werden AWS Cloud , da sie kein IAM Gegenstück haben.

Sie können diese Anmeldeinformationen zur AWS Anmeldeinformationsdatei auf Ihrem Server hinzufügen. Die Datei mit den Standard-Anmeldeinformationsprofilen befindet sich in der Regel in ~/.aws/credentials, der Speicherort kann aber je nach Plattform abweichen. Diese Datei wird von vielen gemeinsam genutzt AWS SDKs und von den AWS CLI. Sie können lokale Anmeldeinformationen mit einem Profilnamen speichern, wie im folgenden Beispiel.

[snowballEdge] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Konfiguration von AWS CLI , um den S3-Adapter auf einem Snow Family-Gerät als Endpunkt zu verwenden

Wenn Sie den verwenden AWS CLI , um einen Befehl an das AWS Snowball Edge Gerät zu senden, geben Sie an, dass der Endpunkt der Amazon S3 S3-Adapter ist. Sie haben die Wahl, den HTTPS Endpunkt oder einen ungesicherten HTTP Endpunkt zu verwenden, wie im Folgenden dargestellt.

HTTPSgesicherter Endpunkt

aws s3 ls --profile snowballEdge --endpoint https://192.0.2.0:8443 --ca-bundle path/to/certificate

HTTPungesicherter Endpunkt

aws s3 ls --profile snowballEdge --endpoint http://192.0.2.0:8080

Wenn Sie den HTTPS Endpunkt von verwenden8443, werden Ihre Daten sicher von Ihrem Server zum Snowball Edge übertragen. Diese Verschlüsselung wird durch ein Zertifikat gewährleistet, das vom Snowball Edge generiert wird, wenn er eine neue IP-Adresse erhält. Nachdem Sie Ihr Zertifikat erhalten haben, können Sie es in einer lokalen ca-bundle.pem-Datei speichern. Anschließend können Sie Ihr AWS CLI Profil so konfigurieren, dass es den Pfad zu Ihrem Zertifikat enthält, wie im Folgenden beschrieben.

Um Ihr Zertifikat dem Schnittstellenendpunkt zuzuordnen
  1. Connect den Snowball Edge mit der Stromversorgung und dem Netzwerk und schalten Sie ihn ein.

  2. Notieren Sie nach dem Start des Gerätes seine IP-Adresse auf dem lokalen Netzwerk.

  3. Stellen Sie sicher, dass Sie Snowball Edge von einem Terminal in Ihrem Netzwerk aus pingen können.

  4. Führen Sie den snowballEdge get-certificate-Befehl in Ihrem Terminal aus. Weitere Informationen zu diesem Befehl finden Sie unter Verwaltung von Public-Key-Zertifikaten auf Snow Family-Geräten.

  5. Speichern Sie die Ausgabe des snowballEdge get-certificate-Befehls in einer Datei, z. B. ca-bundle.pem.

  6. Führen Sie im Terminal den folgenden Befehl aus:

    aws configure set profile.snowballEdge.ca_bundle /path/to/ca-bundle.pem

Nachdem Sie das Verfahren abgeschlossen haben, können Sie CLI Befehle mit diesen lokalen Anmeldeinformationen, Ihrem Zertifikat und Ihrem angegebenen Endpunkt ausführen, wie im folgenden Beispiel.

aws s3 ls --profile snowballEdge --endpoint https://192.0.2.0:8443

Nicht unterstützte Amazon S3 S3-Funktionen für den Amazon S3 S3-Adapter auf Snow Family-Geräten

Mit dem Amazon S3-Adapter können Sie mit Amazon S3-Aktionen programmgesteuert Daten zu und von einem Snowball Edge übertragen. API Allerdings werden nicht alle Amazon S3 S3-Übertragungsfunktionen und API -aktionen für die Verwendung mit einem Snowball Edge-Gerät unterstützt, wenn der Amazon S3 S3-Adapter verwendet wird. Beispielsweise werden die folgenden Funktionen und Aktionen für die Verwendung mit Snowball Edge nicht unterstützt:

  • TransferManager— Dieses Hilfsprogramm überträgt Dateien von einer lokalen Umgebung nach Amazon S3 mit dem SDK für Java. Erwägen Sie stattdessen, die unterstützten API Aktionen oder AWS CLI Befehle mit der Schnittstelle zu verwenden.

  • GETBucket (List Objects) Version 2 — Diese Implementierung der GET Aktion gibt einige oder alle (bis zu 1.000) Objekte in einem Bucket zurück. Erwägen Sie, die Aktion GETBucket (List Objects) Version 1 oder den AWS CLI Befehl ls zu verwenden.

  • ListBuckets— Der Endpunkt ListBuckets mit dem Objekt wird nicht unterstützt. Der folgende Befehl funktioniert nicht mit Amazon S3 S3-kompatiblem Speicher auf Snow Family-Geräten:

    aws s3 ls --endpoint https://192.0.2.0 --profile profile