Dokumen ini menjelaskan opsi penyiapan lanjutan untuk transfer sistem file, termasuk:
- Menyalin data pada volume CIFS atau SMB
- Menggunakan kredensial akun layanan
- Menyesuaikan memori maksimum agen
- Membatasi akses direktori agen
- Mengoordinasikan agen dengan Kubernetes
- Menggunakan Proxy Penerusan
- Menyalin ke bucket dengan kebijakan retensi
- Opsi untuk mendapatkan lebih banyak bandwidth jaringan
Menyalin data pada volume CIFS atau SMB
Agen transfer tidak didukung secara langsung di server Windows. Namun, Anda dapat memindahkan data yang disimpan di sistem file yang kompatibel dengan POSIX dengan memasangnya di server atau virtual machine (VM) Linux, lalu menjalankan agen dari server atau VM Linux untuk menyalin data ke Cloud Storage.
Untuk memindahkan data dari volume CIFS atau SMB:
Sediakan server atau VM Linux.
Untuk mengetahui sistem operasi yang didukung, lihat Prasyarat.
Jalankan perintah berikut di server atau VM Linux yang Anda sediakan untuk memasang volume:
sudo mount -t cifs -o username=WINDOWS-SHARE-USER,password=WINDOWS-SHARE-PASSWORD //IP-ADDRESS/SHARE-NAME /mnt
Ganti kode berikut:
IP-ADDRESS: alamat IP server Microsoft Windows tempat volume CIFS atau SMB berada.SHARE-NAME: nama berbagi yang Anda pasang.WINDOWS-SHARE-USER: pengguna yang diberi otorisasi untuk mengakses volume CIFS atau SMB.WINDOWS-SHARE-PASSWORD: sandi untuk pengguna yang diberi otorisasi dari volume CIFS atau SMB.
Pastikan volume CIFS terpasang dengan menjalankan perintah berikut:
findmnt -l
Pastikan pengguna yang akan menjalankan agen dapat mencantumkan dan menyalin file pada volume yang terpasang dengan menjalankan perintah berikut:
sudo -u USERNAME cp /mnt/FILE1 /mnt/FILE2
Ganti kode berikut:
USERNAME: pengguna yang akan menjalankan agen.FILE1: file yang akan disalin.FILE2: nama file yang akan disalin.
Menggunakan kredensial akun layanan
Anda dapat menggunakan kredensial akun layanan untuk menjalankan agen. Dengan menggunakan kredensial akun layanan, Anda dapat mengautentikasi agen transfer tanpa bergantung pada satu akun pengguna. Untuk mengetahui informasi selengkapnya tentang jenis akun, lihat Akun utama.
Buat kunci akun layanan. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola kunci akun layanan.
Teruskan lokasi kunci layanan ke perintah pembuatan agen:
gcloud transfer agents install --pool=POOL_NAME --count=NUM_AGENTS \ --mount-directories=MOUNT_DIRECTORIES \ --creds-file=RELATIVE_PATH_TO/KEY_FILE.JSONFile kredensial dipasang secara otomatis oleh
gcloud transferdan tidak perlu ditentukan dengan flag--mount-directories.
Menyesuaikan memori maksimum agen
Agen transfer secara default menggunakan memori sistem maksimum 8 GiB. Anda dapat
menyesuaikan memori maksimum yang digunakan oleh agen agar sesuai dengan lingkungan Anda dengan meneruskan
--max-physical-mem=MAXIMUM-MEMORY, mengganti
MAXIMUM-MEMORY dengan nilai yang sesuai dengan lingkungan Anda.
Flag ini hanya didukung oleh perintah
docker run.
- Memori minimum: 1 GiB
- Memori minimum untuk mendukung upload berperforma tinggi: 6 GiB
Sebaiknya gunakan setelan default 8 GiB.
Tabel berikut menjelaskan contoh format yang dapat diterima untuk MAXIMUM-MEMORY:
Nilai max-physical-mem |
Setelan memori maksimum |
|---|---|
6g |
6 gigabyte |
6gb |
6 gigabyte |
6GiB |
6 gibibyte |
Membatasi akses direktori agen
Pengguna yang dapat membuat tugas transfer dapat mengambil data dari, dan mendownload data ke, direktori sistem file mana pun yang dapat diakses oleh agen.
Jika agen dijalankan sebagai root dan diberi akses ke seluruh sistem file, pelaku kejahatan mungkin dapat mengambil alih host. Sebaiknya batasi akses agen hanya ke direktori yang diperlukan.
Untuk membatasi akses agen ke direktori tertentu:
gcloud
Untuk menentukan direktori yang dapat diakses agen di sistem file, gunakan flag --mount-directories dengan gcloud transfer agents install:
gcloud transfer agents install --pool=POOL_NAME --count=NUM_AGENTS \
--mount-directories=MOUNT_DIRECTORIES
Tentukan beberapa direktori dengan memisahkan setiap direktori dengan koma dan tanpa spasi:
gcloud transfer agents install --pool=POOL_NAME --count=NUM_AGENTS \
--mount-directories=MOUNT_DIRECTORY_1,MOUNT_DIRECTORY_2
Jika Anda menentukan file kredensial menggunakan flag --creds-file, gcloud transfer akan otomatis memasang file kredensial. File lain di direktori yang sama dengan file kredensial tidak akan dipasang.
docker run
Untuk menentukan direktori yang dapat diakses agen saat melakukan
transfer, teruskan
-v HOST_DIRECTORY:CONTAINER_DIRECTORY
ke agen, dan tentukan hal berikut:
HOST_DIRECTORYadalah direktori di mesin host yang ingin Anda salin.CONTAINER_DIRECTORYadalah direktori yang dipetakan dalam container agen.
HOST_DIRECTORY dan CONTAINER_DIRECTORY harus sama agar agen dapat menemukan file yang akan disalin.
Saat menggunakan opsi ini:
- Jangan tentukan
--enable-mount-directory. - Jangan awali jalur file Anda dengan
/transfer_root.
Opsi --enable-mount-directory memasang seluruh sistem file di direktori /transfer_root pada container. Jika --enable-mount-directory ditentukan, batasan direktori tidak akan diterapkan.
Anda dapat menggunakan lebih dari satu flag -v untuk menentukan direktori tambahan yang akan disalin. Contoh:
sudo docker run --ulimit memlock=64000000 -d -rm --volumes-from gcloud-config \ -v /usr/local/research:/usr/local/research \ -v /usr/local/billing:/usr/local/billing \ -v /tmp:/tmp \ gcr.io/cloud-ingest/tsop-agent:latest \ --project-id=PROJECT_ID \ --hostname=$(hostname) \ --agent-id-prefix=ID_PREFIX
Jika Anda menggunakan akun layanan, pastikan Anda memasang file kredensial
ke dalam container dan meneruskan
--creds-file=CREDENTIAL_FILE. Contoh:
sudo docker run --ulimit memlock=64000000 -d -rm \ -v HOST_DIRECTORY:CONTAINER_DIRECTORY \ -v /tmp:/tmp \ -v FULL_CREDENTIAL_FILE_PATH:FULL_CREDENTIAL_FILE_PATH \ gcr.io/cloud-ingest/tsop-agent:latest \ --project-id=PROJECT_ID \ --creds-file=CREDENTIAL_FILE \ --hostname=$(hostname) \ --agent-id-prefix=ID_PREFIX
Ganti kode berikut:
HOST_DIRECTORY: direktori di mesin host yang ingin Anda salin.CONTAINER_DIRECTORY: direktori yang dipetakan dalam container agen.FULL_CREDENTIAL_FILE_PATH: jalur yang sepenuhnya memenuhi syarat ke file kredensial.PROJECT_ID: ID project yang menghosting resource transfer dibuat dan ditagih.CREDENTIAL_FILE: file kredensial akun layanan berformat JSON. Untuk mengetahui informasi selengkapnya tentang cara membuat file kredensial akun layanan, lihat Membuat dan mengelola kunci akun layanan.ID_PREFIX: awalan yang ditambahkan ke ID agen untuk membantu mengidentifikasi agen atau mesinnya di konsol Google Cloud . Jika a awalan digunakan, ID agen akan diformat sebagaiprefix + hostname + Docker container ID.
Mengoordinasikan agen dengan Kubernetes
Docker adalah runtime container yang didukung untuk Kubernetes. Anda dapat menggunakan Kubernetes untuk mengatur memulai dan menghentikan banyak agen secara bersamaan. Dari perspektif Kubernetes, container agen dianggap sebagai aplikasi stateless, sehingga Anda dapat mengikuti petunjuk Kubernetes untuk men-deploy aplikasi stateless.
Menggunakan endpoint API pribadi di Cloud Interconnect
Untuk menggunakan endpoint API pribadi di Cloud Interconnect:
Login ke host lokal yang ingin Anda gunakan untuk menjalankan agen.
Konfigurasi Akses Google Pribadi. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi Akses Google Pribadi untuk host lokal.
Pastikan Anda dapat terhubung ke Cloud Storage API:
- Untuk Cloud Storage API, jalankan perintah berikut dari mesin yang sama dengan agen transfer untuk menguji pemindahan file ke bucket Cloud Storage Anda:
gcloud storage cp test.txt gs://MY-BUCKETdenganMY-BUCKETadalah nama bucket Cloud Storage Anda. Jika transfer berhasil, pengujian akan berhasil.
- Untuk Cloud Storage API, jalankan perintah berikut dari mesin yang sama dengan agen transfer untuk menguji pemindahan file ke bucket Cloud Storage Anda:
Menggunakan proxy penerusan
Agen transfer mendukung penggunaan proxy penerusan di jaringan Anda dengan meneruskan variabel lingkungan HTTPS_PROXY.
Contoh:
sudo docker run -d --ulimit memlock=64000000 --rm \ --volumes-from gcloud-config \ -v /usr/local/research:/usr/local/research \ --env HTTPS_PROXY=PROXY\ gcr.io/cloud-ingest/tsop-agent:latest \ --enable-mount-directory \ --project-id=PROJECT_ID \ --hostname=$(hostname) \ --agent-id-prefix=ID_PREFIX
Ganti kode berikut:
PROXY: URL HTTP dan port server proxy. Pastikan Anda menentukan URL HTTP, bukan URL HTTPS, untuk menghindari permintaan yang dienkapsulasi dua kali dalam enkripsi TLS. Permintaan yang dienkapsulasi dua kali mencegah server proxy mengirim permintaan keluar yang valid.PROJECT_ID: ID project yang menghosting resource transfer dibuat dan ditagih.ID_PREFIX: awalan yang ditambahkan ke ID agen untuk membantu mengidentifikasi agen atau mesinnya di konsol Google Cloud . Jika awalan digunakan, ID agen akan diformat sebagaiprefix + hostname + Docker container ID.
Menyalin ke bucket dengan kebijakan retensi
Untuk mentransfer ke bucket dengan kebijakan retensi, sebaiknya gunakan proses berikut:
Buat bucket Cloud Storage dalam region yang sama dengan bucket akhir. Pastikan bucket sementara ini tidak memiliki kebijakan retensi.
Untuk mengetahui informasi selengkapnya tentang region, lihat Lokasi bucket.
Gunakan Storage Transfer Service untuk mentransfer data Anda ke bucket sementara yang Anda buat tanpa kebijakan retensi.
Lakukan transfer bucket-ke-bucket untuk mentransfer data ke bucket dengan kebijakan retensi.
Hapus bucket Cloud Storage yang Anda buat untuk menyimpan data Anda secara sementara.
Opsi untuk mendapatkan lebih banyak bandwidth jaringan
Ada beberapa opsi untuk mendapatkan lebih banyak bandwidth jaringan untuk transfer sistem file. Meningkatkan bandwidth jaringan akan membantu mengurangi waktu transfer, terutama untuk set data besar.
Peering dengan Google—Peering adalah tempat Anda melakukan interkoneksi langsung dengan Google untuk mendukung pertukaran traffic. Kami memiliki lokasi peering langsung di seluruh dunia. Untuk mempelajari manfaat dan kebijakan kami, lihat Peering.
Cloud Interconnect—Cloud Interconnect mirip dengan peering, tetapi Anda akan menggunakan interkoneksi untuk terhubung ke Google. Ada dua jenis interkoneksi yang dapat dipilih:
Dedicated Interconnect— Anda terhubung langsung dari pusat data Anda ke pusat data Google melalui koneksi pribadi khusus. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Dedicated Interconnect.
Partner Interconnect—Anda bekerja sama dengan penyedia layanan untuk membuat koneksi ke pusat data Google melalui jaringan partner layanan. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Partner Interconnect.
Mendapatkan bandwidth dari ISP—Internet service provider (ISP) Anda mungkin dapat menawarkan lebih banyak bandwidth untuk kebutuhan Anda. Sebaiknya hubungi mereka untuk menanyakan opsi yang tersedia.