Session Manager CLI (ali-instance-cli) memanfaatkan Cloud Assistant dan WebSocket untuk mengaktifkan penerusan port TCP. Fitur ini memungkinkan Anda mengakses layanan pada instans yang tidak memiliki alamat IP publik secara langsung, serta menggunakan instans tersebut sebagai jump server untuk mengakses layanan jaringan pribadi lainnya.
Kasus penggunaan
Kasus penggunaan 1: Akses layanan pada instans ECS tanpa alamat IP publik. Petakan port layanan pada instans ECS tanpa alamat IP publik (misalnya port | Kasus penggunaan 2: Gunakan instans sebagai jump server untuk mengakses layanan pada host pribadi lainnya. Untuk layanan yang tidak dapat diakses secara langsung, seperti database ApsaraDB RDS for MySQL, gunakan instans ECS yang memiliki akses jaringan ke layanan target sebagai jump server. Sesi penerusan port akan menembus instans ini untuk mencapai layanan jaringan pribadi lainnya. |
Sesi penerusan port hanya tetap aktif selama jendela command-line sedang berjalan. Jika Anda menutup jendela tersebut, sesi akan segera dihentikan.
Kasus penggunaan 1: Akses layanan pada instans ECS tanpa alamat IP publik
Selesaikan persiapan dan instal serta konfigurasikan Session Manager CLI, lalu ikuti langkah-langkah berikut.
Pada Windows
Buka PowerShell, navigasi ke direktori tempat ali-instance-cli.exe berada, lalu jalankan perintah berikut.
# Ganti INSTANCE_ID dengan ID instans tempat Anda ingin mengatur penerusan port, TARGET_PORT dengan port instans ECS target, dan LOCAL_PORT dengan port yang akan dipetakan pada mesin lokal Anda.
.\ali-instance-cli.exe portforward -i INSTANCE_ID -r TARGET_PORT -l LOCAL_PORTOutput Waiting for connections menunjukkan bahwa saluran data telah aktif. Anda kini dapat mengakses layanan pada TARGET_PORT instans tersebut dengan terhubung ke 127.0.0.1:<local_port>.
Sebagai contoh, untuk meneruskan port Nginx default80pada instans ECS targeti-bp1******ke port8080pada mesin lokal Anda, jalankan.\ali-instance-cli.exe portforward -i i-bp1****** -r 80 -l 8080.
Pada macOS atau Linux
Buka terminal, navigasi ke direktori tempat ali-instance-cli berada, lalu jalankan perintah berikut.
#Ganti INSTANCE_ID dengan ID instans tempat Anda ingin mengatur penerusan port, TARGET_PORT dengan port instans ECS target, dan LOCAL_PORT dengan port yang akan dipetakan pada mesin lokal Anda.
./ali-instance-cli portforward -i INSTANCE_ID -r TARGET_PORT -l LOCAL_PORTOutput Waiting for connections menunjukkan bahwa saluran data telah aktif. Anda kini dapat mengakses layanan pada TARGET_PORT instans tersebut dengan terhubung ke 127.0.0.1:<local_port>.
Sebagai contoh, untuk meneruskan port Nginx default80pada instans ECS targeti-bp1******ke port8080pada mesin lokal Anda, jalankan./ali-instance-cli portforward -i i-bp1****** -r 80 -l 8080.
Kasus penggunaan 2: Gunakan instans sebagai jump server untuk mengakses layanan pada host pribadi lainnya
Selesaikan persiapan dan instal serta konfigurasikan Session Manager CLI, lalu ikuti langkah-langkah berikut.
Pada Windows
Buka PowerShell, navigasi ke direktori tempat ali-instance-cli.exe berada, lalu jalankan perintah berikut:
# Ganti INSTANCE_ID dengan ID instans jump server, TARGET_IP dengan alamat IP host target, TARGET_PORT dengan port host target, dan LOCAL_PORT dengan port yang akan dipetakan pada mesin lokal Anda.
.\ali-instance-cli.exe portforward -i INSTANCE_ID -r TARGET_IP:TARGET_PORT -l LOCAL_PORTOutput Waiting for connections menunjukkan bahwa saluran data melalui jump server telah dibuat. Trafik ke 127.0.0.1:<local_port> kini diarahkan melalui jump server menuju TARGET_IP:TARGET_PORT.
Sebagai contoh, untuk mengarahkan trafik ke instans RDS for MySQL dengan titik akhir pribadirm-******.mysql.rds.aliyuncs.com:3306melalui jump server ECSi-bp1******dan memetakannya ke port13306pada mesin lokal Anda, jalankan.\ali-instance-cli.exe portforward -i i-bp1****** -r rm-******.mysql.rds.aliyuncs.com:3306 -l 13306.
Pada macOS atau Linux
Buka terminal, navigasi ke direktori tempat ali-instance-cli berada, lalu jalankan perintah berikut.
#Ganti INSTANCE_ID dengan ID instans jump server, TARGET_IP dengan alamat IP host target, TARGET_PORT dengan port host target, dan LOCAL_PORT dengan port yang akan dipetakan pada mesin lokal Anda.
./ali-instance-cli portforward -i INSTANCE_ID -r TARGET_IP:TARGET_PORT -l LOCAL_PORTOutput Waiting for connections menunjukkan bahwa saluran data melalui jump server telah dibuat. Trafik ke 127.0.0.1:<local_port> kini diarahkan melalui jump server menuju TARGET_IP:TARGET_PORT.
Sebagai contoh, untuk memetakan instans RDS for MySQL (titik akhir pribadirm-******.mysql.rds.aliyuncs.com:3306) ke port13306pada mesin lokal Anda melalui jump server ECSi-bp1******, jalankan./ali-instance-cli portforward -i i-bp1****** -r rm-******.mysql.rds.aliyuncs.com:3306 -l 13306.
FAQ
Command line tidak merespons setelah menjalankan perintah (Instans tidak dalam status Running)
Jika command line tidak merespons setelah Anda menjalankan perintah ali-instance-cli, instans mungkin tidak dalam status Running. Untuk melihat status instans, lihat Periksa apakah instans berada dalam status Running dalam topik ini.
Command line tidak merespons setelah menjalankan perintah (Masalah konfigurasi security group)
Jika command line tidak merespons setelah Anda menjalankan perintah ali-instance-cli, hal ini mungkin disebabkan oleh port yang diperlukan untuk trafik outbound belum dibuka dalam security group. Secara default, basic security groups mengizinkan seluruh trafik outbound. Masalah ini dapat terjadi jika Anda mengubah aturan outbound atau menggunakan advanced security group. Aturan security group dijelaskan sebagai berikut:
Saat Anda menggunakan Session Manager untuk terhubung ke instans ECS, pastikan Cloud Assistant Agent yang berjalan pada instans ECS terhubung ke server Cloud Assistant dengan menambahkan aturan berikut ke security group outbound:
Dibandingkan 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 dari server Cloud Assistant dalam aturan security group. Untuk informasi tentang cara kerja Session Manager, lihat bagian Cara Kerja Session Manager dalam topik ini.
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 lebih lanjut tentang security group, lihat Basic security groups 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 |
| Port ini digunakan untuk mengakses server Cloud Assistant. |
Allow | 1 | Custom TCP | 443 |
| 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 |
| Port ini digunakan untuk menyelesaikan nama domain. |
Jika Anda hanya ingin mengakses instans menggunakan Session Manager, hapus aturan inbound yang mengizinkan port SSH (default 22) dan port RDP (default 3389) dari security group untuk meningkatkan keamanan instans ECS.
Error DeliveryTimeout: Cloud Assistant Agent offline
Error DeliveryTimeout menunjukkan bahwa Cloud Assistant Agent mungkin sedang offline. Untuk memeriksa status agent, lihat Periksa apakah Cloud Assistant Agent telah diinstal pada instans.
Terjadi error "session manager is disabled, please enable first" setelah menjalankan perintah
Jika error session manager is disabled, please enable first muncul setelah Anda menjalankan perintah ali-instance-cli, artinya Session Manager dinonaktifkan. Anda dapat mengaktifkan Session Manager di Konsol. Untuk informasi lebih lanjut, lihat Aktifkan Session Manager.
Cara menganalisis log ali-instance-cli
Saat terjadi masalah dengan Session Manager CLI, Anda dapat menganalisis log untuk mengidentifikasi penyebabnya.
Lihat log tool Session Manager CLI: Saat Anda menggunakan Session Manager CLI (ali-instance-cli), folder log seperti
~/log/aliyun_ecs_session_log.2022XXXXakan dibuat di direktori tempat tool tersebut berada. Anda dapat menemukan log yang relevan di folder tersebut.Lihat log Cloud Assistant Agent:
Linux
/usr/local/share/aliyun-assist/<Cloud Assistant Agent version>/log/Windows
C:\ProgramData\aliyun\assist\<Cloud Assistant Agent version>\log