Storage Transfer Service mendukung transfer dari penyimpanan objek cloud atau lokal yang kompatibel dengan Amazon S3 API.
Storage Transfer Service mengakses data Anda di penyimpanan yang kompatibel dengan S3 menggunakan transfer dan agen yang di-deploy di VM yang dekat dengan sumber data. Agen ini berjalan di Docker dan termasuk dalam kumpulan agen, yaitu kumpulan agen yang menggunakan konfigurasi yang sama dan secara kolektif memindahkan data Anda secara paralel.
Dengan fitur ini, Anda dapat bermigrasi dari penyimpanan lokal atau objek cloud ke Cloud Storage, arsip untuk mengosongkan kapasitas penyimpanan lokal, mereplikasi data ke Google Cloud untuk kelangsungan bisnis, atau transfer data ke Google Cloud untuk analisis dan pemrosesan. Untuk pelanggan yang bermigrasi dari AWS S3 ke Cloud Storage, fitur ini memberikan opsi untuk mengontrol rute jaringan ke Google Cloud, yang menghasilkan biaya transfer data keluar.
Sebelum memulai
Sebelum mengonfigurasi transfer Anda, selesaikan langkah-langkah berikut:
- Instal gcloud CLI.
- Puaskan persyaratan untuk transfer sistem file, termasuk menginstal Docker di mesin agen transfer.
Mendapatkan kredensial sumber
Transfer dari penyimpanan yang kompatibel dengan S3 memerlukan ID kunci akses dan kunci akses rahasia.
Langkah-langkah untuk mendapatkannya bergantung pada penyedia penyimpanan Anda.
Akun yang digunakan untuk membuat ID dan kunci memerlukan salah satu izin berikut:
- Izin hanya baca pada objek sumber, jika Anda tidak ingin menghapus objek di sumbernya.
- Akses penuh ke objek sumber, jika Anda memilih untuk menghapus objek pada sumber sebagai sebagai bagian dari transfer.
Setelah Anda membuat akun, tambahkan izin, dan unduh ID kunci akses dan kunci akses rahasia, simpan ID dan kunci tersebut di brankas saat ini.
Mengonfigurasi izin Google Cloud
Sebelum membuat transfer, Anda harus mengonfigurasi izin untuk entitas:
Akun pengguna yang digunakan untuk membuat transfer. Ini adalah yang login ke Konsol Google Cloud, atau akun yang yang ditentukan saat mengautentikasi ke CLI `gcloud`. Akun pengguna dapat akun pengguna biasa, atau akun layanan yang dikelola pengguna. | |
Akun layanan yang dikelola Google, juga dikenal sebagai layanan
, yang digunakan oleh Storage Transfer Service. Akun ini umumnya
diidentifikasi oleh
alamat emailnya, yang menggunakan format
project-PROJECT_NUMBER@storage-transfer-service. .
|
|
Akun agen transfer yang menyediakan Google Cloud untuk agen transfer. Akun agen transfer menggunakan kredensial pengguna yang menginstalnya, atau kredensial pengguna akun layanan yang dikelola pengguna, untuk melakukan otentikasi. |
Lihat Izin transfer berbasis agen untuk melihat petunjuk.
Opsi transfer
Fitur Storage Transfer Service berikut tersedia untuk transfer dari ke Cloud Storage yang kompatibel dengan S3:
- Mentransfer file tertentu menggunakan manifes
- Anda dapat meneruskan daftar file agar Storage Transfer Service dapat ditindaklanjuti. Lihat Mentransfer file tertentu atau menggunakan manifes untuk mengetahui detailnya.
- Menentukan kelas penyimpanan
- Anda dapat menentukan
Kelas penyimpanan Cloud Storage yang akan digunakan untuk data Anda di tujuan
direktori VM dengan bucket. Lihat
StorageClass
opsi untuk detail REST, atau gunakan--custom-storage-class
dengan Google Cloud CLI.Perhatikan bahwa setelan kelas penyimpanan apa pun akan diabaikan jika tujuan bucket mengaktifkan Autoclass. Jika Autoclass diaktifkan, objek yang ditransfer ke dalam bucket pada awalnya akan ke Standard Storage.
- Penyimpanan metadata
-
Saat mentransfer file dari penyimpanan yang kompatibel dengan S3, Storage Transfer Service dapat secara opsional mempertahankan atribut tertentu sebagai metadata khusus.
Lihat penyimpanan yang kompatibel dengan Amazon S3 atau S3 ke Cloud Bagian Penyimpanan dari Penyimpanan metadata untuk detail tentang metadata yang dapat dipertahankan, dan cara mengonfigurasi transfer Anda.
- Logging dan pemantauan
- Transfer dari penyimpanan yang kompatibel dengan S3 dapat dilihat di Cloud Logging dan dan konfigurasi di Cloud Monitoring. Lihat Cloud Logging untuk Storage Transfer Service dan Memantau transfer lowongan untuk mengetahui detailnya. Anda juga dapat mengonfigurasi Pub/Sub notifikasi.
Membuat kumpulan agen
Untuk membuat kumpulan agen:
Konsol Google Cloud
Di Konsol Google Cloud, buka halaman Agent pool.
Halaman Kumpulan agen akan ditampilkan, yang mencantumkan kumpulan agen Anda yang sudah ada.
Klik Create another pool.
Beri nama kumpulan Anda, dan jika perlu, deskripsikan.
Anda dapat memilih untuk menetapkan batas bandwidth yang akan diterapkan ke kumpulan tersebut sebagai keseluruhan. {i>Bandwidth<i} yang ditentukan dalam MB/dtk akan dibagi di antara semua agen di dalam kumpulan. Lihat Mengelola bandwidth jaringan untuk informasi selengkapnya.
Klik Create.
REST API
Gunakan projects.agentPools.create:
POST https://storagetransfer.googleapis.com/v1/projects/PROJECT_ID/agentPools?agent_pool_id=AGENT_POOL_ID
Dengan keterangan:
PROJECT_ID
: Project ID yang Anda buat kumpulan agen.AGENT_POOL_ID
: ID kumpulan agen yang Anda membuat.
Jika kumpulan agen terjebak dalam status Creating
selama lebih dari 30 menit,
sebaiknya hapus kumpulan agen dan buat lagi.
Mencabut izin Storage Transfer Service yang diperlukan dari sebuah project saat
kumpulan agen berada dalam status Creating
yang menyebabkan perilaku layanan yang salah.
gcloud CLI
Untuk membuat kumpulan agen dengan alat command line gcloud
, jalankan
[gcloud transfer agent-pools create
][agent-pools-create].
gcloud transfer agent-pools create AGENT_POOL
Tempat opsi berikut tersedia:
AGENT_POOL adalah ID unik dan permanen untuk kumpulan ini.
--no-async
memblokir tugas lain di terminal Anda hingga kumpulan dibuat. Jika tidak disertakan, pembuatan kumpulan akan berjalan secara asinkron.--bandwidth-limit
menentukan jumlah bandwidth Anda dalam MB/dtk yang harus dibuat yang tersedia untuk agen kumpulan ini. Batas bandwidth berlaku untuk semua agen di kumpulan data, dan dapat membantu mencegah gangguan beban kerja transfer pool operasi lain yang berbagi {i>bandwidth<i} Anda. Misalnya, masukkan '50' untuk menyetel batas bandwidth 50 MB/dtk. Dengan membiarkan tanda ini tidak ditentukan, maka kumpulan agen akan menggunakan semua {i>bandwidth<i} yang tersedia untuk mereka.--display-name
adalah nama yang dapat diubah untuk membantu Anda mengidentifikasi kumpulan ini. Anda dapat menyertakan detail yang mungkin tidak muat dalam sumber daya lengkap unik kumpulan nama.
Instal agen transfer
Agen transfer adalah agen perangkat lunak yang mengoordinasikan aktivitas transfer dari sumber Anda melalui Storage Transfer Service. Mereka harus diinstal pada sistem dengan akses ke data sumber.
gcloud CLI
Untuk menginstal agen yang akan digunakan dengan sumber yang kompatibel dengan S3 menggunakan gcloud
CLI,
gunakan perintah transfer agents install
.
Anda harus memberikan kredensial akses, baik sebagai variabel lingkungan maupun
nilai AWS_ACCESS_KEY_ID
dan AWS_SECRET_ACCESS_KEY
, atau disimpan sebagai
kredensial {i>default<i} di
file konfigurasi sistem Anda.
export AWS_ACCESS_KEY_ID=ID
export AWS_SECRET_ACCESS_KEY=SECRET
gcloud transfer agents install --pool=POOL_NAME
Untuk menjalankan agen menggunakan
kunci akun layanan, gunakan
opsi --creds-file
:
gcloud transfer agents install --pool=POOL_NAME \
--creds-file=/relative/path/to/service-account-key.json
Membuat tugas transfer
Konsol Google Cloud
Ikuti langkah-langkah berikut untuk melakukan transfer dari sumber yang kompatibel dengan S3 ke bucket Cloud Storage.
Buka halaman Storage Transfer Service di Konsol Google Cloud.
Klik Buat tugas transfer. Halaman Buat tugas transfer ditampilkan.
Pilih S3-compatible object storage sebagai Source type. Tujuan tujuannya harus Google Cloud Storage.
Klik Next step.
Mengonfigurasi sumber
Tentukan informasi yang diperlukan untuk transfer ini:
Pilih kumpulan agen yang Anda konfigurasi untuk ini transfer data.
Masukkan Bucket name secara relatif terhadap endpoint. Misalnya, jika data Anda berada di:
https://example.com/bucket_a
Masukkan:
bucket_a
Masukkan Endpoint. Jangan sertakan protokol (
http://
atauhttps://
). Contoh:example.com
Tentukan atribut opsional untuk transfer ini:
Masukkan Region penandatanganan yang akan digunakan untuk menandatangani permintaan.
Pilih Proses penandatanganan untuk permintaan ini.
Pilih Gaya pengalamatan. Kunci ini menentukan apakah bucket nama diberikan dalam gaya jalur (mis.,
https://example.com/bucket-name/key-name
) atau gaya yang dihosting secara virtual (mis.,https://bucket-name.example.com/key-name
). {i>Read<i} Hosting virtual bucket di dokumentasi Amazon untuk mengetahui informasi selengkapnya tidak akurat atau tidak sesuai.Pilih Protokol jaringan.
Pilih versi API listingan yang akan digunakan. Lihat Dokumentasi ListObjectsV2 dan ListObjects untuk informasi selengkapnya.
Klik Next step.
Mengonfigurasi sink Anda
Di kolom Bucket or folder, masukkan bucket tujuan dan (opsional) nama folder, atau klik Jelajahi untuk memilih bucket dari daftar bucket yang ada di project saat ini. Untuk membuat bucket baru, klik Buat bucket baru.
Klik Next step.
Pilih setelan transfer
Di kolom Description, masukkan deskripsi transfer data. Sebagai praktik terbaik, masukkan deskripsi yang bermakna dan unik sehingga Anda dapat membedakan tugas-tugasnya.
Di bagian Metadata options, pilih untuk menggunakan opsi default, atau klik Lihat dan pilih opsi guna menentukan nilai untuk semua metadata yang didukung. Lihat Preservasi metadata untuk mengetahui detailnya.
Di bagian Kapan harus menimpa, pilih salah satu dari opsi berikut:
Jika berbeda: Timpa file tujuan jika file sumbernya dengan nama yang sama memiliki nilai Etag atau {i>checksum<i} yang berbeda.
Always: Selalu menimpa file tujuan saat file sumber memiliki nama yang sama, meskipun identik.
Di bagian Kapan harus dihapus, pilih salah satu opsi berikut:
Tidak pernah: Jangan pernah menghapus file dari sumber atau tujuan.
Hapus file dari sumber setelah ditransfer: Menghapus file dari sumber setelah ditransfer ke tujuan.
Hapus file dari tujuan jika file juga tidak ada di sumber: Jika file di bucket Cloud Storage tujuan juga tidak ada di sumbernya, lalu menghapus file dari Cloud Storage direktori VM dengan bucket.
Opsi ini memastikan bahwa bucket Cloud Storage tujuan sama persis dengan sumber.
Di bagian Notification options, pilih topik Pub/Sub Anda dan peristiwa yang akan diberi tahu. Lihat Notifikasi Pub/Sub untuk secara lebih mendetail.
Klik Next step.
Jadwalkan transfer
Anda dapat menjadwalkan transfer agar berjalan hanya satu kali, atau mengonfigurasi transfer berulang transfer data.
Klik Create untuk membuat tugas transfer.
gcloud CLI
Sebelum menggunakan CLI gcloud
untuk membuat transfer, ikuti petunjuk di
Mengonfigurasi akses ke sink Cloud Storage.
Untuk menggunakan CLI gcloud
guna membuat transfer dari sumber yang kompatibel dengan S3 ke
bucket Cloud Storage, gunakan perintah berikut.
gcloud transfer jobs create s3://SOURCE_BUCKET_NAME gs://SINK_BUCKET_NAME \
--source-agent-pool=POOL_NAME \
--source-endpoint=ENDPOINT \
--source-signing-region=REGION \
--source-auth-method=AWS_SIGNATURE_V2 | AWS_SIGNATURE_V4 \
--source-request-model=PATH_STYLE | VIRTUAL_HOSTED_STYLE \
--source-network-protocol=HTTP | HTTPS \
--source-list-api=LIST_OBJECTS | LIST_OBJECTS_V2
Flag berikut diperlukan:
--source-agent-pool
adalah nama kumpulan agen yang akan digunakan untuk ini transfer data.--source-endpoint
menentukan endpoint sistem penyimpanan Anda. Contoh,s3.us-east.example.com
. Hubungi penyedia untuk mengetahui jawaban yang benar format font.
Tanda yang tersisa bersifat opsional:
--source-signing-region
menentukan region untuk permintaan penandatanganan. Hapus tanda ini jika penyedia penyimpanan Anda tidak memerlukan region penandatanganan.--source-auth-method
menentukan metode autentikasi yang akan digunakan. Berlaku nilainya adalahAWS_SIGNATURE_V2
atauAWS_SIGNATURE_V4
. Rujuk ke Dokumentasi SigV4 dan SigV2 Amazon untuk informasi selengkapnya.--source-request-model
menentukan gaya pengalamatan yang akan digunakan. Nilai valid adalahPATH_STYLE
atauVIRTUAL_HOSTED_STYLE
. Gaya jalur menggunakan formathttps://s3.REGION.example.com/BUCKET_NAME/KEY_NAME
. Gaya {i>host<i} virtual menggunakan format `https://BUCKET_NAME.s3.REGION.example.com/KEY_NAME.--source-network-protocol
menentukan protokol jaringan yang digunakan agen digunakan untuk tugas ini. Nilai yang valid adalahHTTP
atauHTTPS
.--source-list-api
menentukan versi API listingan S3 untuk menampilkan objek dari bucket. Nilai yang valid adalahLIST_OBJECTS
atauLIST_OBJECTS_V2
. Lihat ListObjectsV2 Amazon dan Dokumentasi ListObjects untuk informasi selengkapnya.
Untuk opsi tugas transfer tambahan, jalankan gcloud transfer jobs create --help
atau lihat dokumentasi referensi gcloud
.
REST API
Sebelum menggunakan REST API untuk membuat transfer, ikuti petunjuk di Mengonfigurasi akses ke sink Cloud Storage.
Untuk membuat transfer dari sumber yang kompatibel dengan S3 menggunakan REST API, buat objek JSON yang mirip dengan contoh berikut.
POST https://storagetransfer.googleapis.com/v1/transferJobs
{
...
"transferSpec": {
"source_agent_pool_name":"POOL_NAME",
"awsS3CompatibleData": {
"region":"us-east-1",
"s3Metadata":{
"protocol": "NETWORK_PROTOCOL_HTTPS",
"requestModel": "REQUEST_MODEL_VIRTUAL_HOSTED_STYLE",
"authMethod": "AUTH_METHOD_AWS_SIGNATURE_V4"
},
"endpoint": "example.com",
"bucketName": "BUCKET_NAME",
"path": "PATH",
},
"gcsDataSink": {
"bucketName": "SINK_NAME",
"path": "SINK_PATH"
},
"transferOptions": {
"deleteObjectsFromSourceAfterTransfer": false
}
}
}
Lihat referensi API AwsS3CompatibleData
untuk deskripsi kolom.
Library klien
Sebelum menggunakan library klien untuk membuat transfer, ikuti petunjuk di Mengonfigurasi akses ke sink Cloud Storage.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Storage Transfer Service, lihat Library klien Storage Transfer Service. Untuk informasi selengkapnya, lihat Storage Transfer Service Go API dokumentasi referensi.
Untuk melakukan autentikasi ke Storage Transfer Service, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Storage Transfer Service, lihat Library klien Storage Transfer Service. Untuk informasi selengkapnya, lihat Storage Transfer Service Java API dokumentasi referensi.
Untuk melakukan autentikasi ke Storage Transfer Service, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Storage Transfer Service, lihat Library klien Storage Transfer Service. Untuk informasi selengkapnya, lihat Storage Transfer Service Node.js API dokumentasi referensi.
Untuk melakukan autentikasi ke Storage Transfer Service, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Storage Transfer Service, lihat Library klien Storage Transfer Service. Untuk informasi selengkapnya, lihat Storage Transfer Service Python API dokumentasi referensi.
Untuk melakukan autentikasi ke Storage Transfer Service, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Pertanyaan umum (FAQ)
Apakah ada biaya untuk transfer dari penyimpanan yang kompatibel dengan S3?
Transfer dari penyimpanan yang kompatibel dengan S3 tidak dikenai biaya "Storage Transfer Service transfer yang memerlukan agen" biaya. Lihat Harga untuk biaya lain yang mungkin timbul. Anda juga mungkin dikenai transfer data keluar dan biaya operasional dari penyedia cloud sumber Anda.
Apakah Cloud Logging didukung untuk transfer penyimpanan yang kompatibel dengan S3?
Ya, Anda dapat mengaktifkan Cloud Logging untuk transfer Anda dengan mengikuti petunjuk di Cloud Logging untuk Storage Transfer Service.
Apakah transfer yang menggunakan manifes didukung?
Ya, file manifes didukung untuk Transfer yang kompatibel dengan S3.
Jika saya menambahkan objek ke bucket sumber setelah tugas dimulai, apakah objek ditransfer?
Storage Transfer Service menjalankan operasi daftar pada bucket sumber untuk menghitung yang berbeda dari tujuan. Jika operasi daftar sudah selesai saat metode objek baru ditambahkan, sehingga objek tersebut dilewatkan hingga transfer berikutnya.
Apakah Storage Transfer Service melakukan pencocokan checksum pada sumber yang kompatibel dengan S3?
Storage Transfer Service bergantung pada data checksum yang ditampilkan oleh sumber. Sebagai Storage yang kompatibel dengan S3, Storage Transfer Service mengharapkan Etag objek Hash MD5 objek.
Namun, setiap objek yang ditransfer ke penyimpanan yang kompatibel dengan S3 menggunakan Upload multibagian S3 tidak memiliki ETag MD5. Dalam hal ini, Storage Transfer Service menggunakan ukuran file untuk memvalidasi objek yang ditransfer.
Berapa throughput yang dapat dicapai untuk transfer dari penyimpanan yang kompatibel dengan S3?
Throughput transfer Anda dapat diskalakan dengan menambahkan lebih banyak agen transfer. Rab sebaiknya gunakan 3 agen untuk fault tolerance dan untuk mengisi pipa <10Gbps. Kepada meningkatkan skala, menambahkan lebih banyak agen. Agen dapat ditambahkan dan dihapus saat transfer sedang dalam proses.
Tempat agen transfer harus di-deploy untuk mentransfer data dari Amazon S3 ke Cloud Storage?
Anda dapat menginstal agen di Amazon EC2 atau EKS dalam region yang sama dengan direktori VM dengan bucket. Anda juga dapat menjalankan agen di Google Cloud di region terdekat.