Opsi lanjutan

Dokumen ini menjelaskan opsi penyiapan lanjutan untuk transfer sistem file, termasuk:

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:

  1. Menyediakan server Linux atau VM.

    Untuk sistem operasi yang didukung, lihat Prasyarat.

  2. 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.
  3. Pastikan volume CIFS terpasang dengan menjalankan perintah berikut:

    findmnt -l
    
  4. 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.
  5. Instal agen transfer.

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.

  1. Membuat kunci akun layanan. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola kunci akun layanan.

  2. 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.

Berikut adalah persyaratan memori untuk Layanan transfer bagi agen data lokal:
  • 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 sebagai prefix + 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:

  1. Login ke host lokal tempat Anda ingin menjalankan agen.

  2. Mengonfigurasi Akses Google Pribadi. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi Akses Google Pribadi untuk host lokal.

  3. Pastikan Anda dapat terhubung ke Cloud Storage API:

    1. 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 dengan MY-BUCKET sebagai nama bucket Cloud Storage Anda. Jika transfer berhasil, pengujian berhasil.

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 sebagai prefix + hostname + Docker container ID.

Menyalin ke bucket dengan kebijakan retensi

Untuk mentransfer ke bucket dengan kebijakan retensi, sebaiknya lakukan proses berikut:

  1. 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.

  2. Gunakan Storage Transfer Service untuk mentransfer data ke bucket sementara yang Anda buat tanpa kebijakan retensi.

  3. Lakukan transfer dari bucket ke bucket untuk mentransfer data ke bucket dengan kebijakan retensi.

  4. 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.