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

Sie können Daten von einem Bucket bei einem anderen Anbieter auf einen Bucket in Hetzner Object Storage migrieren, indem Sie die folgenden Schritte ausführen.

Wenn Sie von AWS S3 migrieren, bietet Amazon Ihnen die Möglichkeit, Ihre Daten kostenfrei zu übertragen. Weitere Informationen finden Sie 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

    Beachten Sie, dass rclone, s3cmd and aws s3 benutzerdefinierte Metadaten NICHT mitkopieren. Wenn Sie Objekte mit benutzerdefinierten Metadaten besitzen, werden diese auf dem neuen Bucket nicht mehr verfügbar sein. Wenn Sie die benutzerdefinierten Metadaten benötigen, empfehlen wie 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, sollten Sie 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 müssen Sie die Daten vorübergehend auf Ihrem lokalen System speichern und von dort zu Ihrem 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 müssen Sie die Daten vorübergehend auf Ihrem lokalen System speichern und von dort zu Ihrem 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>

Ihre Daten sollten nun auch in Ihrem Bucket bei Hetzner Object Storage gespeichert sein.