Cara Memigrasi Bucket AWS S3 ke Akun atau Layanan Lain

Simple Storage Service (S3) AWS sangat bagus untuk menyimpan objek dalam jumlah besar, tetapi juga kompatibel dengan API dengan banyak layanan pesaing lainnya. Jika Anda ingin keluar dari AWS, migrasi bucket S3 mudah dilakukan.

Bagaimana cara kerjanya?

Jika kedua layanan yang Anda tuju dan dari kompatibel dengan S3, Anda cukup menggunakan utilitas seperti rclone, dikonfigurasi untuk mengakses setiap layanan, untuk mentransfer semua item. Misalnya, Anda dapat berpindah dari S3 ke layanan Digital Ocean Spaces yang kompatibel, atau berpindah dari bucket S3 di satu akun ke akun lainnya.

Untuk memudahkan pemindahan, rclone akan membaca dari ember sumber, menemukan semua file yang perlu dipindahkan, dan menangani kloning ke ember tujuan. rclone juga dapat menangani pembaruan file, yang dapat berguna jika ember sumber sedang ditulis saat bergerak.

Sejauh waktu transfer, mungkin akan memakan waktu lebih lama tergantung pada ukuran ember. Jumlah file juga menjadi masalah, karena rclone menambahkan overhead untuk setiap transfer. Jika Anda memiliki jutaan file, atau beberapa terabyte, Anda harus bersiap untuk waktu transfer.

Untungnya, Anda dapat melakukan migrasi awal yang besar saat bucket masih aktif menulis. Anda mungkin memerlukan waktu henti untuk memastikan bucket sinkron sebelum migrasi terakhir. Jika itu masalah, ada alat lain yang tersedia untuk transisi mulus, termasuk alat komersial seperti NetApp Cloud Sync yang dapat menyinkronkan beberapa ember bersama-sama.

Beberapa layanan cloud, seperti Google Cloud Platform, memiliki layanan sendiri yang dapat menangani transfer. Jika Anda pindah ke platform yang mendukungnya, Anda mungkin ingin menggunakan layanan mereka.

TERKAIT: Cara Memigrasi Bucket S3 ke Penyimpanan Google Cloud Platform

Menyiapkan rclone

Cara paling sederhana adalah mengatur rclone di server Anda sendiri untuk menangani operasi migrasi. Anda harus menjalankannya di latar belakang, atau melalui a tmux jendela sehingga Anda dapat memutuskan sambungan selama transfer lama.

TERKAIT: Cara Menggunakan tmux di Linux untuk Terminal Multitasking

rclone tersedia dari sebagian besar manajer paket:

apt install rclone -y

rclone umumnya dimaksudkan untuk mentransfer file secara lokal atau antara server yang kompatibel dengan SSH, sehingga memerlukan konfigurasi minimal untuk menangani transfer antar layanan S3. File ini terletak di:

~/.config/rclone/rclone.conf

Tambahkan blok baru dengan konfigurasi berikut, hubungkan ke akun AWS Anda (bukan bucket tertentu):

[s3]
type = s3
env_auth = false
acl = private
access_key_id = ACCESS_KEY
secret_access_key = SECRET_KEY
region = REGION
location_constraint = LOCATION_CONSTRAINT

Anda harus mengisi konfigurasi dengan kunci akses dan rahasia Anda, dan memasukkan wilayah bucket Anda. Anda dapat menemukan daftar wilayah dari dokumen AWS.

Anda harus mengisi blok lain untuk layanan lain yang Anda transfer. Jika Anda berpindah antar akun AWS, Anda memerlukan kunci terpisah dengan akses ke akun tersebut. Jika Anda pindah ke layanan seperti DO Spaces, Anda harus menentukan blok lain dengan titik akhir baru yang dikonfigurasi:

[spaces]
type = s3
env_auth = false
acl = private
access_key_id = ACCESS_KEY
secret_access_key = SECRET_KEY
endpoint = nyc3.digitaloceanspaces.com

Bagaimanapun, Anda harus memberinya nama baru di blok judul, karena ini adalah dua remote yang terpisah.

Pelaksanaan Transfer

Setelah dikonfigurasi, Anda akan dapat melihat semua kemungkinan remote

rclone listremotes

s3:
spaces:

Konfirmasikan tipe jarak jauh dengan menambahkan tanda --long ke perintah rclone listremotes.

Anda dapat melihat isi ember dengan menggunakan nama titik akhir diikuti dengan titik dua dan nama ember.

rclone tree s3:source-bucket

Kemudian, Anda dapat menjalankan sinkronisasi, dengan beberapa tanda tambahan untuk kinerja yang optimal:

rclone sync source:/source-bucket 
destination:/destination-bucket 
-P -v --log-file /var/log/rclone/rclone-1.log 
--create-empty-src-dirs --s3-chunk-size 20M 
--s3-upload-concurrency 64 --checksum

Itu -P Bendera akan memungkinkan Anda untuk melihat kemajuan secara interaktif di terminal Anda, dan memberikan perkiraan berapa lama waktu yang dibutuhkan.

rclone sync hanya akan memindai ember sumber dan memperbarui ember target. Anda dapat terus mengubah keranjang sumber saat migrasi selesai. Setelah itu, Anda dapat menjalankan migrasi tambahan dan terus menyinkronkan bucket bersama-sama.

Leave a Comment

Your email address will not be published. Required fields are marked *