Session Manager CLI (ali-instance-cli), Cloud Assistant ve WebSocket üzerinden TCP port yönlendirme yaparak özel IP adresli örneklerdeki hizmetlere erişmenizi veya bir atlayıcı sunucu üzerinden tünel oluşturmanızı sağlar.
Kullanım senaryoları
Kullanım senaryosu 1: Özel IP adresli bir örnekteki hizmetlere erişim. Genel IP adresi olmayan bir örneğin hizmet portunu (Nginx için | Kullanım senaryosu 2: Diğer özel ana bilgisayarlara ulaşmak için bir örneği atlayıcı sunucu olarak kullanma. Doğrudan erişemediğiniz hizmetler (örneğin ApsaraDB RDS for MySQL veritabanı) için hedefe ağ erişimi olan bir ECS örneğini atlayıcı sunucu olarak kullanın. Port yönlendirme oturumu, bu örnek üzerinden özel hizmetlere tünel oluşturur. |
Port yönlendirme oturumu yalnızca komut satırı penceresi açıkken etkin kalır. Pencereyi kapatmanız oturumu sonlandırır.
Özel IP adresli bir örnekteki hizmetlere erişim
Hazırlıkları tamamlayın ve Session Manager CLI'yi yükleyip yapılandırın, ardından aşağıdaki adımları izleyin.
Windows üzerinde
PowerShell içinde ali-instance-cli.exe dizinine gidin ve aşağıdaki komutu çalıştırın:
# Replace INSTANCE_ID with the ID of the instance for which you want to set up port forwarding, TARGET_PORT with the port of the target ECS instance, and LOCAL_PORT with the port to map on your local machine.
.\ali-instance-cli.exe portforward -i INSTANCE_ID -r TARGET_PORT -l LOCAL_PORT
Waiting for connections mesajı göründüğünde tünel aktiftir. Örneğin TARGET_PORT numaralı portuna 127.0.0.1:<local_port> üzerinden erişebilirsiniz.
Örnek:i-bp1******kimlikli örnekteki Nginx portu80adresini yerel port8080adresine yönlendirme:.\ali-instance-cli.exe portforward -i i-bp1****** -r 80 -l 8080.
macOS veya Linux üzerinde
terminal içinde ali-instance-cli dizinine gidin ve aşağıdaki komutu çalıştırın:
#Replace INSTANCE_ID with the ID of the instance for which you want to set up port forwarding, TARGET_PORT with the port of the target ECS instance, and LOCAL_PORT with the port to map on your local machine.
./ali-instance-cli portforward -i INSTANCE_ID -r TARGET_PORT -l LOCAL_PORT
Waiting for connections mesajı göründüğünde tünel aktiftir. Örneğin TARGET_PORT numaralı portuna 127.0.0.1:<local_port> üzerinden erişebilirsiniz.
Örnek:i-bp1******kimlikli örnekteki Nginx portu80adresini yerel port8080adresine yönlendirme:./ali-instance-cli portforward -i i-bp1****** -r 80 -l 8080.
Bir örneği atlayıcı sunucu olarak kullanma
Hazırlıkları tamamlayın ve Session Manager CLI'yi yükleyip yapılandırın, ardından aşağıdaki adımları izleyin.
Windows üzerinde
PowerShell içinde ali-instance-cli.exe dizinine gidin ve aşağıdaki komutu çalıştırın:
# Replace INSTANCE_ID with the ID of the jump server instance, TARGET_IP with the IP address of the target host, TARGET_PORT with the port of the target host, and LOCAL_PORT with the port to map on your local machine.
.\ali-instance-cli.exe portforward -i INSTANCE_ID -r TARGET_IP:TARGET_PORT -l LOCAL_PORT
Waiting for connections mesajı göründüğünde atlayıcı sunucu tüneli kurulmuş olur. 127.0.0.1:<local_port> adresine gelen trafik, atlayıcı sunucu üzerinden TARGET_IP:TARGET_PORT adresine yönlendirilir.
Örnek:i-bp1******atlayıcı sunucusu üzerindenrm-******.mysql.rds.aliyuncs.com:3306adresindeki RDS for MySQL örneğine gelen trafiği yerel port13306adresine yönlendirme:.\ali-instance-cli.exe portforward -i i-bp1****** -r rm-******.mysql.rds.aliyuncs.com:3306 -l 13306.
macOS veya Linux üzerinde
terminal içinde ali-instance-cli dizinine gidin ve aşağıdaki komutu çalıştırın:
#Replace INSTANCE_ID with the ID of the jump server instance, TARGET_IP with the IP address of the target host, TARGET_PORT with the port of the target host, and LOCAL_PORT with the port to map on your local machine.
./ali-instance-cli portforward -i INSTANCE_ID -r TARGET_IP:TARGET_PORT -l LOCAL_PORT
Waiting for connections mesajı göründüğünde atlayıcı sunucu tüneli kurulmuş olur. 127.0.0.1:<local_port> adresine gelen trafik, atlayıcı sunucu üzerinden TARGET_IP:TARGET_PORT adresine yönlendirilir.
Örnek:i-bp1******atlayıcı sunucusu üzerinden RDS for MySQL örneğini (rm-******.mysql.rds.aliyuncs.com:3306) yerel port13306adresine eşleme:./ali-instance-cli portforward -i i-bp1****** -r rm-******.mysql.rds.aliyuncs.com:3306 -l 13306.
SSS
Bir komut çalıştırdıktan sonra komut satırı yanıt vermiyor (Örnek Çalışıyor durumda değil)
Bir ali-instance-cli komutu çalıştırdıktan sonra komut satırı yanıt vermiyorsa örnek Running durumunda olmayabilir. Örnek durumunu görüntülemek için bu konudaki Örneğin Çalışıyor durumunda olup olmadığını kontrol etme bölümüne bakın.
Bir komut çalıştırdıktan sonra komut satırı yanıt vermiyor (Güvenlik grubu yapılandırma sorunu)
Bir ali-instance-cli komutu çalıştırdıktan sonra komut satırı yanıt vermiyorsa güvenlik grubunda gerekli giden portlar açık olmayabilir. Varsayılan olarak temel güvenlik grupları tüm giden trafiğe izin verir. Giden kurallarını değiştirdiyseniz veya gelişmiş güvenlik grubu kullanıyorsanız bu sorun ortaya çıkabilir.
Session Manager ile bir ECS örneğine bağlanırken ECS örneğinde çalışan Cloud Assistant Agent öğesinin Cloud Assistant sunucusuna bağlı olduğundan emin olmak için giden güvenlik grubuna aşağıdaki kuralları ekleyin:
SSH ve Remote Desktop Protocol (RDP) gibi diğer bağlantı yöntemlerinin aksine Cloud Assistant Agent Session Manager sunucusuna aktif olarak bir WebSocket bağlantısı kurar. Güvenlik kuralında yalnızca Cloud Assistant sunucusunun giden WebSocket portunu açmanız gerekir. Session Manager'ın çalışma biçimi hakkında bilgi için bu konunun Session Manager'ın çalışma biçimi bölümüne bakın.
Varsayılan güvenlik grubu dahil olmak üzere temel güvenlik grupları kullanıyorsanız tüm giden trafiğe izin verilir. Ek yapılandırma gerekmez.
Gelişmiş güvenlik grubu kullanıyorsanız tüm giden trafik reddedilir. İlgili kuralları yapılandırmanız gerekir. Aşağıdaki tabloda kurallar açıklanmaktadır. Güvenlik grupları hakkında bilgi için Temel ve gelişmiş güvenlik grupları konusuna bakın.
Güvenlik grubuna kural ekleme hakkında bilgi için Güvenlik grubu kuralı ekleme konusuna bakın.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bir örneğe yalnızca Session Manager kullanarak bağlanmak istiyorsanız ECS örneğinin güvenliğini artırmak amacıyla güvenlik grubundan SSH portuna (varsayılan 22) ve RDP portuna (varsayılan 3389) izin veren gelen kurallarını silin.
DeliveryTimeout hatası: Cloud Assistant Agent çevrimdışı
DeliveryTimeout hatası, Cloud Assistant Agent'ın çevrimdışı olabileceğini gösterir. Aracı durumunu kontrol etmek için Cloud Assistant Agent'ın bir örnekte yüklü olup olmadığını kontrol etme konusuna bakın.
Bir komut çalıştırdıktan sonra "session manager is disabled, please enable first" hatası bildiriliyor
Bir ali-instance-cli komutu çalıştırdıktan sonra session manager is disabled, please enable first hatası oluşursa konsolda Session Manager'ı etkinleştirin.
ali-instance-cli günlükleri nasıl analiz edilir
Sorunları belirlemek için ali-instance-cli günlüklerini analiz edin.
Session Manager CLI günlükleri: ali-instance-cli kullandığınızda aracın dizininde bir günlük klasörü (ör.
~/log/aliyun_ecs_session_log.2022XXXX) oluşturulur.-
Cloud Assistant Agent günlükleri:
-
Linux
/usr/local/share/aliyun-assist/<Cloud Assistant Agent version>/log/ -
Windows
C:\ProgramData\aliyun\assist\<Cloud Assistant Agent version>\log
-