All Products
Search
Document Center

DataWorks:Ketersediaan tinggi untuk node SSH dengan penyeimbangan beban

Last Updated:Mar 27, 2026

Secara default, node SSH DataWorks terhubung ke satu instans Elastic Compute Service (ECS) tertentu. Jika instans tersebut gagal atau kehabisan sumber daya, tugas SSH akan tertunda atau berhenti. Dengan mengarahkan lalu lintas SSH melalui Alibaba Cloud Network Load Balancer (NLB), Anda dapat mendistribusikan tugas ke beberapa instans ECS dan menghilangkan single point of failure (SPOF)—tanpa mengubah logika tugas apa pun.

Topik ini memandu Anda melalui seluruh proses penyiapan: membuat instans ECS, mengonfigurasi NLB, menambahkan instans NLB sebagai sumber data SSH, serta memverifikasi bahwa tugas didistribusikan ke berbagai instans.

Cara kerja

Saat Anda mengonfigurasi sumber data SSH menggunakan nama domain instans NLB, setiap permintaan tugas dari node SSH DataWorks akan ditangkap oleh listener NLB. NLB memilih instans ECS yang sehat berdasarkan kebijakan penyeimbangan bebannya, lalu meneruskan permintaan tersebut ke instans tersebut. Instans ECS menjalankan tugas, dan hasilnya dikembalikan secara transparan melalui NLB serta ditampilkan di log eksekusi node SSH.

image

Tabel berikut merangkum perbedaan antara menjalankan tugas SSH dengan dan tanpa NLB:

Dimensi Tanpa penyeimbangan beban Dengan penyeimbangan beban
Dampak kegagalan Tugas pada instans ECS yang terdampak tertunda atau berhenti NLB mengalihkan tugas ke instans yang sehat secara otomatis
Kontinuitas tugas Terputus saat satu-satunya instans gagal Dipertahankan di seluruh kelompok server
Kejenuhan sumber daya Tugas gagal ketika satu instans kehabisan sumber daya Permintaan didistribusikan ke beberapa instans
Upaya O&M Memerlukan intervensi manual untuk pemulihan Pemeriksaan kesehatan NLB menangani failover secara otomatis

Kapan menggunakan fitur ini

Konfigurasikan penyeimbangan beban berbasis NLB untuk node SSH Anda jika:

  • Kegagalan tugas SSH akibat kegagalan instans ECS atau kehabisan sumber daya tidak dapat diterima

  • Tugas berjalan cukup lama sehingga restart instans selama eksekusi akan memutus alur kerja

  • Anda mengelola beberapa instans ECS untuk beban kerja SSH dan menginginkan failover otomatis tanpa mengubah logika tugas

Prasyarat

Sebelum memulai, pastikan bahwa:

  • Pengguna RAM telah ditambahkan ke ruang kerja Anda dengan peran Develop atau Workspace Administrator. Untuk informasi lebih lanjut, lihat Tambahkan anggota ke ruang kerja.

    Penting

    Peran Workspace Administrator memiliki izin yang lebih luas daripada yang biasanya diperlukan. Tetapkan dengan hati-hati.

  • Kelompok sumber daya arsitektur tanpa server telah dikaitkan dengan ruang kerja Anda. Untuk informasi lebih lanjut, lihat Gunakan kelompok sumber daya arsitektur tanpa server.

Batasan

  • Kode node SSH tidak boleh melebihi 128 KB.

  • Kelompok sumber daya DataWorks, instans ECS, dan instans NLB harus berada dalam virtual private cloud (VPC) yang sama di wilayah yang sama. Perbedaan VPC atau wilayah akan menyebabkan kegagalan koneksi.

Langkah 1: Buat instans ECS

Buat minimal dua instans ECS. Contoh ini menggunakan dua instans dengan data sampel berbeda untuk memverifikasi bahwa penyeimbangan beban berfungsi.

Buat instans

  1. Buka halaman pembelian ECS dan klik Custom Launch.

  2. Konfigurasikan parameter berikut: Untuk informasi lebih lanjut tentang pengaturan parameter, lihat Buat instans di tab Custom Launch.

    Parameter Deskripsi
    Region Pilih wilayah tempat ruang kerja DataWorks Anda berada
    Network and Zone Pilih VPC dan vSwitch yang digunakan oleh kelompok sumber daya arsitektur tanpa server Anda
    Security Group Pilih security group yang terkait dengan vSwitch kelompok sumber daya arsitektur tanpa server
    Other parameters Konfigurasikan sesuai kebutuhan bisnis Anda
  3. Atur Quantity menjadi 2 di sisi kanan halaman pembelian.

  4. Klik Create Order dan ikuti petunjuk untuk menyelesaikan pembelian.

Siapkan data sampel

Login ke setiap instans ECS dan tulis data sampel berbeda agar Anda dapat memverifikasi penyeimbangan beban nanti.

  1. Login ke Konsol ECS dan pilih wilayah tempat instans berada.

  2. Di halaman Instances, klik Connect di kolom Actions untuk suatu instans. Di kotak dialog Remote connection, klik Sign in now.

  3. Di kotak dialog Instance Login, masukkan informasi autentikasi untuk login.

  4. Jalankan perintah berikut di ECS Instance 1:

    echo "I am the second server" > /tmp/a.txt
  5. Ulangi langkah 2–3 untuk ECS Instance 2, lalu jalankan:

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

Langkah 2: Buat instans NLB

Buat instans NLB yang mengarahkan lalu lintas SSH ke instans ECS Anda. Untuk informasi lebih lanjut, lihat Buat dan kelola instans NLB.

Penting

Buat instans NLB di wilayah yang sama dengan ruang kerja DataWorks Anda. Perbedaan wilayah akan menyebabkan kegagalan koneksi.

  1. Login ke Konsol NLB. Di bilah navigasi atas, pilih wilayah target.

  2. Di panel navigasi kiri, klik Instances. Di halaman Instances, klik Create NLB. Halaman Cloud Service Buy Page akan muncul.

  3. Konfigurasikan parameter berikut:

    Bagian Parameter Nilai
    Network Network Type Internal-facing
    VPC VPC tempat kelompok sumber daya arsitektur tanpa server Anda ditempatkan
    Zone Zona tempat vSwitch kelompok sumber daya arsitektur tanpa server berada
    IP Version IPv4
    Management Settings Instance Name Masukkan nama kustom
    Resource Group Pilih kelompok sumber daya default
  4. Klik Create Now. Pada halaman Confirm Order, klik Activate Now.

Langkah 3: Buat kelompok server backend

Setelah instans NLB berada dalam status Active, buat kelompok server dan tambahkan instans ECS ke dalamnya. Untuk informasi lebih lanjut, lihat Kelompok server NLB.

  1. Di Konsol NLB, temukan instans NLB dan klik ID-nya untuk membuka halaman detail instans.

  2. Di bagian Quick Start with NLB, klik Create Server Group.

  3. Di kotak dialog Create Server Group, atur Server Group Name menjadi ECS_NLB lalu klik Create.

  4. Di kotak dialog konfirmasi, klik Add Backend Server.

  5. Di tab Backend Servers, klik Add Backend Server. Di panel yang muncul, pilih kedua instans ECS.

  6. Klik Next untuk melanjutkan ke langkah Ports/Weights. Atur Port menjadi 22 untuk setiap instans, lalu klik OK.

Tunggu hingga proses penambahan selesai sebelum melanjutkan.

Langkah 4: Konfigurasikan listener

Tambahkan listener TCP pada port 22 untuk mengarahkan lalu lintas SSH dari NLB ke kelompok server. Untuk informasi lebih lanjut, lihat Tambahkan listener TCP.

  1. Di halaman detail instans NLB, klik Create Listener di bagian Quick Start with NLB.

  2. Di halaman Configure Server Load Balancer, atur Listener Protocol menjadi TCP dan Listener Port menjadi 22. Klik Next.

  3. Di langkah Select Server Group, pilih Server Type dan pilih ECS_NLB dari daftar kelompok server. Klik Next.

  4. Di langkah Configuration Review, pastikan instans ECS dan port listener sudah benar. Klik Submit.

Langkah 5: Tambahkan instans NLB sebagai sumber data SSH

Konfigurasikan sumber data SSH di DataWorks menggunakan nama domain instans NLB sebagai alamat host. Untuk informasi lebih lanjut, lihat Sumber data SSH.

Konfigurasikan sumber data

  1. Login ke Konsol DataWorks. Di panel navigasi kiri, pilih More > Management Center.

  2. Pilih ruang kerja dari daftar drop-down dan klik Go to Management Center.

  3. Di panel navigasi kiri, klik Data Sources. Di tab Data Sources, klik Add Data Source.

  4. Di kotak dialog Add Data Source, klik SSH. Di halaman Add SSH Data Source, konfigurasikan parameter berikut: Untuk mendapatkan nama domain instans NLB: Di Konsol NLB, buka halaman detail instans, buka bagian Basic Information di tab Instance Details, lalu klik Copy di samping Domain Name.

    Parameter Nilai
    Data Source Name Nama kustom. Contoh: SSH_DB
    Configuration Mode Connection String Mode (tetap)
    Authentication Method DataWorks SSH Public Key Authentication (disarankan)
    Host Address Nama domain instans NLB (lihat di bawah)
    Host Port 22
    Username root
    Public Key Klik Generate Key Pair untuk menghasilkan kunci

Tambahkan kunci publik ke setiap instans ECS

Penting

Selesaikan langkah ini sebelum menguji konektivitas jaringan. Jika dilewati, pengujian konektivitas akan gagal.

Setelah mengklik Generate Key Pair, salin kunci publik yang dihasilkan dan tambahkan ke file .ssh/authorized_keys di setiap instans ECS:

  1. Salin kunci publik yang ditampilkan di halaman Add SSH Data Source.

  2. Login ke ECS Instance 1 (ikuti langkah-langkah di Langkah 1: Buat instans ECS) dan jalankan:

    echo "<public-key>" >> ~/.ssh/authorized_keys

    Ganti <public-key> dengan kunci yang telah Anda salin.

  3. Ulangi untuk ECS Instance 2.

Uji konektivitas

Di bagian Connection Configuration, temukan kelompok sumber daya arsitektur tanpa server yang terkait dengan ruang kerja Anda dan klik Test Network Connectivity di kolom Connection Status.

Langkah 6: Buat dan jalankan node SSH

Buat node SSH di Data Studio, jalankan beberapa kali, dan pastikan bahwa NLB mendistribusikan permintaan ke kedua instans ECS.

Buat node

  1. Di halaman Workspaces, temukan ruang kerja dan pilih Shortcuts > Data Studio di kolom Actions.

  2. Di panel navigasi kiri Data Studio, klik ikon image. Klik ikon image di samping Workspace Directories dan pilih Create Node > General > SSH.

  3. Di kotak dialog Create Node, atur Name lalu klik OK.

Konfigurasikan dan jalankan node

  1. Di editor kode, masukkan:

    cat /tmp/a.txt
  2. Dari daftar drop-down Select DataSource di bagian atas tab konfigurasi, pilih SSH_DB.

  3. Di panel navigasi kanan, klik Debugging Configurations. Pilih kelompok sumber daya arsitektur tanpa server dari daftar drop-down Resource Group.

  4. Klik Save di bilah alat, lalu klik Run.

Verifikasi hasil

Jalankan node beberapa kali. Karena NLB mendistribusikan tugas ke instans ECS secara acak berdasarkan algoritma penyeimbangan bebannya, Anda mungkin melihat hasil berbeda antar eksekusi:

Hasil eksekusi 1 image

Hasil eksekusi 2

image
Catatan

Mendapatkan hasil yang sama dalam beberapa eksekusi berturut-turut adalah hal normal—NLB mungkin mendistribusikan tugas ke instans yang sama dalam beberapa eksekusi. Melihat hasil dari kedua instans dalam beberapa eksekusi menegaskan bahwa penyeimbangan beban berfungsi.

Jika semua eksekusi secara konsisten menghasilkan hasil yang sama, periksa hal berikut:

  • Kunci publik telah ditambahkan dengan benar ke .ssh/authorized_keys di kedua instans ECS

  • Kedua instans menunjukkan status sehat di kelompok server NLB

  • Port listener (22) sesuai dengan port server backend

Langkah selanjutnya

  • Untuk memantau status kesehatan server backend di kelompok server NLB Anda, lihat Kelompok server NLB.

  • Untuk mempelajari lebih lanjut tentang pengembangan node SSH, lihat Pengembangan node.

Lampiran: Prinsip implementasi

Gambar berikut menunjukkan cara NLB mendistribusikan tugas di DataWorks untuk memastikan eksekusi tugas SSH yang stabil.

image

Setelah Anda menambahkan beberapa instans ECS ke kelompok server instans NLB, dan menetapkan nama domain instans NLB sebagai alamat host sumber data SSH di DataWorks, saat Anda mengonfigurasi node SSH, permintaan tugas pada node SSH akan dipantau oleh listener yang dikonfigurasi untuk instans NLB berdasarkan sumber data tersebut, dan tugas terkait akan didistribusikan ke instans ECS yang sehat untuk dijalankan berdasarkan kebijakan penyeimbangan beban. Hasil eksekusi dikembalikan secara transparan oleh instans NLB dan ditampilkan secara real time di log eksekusi node SSH.