All Products
Search
Document Center

Elastic Compute Service:Akses instans tanpa IP publik melalui penerusan port

Last Updated:Apr 29, 2026

CLI Session Manager (ali-instance-cli) menggunakan Cloud Assistant dan WebSocket untuk penerusan port TCP, memungkinkan Anda mengakses layanan pada instans tanpa IP publik secara langsung atau menggunakan instans tersebut sebagai jump server untuk mengakses layanan jaringan pribadi lainnya.

Kasus penggunaan

Kasus penggunaan 1: Akses layanan pada Instance ECS tanpa IP publik.

Petakan port layanan (seperti 80 untuk Nginx, 22 untuk SSH, 3389 untuk RDP, atau 3306 untuk MySQL) dari Instance ECS tanpa IP publik ke port pada mesin lokal Anda. Anda kemudian dapat mengakses layanan pada instans tersebut dengan menghubungkan ke port lokal tersebut.

Kasus penggunaan 2: Gunakan instans sebagai jump server untuk mengakses layanan pada host pribadi lainnya.

Untuk layanan pribadi yang tidak mendukung penerusan port langsung, seperti database RDS for MySQL, Anda harus menggunakan Instance ECS yang memiliki akses jaringan ke layanan target sebagai jump server. Jump server tersebut kemudian meneruskan trafik ke layanan pribadi tersebut.

Penting

Sesi penerusan port hanya aktif selama jendela command-line terbuka. Biarkan jendela ini tetap terbuka untuk mempertahankan koneksi. Menutup jendela akan segera menghentikan sesi tersebut.

Skenario 1: Akses layanan pada instans pribadi

Sebelum memulai, pastikan Anda telah menyelesaikan prasyarat dan menginstal serta mengonfigurasi CLI Session Manager.

Pada Windows

Di PowerShell, buka direktori tempat ali-instance-cli.exe berada dan jalankan perintah berikut.

# Ganti INSTANCE_ID dengan ID instans target Anda, TARGET_PORT dengan port layanan pada Instance ECS target, dan LOCAL_PORT dengan port pada mesin lokal Anda.
.\ali-instance-cli.exe portforward -i INSTANCE_ID -r TARGET_PORT -l LOCAL_PORT

Output Waiting for connections menunjukkan bahwa koneksi penerusan port telah berhasil dibuat. Menghubungkan ke 127.0.0.1:<local_port> pada komputer Anda sekarang akan mengakses layanan pada <target_port> instans tersebut.

Contoh: Untuk meneruskan port Nginx default 80 pada Instance ECS target i-bp1****** ke port lokal 8080, jalankan .\ali-instance-cli.exe portforward -i i-bp1****** -r 80 -l 8080.

Pada macOS atau Linux

Di terminal, buka direktori tempat ali-instance-cli berada dan jalankan perintah berikut.

# Ganti INSTANCE_ID dengan ID instans target Anda, TARGET_PORT dengan port layanan pada Instance ECS target, dan LOCAL_PORT dengan port pada mesin lokal Anda.
./ali-instance-cli portforward -i INSTANCE_ID -r TARGET_PORT -l LOCAL_PORT

Output Waiting for connections menunjukkan bahwa koneksi penerusan port telah berhasil dibuat. Menghubungkan ke 127.0.0.1:<local_port> pada komputer Anda sekarang akan mengakses layanan pada <target_port> instans tersebut.

Contoh: Untuk meneruskan port Nginx default 80 pada Instance ECS target i-bp1****** ke port lokal 8080, jalankan ./ali-instance-cli portforward -i i-bp1****** -r 80 -l 8080.

Skenario 2: Gunakan instans sebagai jump server

Sebelum memulai, pastikan Anda telah menyelesaikan prasyarat dan menginstal serta mengonfigurasi CLI Session Manager.

Pada Windows

Di PowerShell, buka direktori tempat ali-instance-cli.exe berada dan jalankan perintah berikut:

# Ganti INSTANCE_ID dengan ID instans yang akan digunakan sebagai jump server, TARGET_IP dengan alamat IP host target, TARGET_PORT dengan port pada host target, dan LOCAL_PORT dengan port pada mesin lokal Anda.
.\ali-instance-cli.exe portforward -i INSTANCE_ID -r TARGET_IP:TARGET_PORT -l LOCAL_PORT

Output Waiting for connections menunjukkan bahwa saluran jump server telah berhasil dibuat. Trafik yang dikirim ke 127.0.0.1:<local_port> sekarang diteruskan melalui jump server ke <target_ip>:<target_port>.

Contoh: Untuk memetakan instans RDS for MySQL dengan titik akhir pribadi rm-******.mysql.rds.aliyuncs.com:3306 ke port lokal 13306 melalui Instance ECS i-bp1****** sebagai jump server, jalankan perintah berikut: .\ali-instance-cli.exe portforward -i i-bp1****** -r rm-******.mysql.rds.aliyuncs.com:3306 -l 13306

Pada macOS atau Linux

Di terminal, buka direktori tempat ali-instance-cli berada dan jalankan perintah berikut.

# Ganti INSTANCE_ID dengan ID instans yang akan digunakan sebagai jump server, TARGET_IP dengan alamat IP host target, TARGET_PORT dengan port pada host target, dan LOCAL_PORT dengan port pada mesin lokal Anda.
./ali-instance-cli portforward -i INSTANCE_ID -r TARGET_IP:TARGET_PORT -l LOCAL_PORT

Output Waiting for connections menunjukkan bahwa saluran jump server telah berhasil dibuat. Trafik yang dikirim ke 127.0.0.1:<local_port> sekarang diteruskan melalui jump server ke <target_ip>:<target_port>.

Contoh: Untuk memetakan instans ApsaraDB RDS for MySQL (titik akhir pribadi rm-******.mysql.rds.aliyuncs.com:3306) ke port lokal 13306 melalui Instance ECS i-bp1****** sebagai jump server, jalankan perintah berikut: ./ali-instance-cli portforward -i i-bp1****** -r rm-******.mysql.rds.aliyuncs.com:3306 -l 13306

FAQ

CLI hang: Instans tidak berjalan

Jika command line hang setelah Anda menjalankan perintah ali-instance-cli, instans target mungkin tidak dalam status Running. Untuk memeriksa status instans, lihat Periksa apakah instans berada dalam status Running.

CLI hang: Masalah grup keamanan

Jika command line hang setelah Anda menjalankan perintah ali-instance-cli, aturan security group instans tersebut mungkin memblokir port outbound yang diperlukan. Secara default, basic security group mengizinkan seluruh trafik outbound. Masalah ini dapat terjadi jika Anda telah mengubah aturan outbound atau menggunakan advanced security group.

Saat Anda menggunakan Session Manager untuk menghubungkan ke Instance ECS, pastikan Cloud Assistant Agent yang berjalan pada Instance ECS terhubung ke server Cloud Assistant dengan menambahkan aturan berikut ke security group outbound:

Dibandingkan dengan metode koneksi seperti SSH dan Remote Desktop Protocol (RDP), Cloud Assistant Agent secara aktif membuat koneksi WebSocket ke server Session Manager. Anda hanya perlu membuka port outbound WebSocket server Cloud Assistant dalam aturan keamanan. Untuk informasi tentang cara kerja Session Manager, lihat bagian Cara kerja Session Manager dalam topik ini.
Penting
  • Jika Anda menggunakan basic security groups termasuk default security group, seluruh trafik outbound diizinkan. Tidak diperlukan konfigurasi tambahan.

  • Jika Anda menggunakan advanced security group, seluruh trafik outbound ditolak. Anda harus mengonfigurasi aturan yang relevan. Tabel berikut menjelaskan aturan tersebut. Untuk informasi tentang security group, lihat Basic dan advanced security groups.

Untuk informasi tentang cara menambahkan aturan ke security group, lihat Tambahkan aturan security group.

Action

Priority

Protocol type

Port range

Authorization object

Description

Allow

1

Custom TCP

443

100.100.0.0/16

Port ini digunakan untuk mengakses server Cloud Assistant.

Allow

1

Custom TCP

443

100.0.0.0/8

Port ini digunakan untuk mengakses server tempat paket instalasi Cloud Assistant Agent disimpan saat Anda ingin menginstal atau memperbarui Cloud Assistant Agent.

Allow

1

Custom UDP

53

0.0.0.0/0

Port ini digunakan untuk menyelesaikan nama domain.

Jika Anda hanya ingin menghubungkan ke instans menggunakan Session Manager saja, hapus aturan inbound yang mengizinkan port SSH (default 22) dan port RDP (default 3389) dari security group untuk meningkatkan keamanan Instance ECS.

Menjalankan perintah menghasilkan prompt DeliveryTimeout (Cloud Assistant Agent sedang offline)

Jika pesan DeliveryTimeout muncul saat Anda menjalankan perintah ali-instance-cli, Cloud Assistant Agent mungkin sedang offline. Untuk memeriksa status Cloud Assistant Agent, lihat Periksa apakah Cloud Assistant Agent telah diinstal.

Kesalahan eksekusi perintah: Session Manager dinonaktifkan, harap aktifkan terlebih dahulu

Jika kesalahan session manager is disabled, please enable first muncul saat Anda menjalankan perintah ali-instance-cli, hal ini menunjukkan bahwa fitur Session Manager dinonaktifkan. Aktifkan fitur tersebut di Konsol. Untuk informasi lebih lanjut, lihat Aktifkan layanan Session Manager.

Menganalisis log ali-instance-cli

Jika Anda mengalami masalah dengan CLI Session Manager, menganalisis log dapat membantu mendiagnosis masalah tersebut.

  • Lihat log untuk CLI Session Manager: Saat Anda menggunakan CLI Session Manager (ali-instance-cli), direktori log akan dibuat di direktori tempat tool tersebut berada. Anda dapat membuka direktori ini untuk melihat file log, seperti ~/log/aliyun_ecs_session_log.2022XXXX.

  • Log Cloud Assistant Agent:

    • Linux

      /usr/local/share/aliyun-assist/<agent_version>/log/
    • Windows

      C:\ProgramData\aliyun\assist\<agent_version>\log