Dokumen ini menjelaskan opsi penyiapan lanjutan untuk transfer sistem file, termasuk:
- Menyalin data pada volume CIFS atau SMB
- Menggunakan kredensial akun layanan
- Menyesuaikan memori agen maksimum
- Membatasi akses direktori agen
- Mengoordinasikan agen dengan Kubernetes
- Menggunakan Forward Proxy
- 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 mematuhi POSIX dengan memasangnya di server Linux atau virtual machine (VM), lalu menjalankan agen dari server Linux atau VM untuk menyalin data Anda ke Cloud Storage.
Untuk memindahkan data dari volume CIFS atau SMB:
Menyediakan server Linux atau VM.
Untuk sistem operasi yang didukung, lihat Prasyarat.
Jalankan perintah berikut di server Linux atau VM 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 sedang Anda pasang.WINDOWS-SHARE-USER
: pengguna yang diberi otorisasi untuk mengakses volume CIFS atau SMB.WINDOWS-SHARE-PASSWORD
: sandi untuk pengguna yang diotorisasi untuk 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 mengandalkan satu akun pengguna. Untuk mengetahui informasi selengkapnya tentang jenis akun, lihat Akun utama.
Membuat 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.JSON
File kredensial secara otomatis dipasang oleh
gcloud transfer
dan tidak perlu ditentukan dengan flag--mount-directories
.
Menyesuaikan memori agen maksimum
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
, sehingga mengganti MAXIMUM-MEMORY
dengan nilai yang sesuai dengan lingkungan Anda.
- Memori minimum: 1GiB
- Memori minimum untuk mendukung upload berperforma tinggi: 6 GiB
Kami merekomendasikan penggunaan default 8GiB.
Tabel berikut menjelaskan contoh format yang dapat diterima untuk
MAXIMUM-MEMORY
:
Nilai max-physical-mem |
Setelan memori maksimum |
---|---|
6g |
6 gigabita |
6gb |
6 gigabita |
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 Anda membatasi akses agen hanya ke direktori yang diperlukan.
Untuk membatasi akses agen ke direktori tertentu:
gcloud
Untuk menentukan direktori yang dapat diakses oleh agen pada sistem file, gunakan
tanda --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 menggunakan 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 dalam
direktori yang sama dengan file kredensial tidak dipasang.
docker run
Untuk menentukan direktori yang dapat diakses agen saat melakukan
transfer, teruskan
-v HOST_DIRECTORY:CONTAINER_DIRECTORY
ke agen, dengan kondisi:
HOST_DIRECTORY
adalah direktori di mesin host yang ingin Anda salin.CONTAINER_DIRECTORY
adalah direktori yang dipetakan dalam penampung agen.
HOST_DIRECTORY
dan
CONTAINER_DIRECTORY
harus sama agar agen
dapat menemukan file yang akan disalin.
Jika menggunakan opsi ini:
- Jangan tentukan
--enable-mount-directory
. - Jangan mengawali jalur file Anda dengan
/transfer_root
.
Opsi --enable-mount-directory
memasang seluruh sistem file di bawah direktori /transfer_root
pada container. Jika --enable-mount-directory
ditentukan, pembatasan direktori tidak akan diterapkan.
Anda dapat menggunakan lebih dari satu tanda -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 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
: project ID yang menghosting resource transfer dibuat dan ditagih.CREDENTIAL_FILE
: file kredensial akun layanan berformat JSON. Untuk mengetahui informasi selengkapnya tentang 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 awalan digunakan, ID agen diformat sebagaiprefix + hostname + Docker container ID
.
Mengkoordinasikan agen dengan Kubernetes
Docker adalah runtime container yang didukung untuk Kubernetes. Anda dapat menggunakan Kubernetes untuk melakukan orkestrasi untuk 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 tempat Anda ingin menjalankan agen.
Mengonfigurasi 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:
gsutil cp test.txt gs://MY-BUCKET
denganMY-BUCKET
sebagai nama bucket Cloud Storage Anda. Jika transfer berhasil, pengujian 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 forward proxy
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 penggabungan ganda dalam enkripsi TLS. Permintaan yang digabungkan dua mencegah server proxy mengirim permintaan keluar yang valid.PROJECT_ID
: project ID 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 diformat sebagaiprefix + hostname + Docker container ID
.
Menyalin ke bucket dengan kebijakan retensi
Untuk mentransfer ke bucket dengan kebijakan retensi, sebaiknya lakukan 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 ke bucket sementara yang Anda buat tanpa kebijakan retensi.
Lakukan transfer dari bucket ke bucket untuk mentransfer data ke bucket dengan kebijakan retensi.
Hapus bucket Cloud Storage yang Anda buat untuk menyimpan data sementara waktu.
Opsi untuk mendapatkan lebih banyak bandwidth jaringan
Ada beberapa opsi guna mendapatkan lebih banyak bandwidth jaringan untuk transfer sistem file. Peningkatan bandwidth jaringan akan membantu mengurangi waktu transfer, terutama untuk set data yang besar.
Peering dengan Google—Peering adalah tempat Anda terhubung 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) mungkin dapat menawarkan lebih banyak bandwidth untuk kebutuhan Anda. Pertimbangkan untuk menghubungi mereka untuk menanyakan opsi apa yang mereka miliki.