Saat mentransfer data ke sistem file lokal atau cloud pribadi (seperti POSIX, NFS, atau SMB), Anda harus mengonfigurasi hal berikut:
- Izin sistem file lokal: Berikan akses tulis tingkat OS kepada agen transfer tujuan ke direktori target Anda.
- Izin bucket perantara (khusus file-ke-file): Memberikan peran IAM pada bucket Cloud Storage perantara yang digunakan untuk melakukan staging file antar-sistem file.
Prasyarat
- Izin pengguna: Pastikan akun pengguna atau akun layanan terkelola pengguna memiliki izin untuk mengonfigurasi tugas transfer dan kumpulan agen. Lihat Izin pengguna yang diperlukan.
- Izin level project berbasis agen: Pastikan Anda telah mengonfigurasi peran level project yang diperlukan untuk akun agen layanan dan agen transfer. Lihat Izin level project berbasis agen.
Izin sistem file target lokal
Agen transfer menulis file langsung ke sistem file host Anda. Untuk mengaktifkan penulisan yang berhasil:
Izin pengguna OS: Pastikan pengguna sistem operasi yang menjalankan proses container memiliki izin baca, tulis, dan eksekusi pada hierarki direktori tujuan.
Memasang direktori: Saat menginstal agen tujuan, pasang jalur direktori target ke dalam container menggunakan flag
--mount-directories:gcloud transfer agents install --pool=DESTINATION_POOL_NAME \ --mount-directories=/path/to/destination/dir
Izin bucket perantara (transfer file ke file)
Transfer antara dua sistem file menggunakan bucket Cloud Storage perantara untuk melakukan staging file selama transfer.
Peran bawaan berikut memberikan akses yang diperlukan pada bucket perantara kepada agen layanan:
- Storage Object Creator (
roles/storage.objectCreator) - Storage Object Viewer (
roles/storage.objectViewer) - Storage Legacy Bucket Reader (
roles/storage.legacyBucketReader)
Peran berikut memberikan akses yang diperlukan pada bucket perantara ke akun agen transfer:
- Storage Object User (
roles/storage.objectUser)
Berikan peran ini pada bucket perantara:
Konsol
- Di konsol Google Cloud , buka halaman Buckets Cloud Storage.
- Klik menu Bucket overflow () untuk bucket perantara, lalu pilih Edit access.
- Klik + Add principal.
- Di New principals, masukkan email agen layanan Anda.
- Pilih
Storage Object Creator,Storage Object Viewer, danStorage Legacy Bucket Readerdari menu drop-down Pilih peran. - Klik + Add principal lagi.
- Masukkan alamat email akun agen transfer yang digunakan untuk pool agen sumber dan tujuan Anda.
- Pilih
Storage Object Userdari menu drop-down Select a role. - Klik Simpan.
gcloud
Berikan peran logging dan metadata ke agen layanan:
gcloud storage buckets add-iam-policy-binding gs://INTERMEDIATE_BUCKET_NAME \ --member=serviceAccount:SERVICE_AGENT_EMAIL --role=roles/storage.objectCreatorgcloud storage buckets add-iam-policy-binding gs://INTERMEDIATE_BUCKET_NAME \ --member=serviceAccount:SERVICE_AGENT_EMAIL --role=roles/storage.objectViewergcloud storage buckets add-iam-policy-binding gs://INTERMEDIATE_BUCKET_NAME \ --member=serviceAccount:SERVICE_AGENT_EMAIL --role=roles/storage.legacyBucketReaderBerikan peran pengelolaan objek ke akun agen transfer untuk kumpulan agen sumber dan tujuan:
gcloud storage buckets add-iam-policy-binding gs://INTERMEDIATE_BUCKET_NAME \ --member=serviceAccount_OR_user:TRANSFER_AGENT_ACCOUNT --role=roles/storage.objectUserGanti:
- INTERMEDIATE_BUCKET_NAME: Nama bucket staging perantara Anda.
- SERVICE_AGENT_EMAIL: Email agen layanan.
- serviceAccount_OR_user: Tentukan
serviceAccountjika akun agen transfer Anda adalah akun layanan, atauuserjika agen Anda diinstal dengan akun pengguna. - TRANSFER_AGENT_ACCOUNT: Email akun yang menjalankan agen transfer. Ulangi perintah ini jika kumpulan agen sumber dan tujuan Anda menggunakan akun yang berbeda.
REST API
Buat token akses untuk mengautentikasi permintaan Anda. Jika Anda menggunakan
gcloudCLI, jalankan:gcloud auth print-access-token
Ambil kebijakan IAM bucket yang ada (
GET https://storage./storage/v1/b/<var>INTERMEDIATE_BUCKET_NAME</var>/iam), tambahkan binding berikut ke arraybindings-nya, dan simpan kebijakan yang digabungkan sebagaiintermediate_policy.json:{ "bindings": [ { "role": "roles/storage.objectCreator", "members": ["serviceAccount:SERVICE_AGENT_EMAIL"] }, { "role": "roles/storage.objectViewer", "members": ["serviceAccount:SERVICE_AGENT_EMAIL"] }, { "role": "roles/storage.legacyBucketReader", "members": ["serviceAccount:SERVICE_AGENT_EMAIL"] }, { "role": "roles/storage.objectUser", "members": ["serviceAccount_OR_user:TRANSFER_AGENT_ACCOUNT"] } ] }
Ganti:
- SERVICE_AGENT_EMAIL: Email agen layanan.
- serviceAccount_OR_user: Tentukan
serviceAccountjika akun agen transfer Anda adalah akun layanan, atauuserjika agen Anda diinstal dengan akun pengguna. - TRANSFER_AGENT_ACCOUNT: Email akun yang menginstal agen transfer Anda. Jika pool agen sumber dan tujuan Anda menggunakan akun yang berbeda, sertakan kedua akun dalam array
membersuntukroles/storage.objectUser.
Perbarui kebijakan bucket perantara melalui
curl:curl -X PUT --data-binary @intermediate_policy.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage./storage/v1/b/INTERMEDIATE_BUCKET_NAME/iam"Ganti:
- OAUTH2_TOKEN: Token akses OAuth 2.0 yang dibuat di langkah 1.
- INTERMEDIATE_BUCKET_NAME: Nama bucket perantara Anda.
Untuk mengetahui informasi selengkapnya tentang arsitektur file ke file, lihat Transfer sistem file ke sistem file.
Performa dan pengoptimalan
- Untuk memaksimalkan throughput saat mentransfer ke sistem file besar, instal beberapa agen di kumpulan agen tujuan Anda (disarankan minimal 3). Lihat Praktik terbaik untuk agen transfer.
- Untuk file besar dalam transfer file ke file, pertimbangkan untuk mengaktifkan upload multibagian ke bucket perantara. Saat menggunakan Storage Object User (
roles/storage.objectUser), izin upload multibagian yang diperlukan (storage.multipartUploads.*) akan disertakan secara otomatis.
Langkah berikutnya
- Pelajari cara Menginstal agen transfer.
- Pelajari cara Mengonfigurasi akses ke sumber: sistem file.
- Pelajari cara Mengonfigurasi akses ke sumber: Cloud Storage.
- Pelajari cara Mentransfer data antara sistem file.