Sebelum membuat tugas transfer sistem file, Anda harus mengaktifkan API yang diperlukan dan menginstal Docker.
Jika Anda menerima error saat melakukan penyiapan pertama kali, pastikan pengguna yang Anda gunakan untuk login memiliki izin yang diperlukan untuk melakukan langkah-langkah penyiapan. Dalam banyak kasus, izin ini tidak tersedia untuk semua pengguna, dan Anda mungkin perlu menghubungi administrator project untuk mendapatkan bantuan.
Persyaratan sistem
Untuk menggunakan Storage Transfer Service untuk transfer sistem file, Anda memerlukan:
Sumber dan/atau tujuan yang sesuai dengan POSIX.
Bucket Cloud Storage tanpa kebijakan retensi. Untuk mentransfer ke bucket dengan kebijakan retensi, lihat Mentransfer ke bucket dengan kebijakan retensi.
Port TCP 443 (HTTPS) terbuka untuk koneksi keluar.
Persyaratan mesin agen transfer tercantum di bawah:
Server atau mesin virtual Linux 64-bit yang didukung Docker dan dapat mengakses data yang akan Anda transfer. Docker Community Edition, mendukung sistem operasi CentOs, Debian, Fedora, dan Ubuntu.
Untuk menggunakan sistem operasi Linux lainnya, lihat Docker Enterprise.
Setidaknya 8 GB memori per container dan setidaknya empat CPU agar paling efektif.
Batasan tingkat sistem atau tingkat pengguna pada jumlah ID proses yang diizinkan, seperti yang dikonfigurasi dengan
ulimit -u, harus memperhitungkan jumlah agen yang akan Anda jalankan. Setiap proses agen dapat membuat hingga ratusan thread. Sebaiknya hapus batas ID proses saat menjalankan agen transfer.Pelanggan yang menggunakan Podman untuk membuat container agen harus menentukan nilai
--pids-limityang cukup tinggi untuk mengakomodasi thread agen Storage Transfer Service. Nilai--pids-limitdefault adalah 2048, yang dapat menyebabkan masalah saat menjalankan lebih dari satu agen. Sebaiknya tetapkan--pids-limit=-1untuk mengizinkan ID proses tanpa batas per container.
Endpoint yang diperlukan
Endpoint DNS berikut harus dapat diakses oleh agen transfer. Meskipun agen hanya dapat menggunakan subset endpoint ini bergantung pada konfigurasinya, semua endpoint harus diizinkan untuk memastikan fungsi penuh.
Endpoint Google
Daftar endpoint yang diperlukan ini dapat berubah sewaktu-waktu. Untuk mencegah gangguan transfer, sebaiknya izinkan domain dasar googleapis.com dan gcr.io, asalkan kebijakan keamanan organisasi Anda mengizinkannya.
| Endpoint | Layanan | Tujuan |
|---|---|---|
storagetransfer.googleapis.com |
Storage Transfer Service | Digunakan oleh agen untuk terhubung ke Storage Transfer Service, menerima tugas transfer, dan melaporkan status health-nya. |
storage.googleapis.com |
Cloud Storage | Digunakan untuk melakukan operasi transfer data inti, termasuk mencantumkan, membaca, dan menulis objek ke bucket Cloud Storage Anda. |
www.googleapis.com |
Google API | Digunakan untuk mendownload update versi untuk agen transfer. |
monitoring.googleapis.com |
Cloud Monitoring | Digunakan untuk mengekspor metrik performa transfer dan health agen. |
logging.googleapis.com |
Cloud Logging | Digunakan untuk memublikasikan log sistem dan aktivitas agen. |
oauth2.googleapis.com |
Google OAuth 2.0 | Digunakan untuk menukar kredensial secara aman dan mengambil token akses jangka pendek untuk otorisasi API. |
iamcredentials.googleapis.com |
Kredensial Akun Layanan IAM | Digunakan untuk membuat kredensial sementara saat agen dikonfigurasi untuk meniru identitas akun layanan tertentu. |
cloudresourcemanager.googleapis.com |
Resource Manager | Digunakan selama penginstalan dan penyiapan agen untuk memverifikasi konfigurasi dan izin project. |
gcr.io |
Container Registry | Digunakan untuk mendownload image container agen layanan Storage Transfer Service selama penginstalan. |
Untuk mengoptimalkan performa transfer, agen dapat menggunakan protokol HTTP yang berbeda, termasuk HTTP/1.1 dan HTTP/2 minimal, saat berkomunikasi dengan berbagai endpoint. Pastikan proxy atau firewall yang dikonfigurasi mendukung dan berperforma dengan baik di semua jenis protokol ini.
Endpoint Regional
Jika Anda telah mengonfigurasi agen untuk menggunakan
endpoint regional
(misalnya, storage.REGION.rep.googleapis.com),
nama domain tertentu tersebut harus diizinkan oleh aturan proxy atau firewall Anda
bukan endpoint storage.googleapis.com standar.
Endpoint penyimpanan sumber dan tujuan
Agen juga memerlukan akses jaringan ke sistem penyimpanan sumber dan tujuan tertentu, seperti API yang kompatibel dengan S3, cluster HDFS, atau NFS untuk POSIX.
Batasan penskalaan pada tugas dan agen
Storage Transfer Service memiliki batasan skala berikut pada tugas dan agen transfer:
- Kurang dari satu miliar file per tugas
- Batas bandwidth harus lebih dari 1 MBps
- Maksimal 100 agen per kumpulan agen
- Maksimal 800 kumpulan agen per project
Mengaktifkan API
-
Aktifkan Google Storage Transfer API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.
Instal Docker
Jika Anda menggunakan Google Cloud CLI atau Docker untuk menginstal dan menjalankan agen transfer, instal Docker Engine di mesin Linux fisik atau virtual.
Jika Anda menggunakan Podman untuk menginstal dan menjalankan agen transfer, langsung buka petunjuk penginstalan khusus Podman.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable docker --now
Jika Anda mengalami error penginstalan, lihat Pemecahan masalah.
Mengizinkan Docker untuk melakukan autentikasi
Agar container Docker dapat melakukan autentikasi dengan kredensial default gcloud Anda, buatlah volume Docker yang berisi file dengan kredensial default aplikasi Anda dengan menjalankan perintah berikut:
sudo docker run -ti --name gcloud-config google/cloud-sdk gcloud auth application-default login
Apa langkah selanjutnya?
- Mengonfigurasi izin Google Cloud
- Membuat kumpulan agen
- Menginstal agen transfer
- Membuat tugas transfer
- Memaksimalkan performa agen transfer