Migration eines Buckets von einem anderen Anbieter zu Hetzner Object Storage

Last change on 2024-12-06 • Created on 2024-12-06 • ID: ST-4C94A

Du kannst Daten von einem Bucket bei einem anderen Anbieter auf einen Bucket in Hetzner Object Storage migrieren, indem du die folgenden Schritte ausführest.

Wenn du von AWS S3 migrierst, bietet Amazon dir die Möglichkeit, deine Daten kostenfrei zu übertragen. Weitere Informationen findest du hier: Free data transfer out to internet when moving out of AWS.

Die Befehle unterscheiden sich je nach S3-kompatiblem Tool. Die folgenden Schritte werden mittels Beispielbefehlen für MinIO Client, RCLONE, S3cmd und AWS CLI erklärt.

  1. Daten migrieren

    Beachte, dass rclone, s3cmd und aws s3 benutzerdefinierte Metadaten NICHT mitkopieren. Wenn du Objekte mit benutzerdefinierten Metadaten hast, sind diese auf dem neuen Bucket nicht mehr verfügbar. Wenn du die benutzerdefinierten Metadaten benötigst, empfehlen wir, den MinIO Client zu verwenden.

    • MinIO Client

      mc mirror <alias_name>/<source_bucket> <alias_name>/<destination_bucket>

    • rclone

      Wichtig: Da dieser Befehl Datenverlust verursachen kann, solltest du ihn erst mit --dry-run oder --interactive ausführen.

      rclone sync --interactive <remote_name>:<source_bucket> <remote_name>:<destination_bucket>

    • S3cmd

      Es ist nicht möglich, zwei Konfigurationsdateien gleichzeitig anzugeben. Stattdessen musst du die Daten vorübergehend auf deinem lokalen System speichern und von dort zu deinem Bucket migrieren.

      mkdir migrate-buckets && cd migrate-buckets
      s3cmd sync -c ~/.s3cfg-provider-1 s3://<source_bucket> .
      s3cmd sync -c ~/.s3cfg-provider-2 . s3://<destination_bucket>

    • AWS CLI

      Es ist nicht möglich, zwei Profile gleichzeitig anzugeben. Stattdessen musst du die Daten vorübergehend auf deinem lokalen System speichern und von dort zu deinem Bucket migrieren.

      mkdir migrate-buckets && cd migrate-buckets
      aws s3 sync --profile <profile_name> s3://<source_bucket> .
      aws s3 sync --profile <profile_name> . s3://<destination_bucket>

  1. Bucket-Inhalt prüfen

    • MinIO Client

      mc ls <alias_name>/<destination_bucket>

    • rclone

      rclone ls <remote_name>:<destination_bucket>

    • S3cmd

      s3cmd ls -c ~/.s3cfg-provider-2 s3://<destination_bucket>

    • AWS CLI

      aws s3 ls --profile <profile_name> s3://<destination_bucket>

Deine Daten sollten nun auch in deinem Bucket bei Hetzner Object Storage gespeichert sein.