All Products
Search
Document Center

DataWorks:Penyeimbangan beban dan ketersediaan tinggi untuk node SSH

Last Updated:Jun 22, 2026

Alibaba Cloud Network Load Balancer (NLB) menyediakan penyeimbangan beban cerdas untuk node SSH DataWorks guna mencegah titik kegagalan tunggal dan menyederhanakan konfigurasi tugas. Topik ini menjelaskan cara menerapkan dan menggunakan solusi tersebut di DataWorks agar tugas SSH berjalan secara stabil.

Latar Belakang

Di DataWorks, sumber data SSH biasanya dikonfigurasikan dengan alamat host dari instans ECS tetap. Jika host tersebut menjadi tidak sehat—misalnya mengalami crash atau kehabisan resource—node SSH mungkin gagal dijalankan. Untuk mengatasi hal ini, Anda dapat menambahkan beberapa instans ECS ke server group pada instans Network Load Balancer (NLB). NLB menggunakan algoritma internalnya untuk mendistribusikan permintaan tugas ke instans ECS yang tersedia dan terus-menerus memeriksa status kesehatannya. Jika suatu instans ECS gagal, NLB secara otomatis mengarahkan permintaan ke instans lain yang sehat. Pendekatan ini mencegah kegagalan satu instans mengganggu tugas dan menjamin ketersediaan tinggi.

Seperti yang ditunjukkan pada gambar sebelumnya:

  • Tanpa penyeimbangan beban: Tugas node SSH DataWorks hanya dapat dijalankan pada instans ECS yang terhubung. Jika instans tersebut kelebihan beban atau gagal, tugas akan tertunda atau terganggu.

  • Dengan penyeimbangan beban: Tugas node SSH DataWorks secara otomatis diarahkan ke instans ECS dalam server group berdasarkan kebijakan NLB. NLB juga melakukan pemeriksaan kesehatan pada server group. Jika mendeteksi instans ECS yang tidak sehat, NLB secara otomatis mengarahkan tugas ke instans lain yang sehat, sehingga menjamin kelangsungan dan ketersediaan tinggi.

Solusi ini mencegah kehabisan resource dan titik kegagalan tunggal, meningkatkan efisiensi serta keandalan eksekusi tugas.

Prasyarat

  • Pengguna RAM yang ingin Anda gunakan telah ditambahkan ke ruang kerja Anda.

    Jika Anda ingin menggunakan pengguna RAM untuk mengembangkan tugas, Anda harus menambahkan pengguna RAM tersebut ke ruang kerja sebagai anggota dan memberikan peran Develop atau Workspace Administrator. Peran Workspace Administrator memiliki izin lebih luas daripada yang diperlukan, sehingga berhati-hatilah saat memberikannya. Untuk informasi selengkapnya tentang cara menambahkan anggota dan memberikan peran, lihat Tambahkan anggota ke ruang kerja.

  • Kelompok resource arsitektur tanpa server telah dikaitkan dengan ruang kerja Anda. Untuk informasi selengkapnya, lihat topik dalam direktori Gunakan kelompok resource arsitektur tanpa server.

Batasan

  • Kode dalam node SSH tidak boleh melebihi 128 KB.

  • Kelompok resource DataWorks, instans ECS, dan instans NLB harus berada dalam VPC dan wilayah yang sama.

Persiapkan lingkungan

Untuk mengaktifkan penyeimbangan beban dan ketersediaan tinggi untuk node SSH, buat minimal dua instans ECS dan tambahkan data sampel unik ke masing-masing instans untuk verifikasi.

Buat instans ECS

Ikuti langkah-langkah berikut untuk membuat instans ECS yang diperlukan.

  1. Beli instans ECS.

    Buka halaman pembelian instans ECS, pilih tab Custom Launch, lalu konfigurasikan parameter berikut untuk membuat instans ECS. Untuk detail parameter lainnya, lihat Buat instans di tab Custom Launch.

    Parameter

    Deskripsi

    Region

    Pilih wilayah tempat ruang kerja DataWorks Anda berada.

    Network and zone

    Pilih Virtual Private Cloud (VPC) dan vSwitch yang sama dengan yang digunakan oleh kelompok resource arsitektur tanpa server.

    Security Group

    Pilih security group yang terikat pada vSwitch dari kelompok resource arsitektur tanpa server.

    Parameter lainnya

    Konfigurasikan parameter lainnya sesuai kebutuhan bisnis Anda.

  2. Tentukan jumlah.

    Di sisi kanan halaman pembelian instans ECS, temukan opsi Quantity dan masukkan jumlah instans ECS yang Anda perlukan. Tutorial ini menggunakan dua instans.

  3. Klik Create Order untuk menyelesaikan pembuatan dan pembelian instans ECS.

Persiapkan data sampel

Pada dua instans ECS yang telah Anda buat, tulis data sampel unik pada masing-masing instans agar Anda dapat membedakan hasilnya nanti.

  1. Masuk ke instans ECS.

    1. Buka Konsol ECS, alihkan ke wilayah tempat instans ECS berada, lalu temukan dua instans yang telah Anda buat.

    2. Pada kolom Operation untuk suatu instans, klik Remote connection. Di kotak dialog Remote connection, pilih Sign in now.

    3. Pada halaman Instance Login, konfigurasikan informasi autentikasi dan selesaikan proses login.

  2. Buat data sampel.

    • Pada Instans ECS 1, jalankan perintah berikut:

      echo "I am the first server" > /tmp/a.txt
    • Pada Instans ECS 2, jalankan perintah berikut:

      echo "I am the second server" > /tmp/a.txt

Konfigurasikan instans NLB

Ikuti langkah-langkah berikut untuk membuat instans NLB, konfigurasikan kelompok server backend dengan menambahkan dua instans ECS, dan atur listener untuk mengaktifkan penyeimbangan beban.

Buat instans NLB

Anda dapat membuat instans NLB dengan mengikuti langkah-langkah berikut. Untuk informasi selengkapnya, lihat Prasyarat untuk membuat instans NLB dan Buat dan kelola instans NLB.

  1. Buka halaman pembelian instans NLB.

    Login ke Konsol Network Load Balancer. Di bilah navigasi atas, pilih wilayah. Pada halaman Instances, klik Create NLB untuk membuka Cloud Service Buy Page.

    Penting

    Pilih wilayah yang sama dengan ruang kerja DataWorks Anda. Pemilihan wilayah yang salah akan mengharuskan Anda membuat instans baru.

  2. Konfigurasikan dan beli instans NLB.

    Di Cloud Service Buy Page, konfigurasikan parameter berikut untuk membuat instans NLB:

    Parameter

    Deskripsi

    Network

    Network type

    Pilih internal-facing.

    VPC

    Pilih VPC yang digunakan oleh kelompok resource arsitektur tanpa server Anda.

    Zone

    Pilih zona tempat vSwitch dari kelompok resource arsitektur tanpa server berada.

    IP version

    Pilih IPv4.

    Management settings

    Instance name

    Masukkan nama instans kustom.

    Resource group

    Pilih kelompok resource default.

  3. Konfirmasi pembelian.

    Setelah mengonfigurasi semua parameter, klik Create. Di halaman Confirm Order, klik Activate.

Buat kelompok server backend

Setelah instans NLB berada dalam status Active, ikuti langkah-langkah berikut untuk membuat dan mengikat kelompok server backend ke instans NLB. Untuk informasi selengkapnya, lihat Kelompok server NLB.

  1. Buka halaman detail instans.

    1. Login ke Konsol Network Load Balancer. Di bilah navigasi atas, pilih wilayah. Di daftar instans, temukan instans yang telah Anda buat.

    2. Klik nama instans untuk membuka halaman detail instans.

  2. Buat kelompok server backend.

    1. Di bagian atas halaman detail instans, klik Create Server Group untuk membuka halaman Create Server Group.

    2. Atur Server Group Name menjadi ECS_NLB, lalu klik Create.

  3. Tambahkan server backend.

    1. Di kotak dialog Server group created successfully, klik Add Backend Server.

    2. Di tab Backend Servers, klik Add Backend Server untuk membuka halaman Add Backend Server.

    3. Pilih dua instans ECS yang telah Anda buat.

    4. Klik Next step untuk membuka langkah Ports/Weights.

  4. Konfigurasikan port dan bobot.

    1. Atur Port menjadi 22.

    2. Klik OK untuk menyelesaikan konfigurasi.

Tunggu hingga server backend berhasil ditambahkan.

Konfigurasikan listener

Setelah Anda menambahkan instans ECS ke kelompok server backend, konfigurasikan listener untuk instans NLB sebagai berikut. Untuk informasi selengkapnya, lihat Tambahkan listener TCP.

  1. Buka halaman detail instans.

    1. Login ke Konsol Network Load Balancer. Di bilah navigasi atas, pilih wilayah. Di daftar instans, temukan instans yang telah Anda buat.

    2. Klik nama instans untuk membuka halaman detail instans.

  2. Konfigurasikan listener.

    1. Di bagian atas halaman detail instans, klik Create Listener untuk membuka wizard Configure Server Load Balancer.

    2. Atur protokol listener menjadi TCP dan atur port listener menjadi 22.

    3. Klik Next step.

  3. Pilih kelompok server.

    1. Di langkah Select Server Group, untuk Server Type, pilih kelompok server ECS_NLB yang telah Anda buat di Buat kelompok server backend.

    2. Klik Next step.

  4. Kirim untuk ditinjau.

    Di langkah Configuration Review, konfirmasi instans ECS dan port listener, lalu klik Submit.

Konfigurasikan sumber data SSH

Setelah menyelesaikan konfigurasi sebelumnya, tambahkan instans NLB sebagai sumber data SSH. Untuk informasi selengkapnya, lihat Sumber data SSH.

  1. Login ke Konsol DataWorks. Di wilayah target, klik More > Management Center di panel navigasi kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to Management Center.

  2. Di panel navigasi kiri, klik Data Sources > Data Sources untuk membuka halaman Data Sources.

  3. Di halaman Data Sources, klik Add Connection untuk membuka halaman Add Connection.

  4. Di halaman Add Connection, pilih SSH sebagai jenis sumber data untuk membuka halaman Add SSH Data Source. Anda dapat mengonfigurasi parameter pada halaman ini sebagai berikut.

    Parameter

    Deskripsi

    Data source name

    Masukkan nama kustom untuk sumber data, misalnya, SSH_DB.

    Configuration mode

    Gunakan default User-created Data Store with Public IP Addresses.

    Authentication method

    Kami merekomendasikan DataWorks SSH Public Key Authentication.

    Host address

    Login ke Konsol Network Load Balancer. Di bilah navigasi atas, pilih wilayah. Temukan instans dan klik namanya untuk membuka halaman detail instans. Salin Domain Name untuk digunakan sebagai Host Address.

    Host port

    Port host untuk server adalah 22.

    Username

    Username untuk server adalah root.

    Public key

    Klik Generate Key Pair. Platform akan menghasilkan kunci publik berdasarkan username yang telah Anda konfigurasikan.

    Penting

    Sebelum menguji koneksi, tambahkan kunci publik ke file .ssh/authorized_keys pada dua host ECS. Jika tidak, pengujian akan gagal.

  5. Uji konektivitas kelompok resource.

    Di bagian Connection Configuration, temukan kelompok resource arsitektur tanpa server yang terikat dengan ruang kerja Anda, lalu klik Test Connectivity di kolom Connected state.

Jalankan tugas SSH

Anda dapat mengikuti langkah-langkah berikut untuk membuat dan mengembangkan node SSH, lalu memverifikasi fungsionalitasnya dengan memeriksa hasil tugas.

Buat node SSH

Anda dapat membuat node SSH dengan mengikuti langkah-langkah berikut. Untuk informasi selengkapnya, lihat Buat node SSH.

  1. Buka halaman Workspaces di Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Temukan ruang kerja yang diinginkan dan pilih Shortcuts > Data Studio di kolom Actions.

  2. Di panel navigasi kiri, klik ikon image. Klik ikon image di samping Project Directory, lalu pilih New Node > General > SSH untuk membuka kotak dialog New Node.

  3. Di kotak dialog New Node, masukkan Name kustom untuk node SSH.

  4. Klik Confirm untuk membuka editor node.

Kembangkan node SSH

Di halaman editor node, tambahkan kode sampel berikut dan konfigurasikan lingkungan eksekusi.

  1. Tulis kode node SSH.

    Di editor kode, masukkan perintah sampel berikut:

    cat /tmp/a.txt
  2. Konfigurasikan lingkungan eksekusi.

    • Data Source: Dari daftar drop-down Select a data source di bagian atas editor, pilih sumber data SSH_DB.

    • Konfigurasi kelompok resource: Di panel kanan, klik Run Configuration, lalu atur Resource Group menjadi kelompok resource arsitektur tanpa server Anda.

  3. Klik tombol Save di bilah alat untuk menyimpan node SSH.

Lihat hasil tugas

Jalankan node SSH beberapa kali dan bandingkan output untuk memverifikasi bahwa penyeimbangan beban berfungsi dengan baik.

  1. Jalankan tugas node SSH.

    Klik tombol Run di bilah alat. Setelah eksekusi pertama selesai, jalankan tugas lagi.

  2. Lihat hasil tugas.

    Catatan

    Output mungkin berbeda antar eksekusi karena tugas diarahkan ke instans ECS yang berbeda setiap kali.

    Hasil eksekusi 1.

    2025-04-11 16:53:05 INFO =============================================
    2025-04-11 16:53:06,657 INFO [SshWrapperMain.java:151] - Get PrivateKey Content OK
    2025-04-11 16:53:06,667 INFO [SshExecutorUtil.java:33] - User: xxx
    2025-04-11 16:53:06,668 INFO [SshExecutorUtil.java:34] - Host: xxx
    2025-04-11 16:53:06,668 INFO [SshExecutorUtil.java:35] - Port: 22
    2025-04-11 16:53:07,876 INFO [SshExecutorUtil.java:55] - session connect success
    2025-04-11 16:53:07,877 INFO [SshExecutorUtil.java:56] - code:
    cat /tmp/a.txt
    2025-04-11 16:53:07,894 INFO [SshExecutorUtil.java:66] - channel connect success
    I am the first server
    2025-04-11 16:53:09 INFO =============================================
    2025-04-11 16:53:09 INFO Exit code of the Shell command 0
    2025-04-11 16:53:09 INFO --- Invocation of Shell command completed ---
    2025-04-11 16:53:09 INFO Shell run successfully!
    2025-04-11 16:53:09 INFO Current task status: FINISH
    2025-04-11 16:53:09 INFO Cost time is: 3.238s

    Hasil eksekusi 2:

    Output ini menampilkan "I am the second server", yang menunjukkan bahwa permintaan diarahkan ke instans ECS kedua. Log eksekusi adalah sebagai berikut:

    2025-04-11 16:53:56 INFO ============================================================
    2025-04-11 16:53:57,632 INFO [SshWrapperMain.java:151] - Get PrivateKey Content OK
    2025-04-11 16:53:57,645 INFO [SshExecutorUtil.java:33] - User:
    2025-04-11 16:53:57,645 INFO [SshExecutorUtil.java:34] - Host:
    2025-04-11 16:53:57,645 INFO [SshExecutorUtil.java:35] - Port: 22
    2025-04-11 16:53:58,746 INFO [SshExecutorUtil.java:55] - session connect success
    2025-04-11 16:53:58,746 INFO [SshExecutorUtil.java:56] - code:
    cat /tmp/a.txt
    2025-04-11 16:53:58,764 INFO [SshExecutorUtil.java:66] - channel connect success
    I am the second server
    2025-04-11 16:53:59 INFO ============================================================
    2025-04-11 16:53:59 INFO Exit code of the Shell command 0
    2025-04-11 16:53:59 INFO --- Invocation of Shell command completed ---
    2025-04-11 16:53:59 INFO Shell run successfully!
    2025-04-11 16:53:59 INFO Current task status: FINISH
    2025-04-11 16:53:59 INFO Cost time is: 3.011s

Cara kerja

Berikut ini penjelasan cara DataWorks menggunakan NLB untuk memastikan eksekusi tugas SSH berkonkurensi tinggi berjalan stabil:

Solusi ini bekerja dengan menambahkan beberapa instans ECS ke kelompok server NLB dan menggunakan nama DNS instans NLB sebagai sumber data SSH di DataWorks. Permintaan tugas dari node SSH kemudian dicegat oleh listener NLB, yang mendistribusikannya ke instans ECS yang sehat berdasarkan kebijakan penyeimbangan bebannya. Hasil eksekusi dikembalikan melalui NLB dan ditampilkan di log node SSH.