Sebelum dapat 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 mematuhi 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 virtual machine Linux 64-bit yang didukung Docker yang dapat mengakses data yang ingin Anda transfer. Docker Community Edition, mendukung sistem operasi CentOs, Debian, Fedora, dan Ubuntu.
Untuk menggunakan sistem operasi Linux lainnya, lihat Docker Enterprise.
Memori minimal 8 GB per container dan minimal empat CPU agar paling efektif.
Batasan tingkat sistem atau tingkat pengguna apa pun pada jumlah ID proses yang diizinkan, seperti yang dikonfigurasi dengan
ulimit -u, harus memperhitungkan jumlah agen yang ingin 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 fungsionalitas penuh.
Endpoint Google
Daftar endpoint yang diperlukan ini dapat berubah sewaktu-waktu. Untuk mencegah gangguan
transfer, sebaiknya izinkan domain googleapis.com dasar 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 responsivitasnya. |
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 metrik kesehatan agen. |
logging.googleapis.com |
Cloud Logging | Digunakan untuk memublikasikan log aktivitas dan sistem agen. |
oauth2.googleapis.com |
Google OAuth 2.0 | Digunakan untuk menukar kredensial dengan aman dan mengambil token akses berumur pendek untuk otorisasi API. |
iamcredentials.googleapis.com |
Kredensial Akun Layanan IAM | Digunakan untuk membuat kredensial sementara saat agen dikonfigurasi untuk meniru 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 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 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 spesifik 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
- Hingga 100 agen per kumpulan agen
- Hingga 800 kumpulan agen per project
Mengaktifkan API
-
Aktifkan Google Storage Transfer API, jika belum diaktifkan.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). 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 lanjutkan ke 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, buat 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