通过会话管理端口转发功能访问ECS内部服务
1. 创建实验资源
开始实验之前,您需要先创建ECS实例资源。
- 在实验室页面,单击创建资源。
- (可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。
说明:资源创建过程需要1~3分钟。
2. 安装ali-instance-cli
本步骤将指导您如何在云起实验室的远程桌面的终端中安装ali-instance-cli。
- 在云起实验室的远程桌面,双击LX终端的图标。
- 执行如下命令,安装ali-instance-cli。
说明:在远程桌面的LX终端中,粘贴操作请使用CTRL+Shift+V快捷键。
wget https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/linux/ali-instance-cli
- 执行如下命令,授予可执行权限。
chmod a+x ali-instance-cli
3. 创建配置文件
本步骤将指导您如何创建config配置文件并添加相关配置。
- 执行如下命令,在当前用户目录下创建.ssh目录,本实验场景以/home/adc为例。
mkdir .ssh
- 切换到.ssh目录下。
cd .ssh
- 创建并编辑config文件。
vim config
- 按i键进入编辑模式。
- 将如下代码添加到config文件中。
host i-* ProxyCommand sh -c "/home/adc/ali-instance-cli ssh -i '%h' --port '%p'"
- 按ECS键,退出编辑模式,输入:wq,并按Enter键,保存并退出。
- 执行如下命令,为config文件添加执行权限。
chmod 755 config
4. 配置AccessKey并连接ECS实例
本步骤将指导您如何配置AccessKey,并通过ali-instance-cli使用会话管理连接ECS实例。
- 切换到/home/adc目录。
cd /home/adc
- 配置鉴权认证方式。
说明:配置鉴权认证方式支持交互式配置方式和非交互式配置方式两种配置方式,详情请参见通过ali-instance-cli使用会话管理连接实例。本实验场景以交互式配置方式为例。
(1) 执行如下命令,使用交互式配置方式配置鉴权认证。
./ali-instance-cli configure --mode AK
(2) 依次输入云起实验室为您提供的AccessKey ID、AccessKey Secret和RegionID。
说明:
- 您可在云产品资源列表中查看实验室为您提供的AccessKey ID、AccessKey Secret和RegionID。
- ECS实例地域与对应RegionID。
地域 |
RegionID |
华东1(杭州) |
cn-hangzhou |
华东2(上海) |
cn-shanghai |
- 连接到目标实例。
说明:您需要将instanceId替换为ECS实例ID,您可在云产品资源列表中查看ECS实例ID。
./ali-instance-cli session -i instanceId
返回结果如下,表示您已成功连接到目标实例ECS。
5. 内部服务转发并访问
本步骤将指导您如何通过ali-instance-cli对ECS内部服务MySQL进行端口转发,并在远程桌面终端访问MySQL服务。
- 执行如下命令,查看MySQL版本号。
说明:本实验场景已为您在目标实例ECS上安装MySQL。
mysql -V
- 输入exit退出目标实例ECS。
- 在远程桌面的LX终端,执行如下命令,将本地的33306端口转发到实例的3306端口。
说明:您需要将命令中的instance-id替换为ECS实例ID,您可在云产品资源列表中查看ECS实例ID。
./ali-instance-cli portforward -i "instance-id" -l 33306 -r 3306
返回结果如下,说明已经通过Session Manager建立起了本地端口33306到实例端口3306的转发通路。
- 在云起实验室的远程桌面,双击LX终端的图标。
- 在新的LX终端,执行如下命令,在远程桌面的LX终端中访问目标实例ECS上的MySQL服务。
mysql -uroot -h127.0.0.1 -P33306 -p12345678
返回结果如下,表示您已成功访问到目标实例ECS上的MySQL服务。
同时,您可以在第一个LX终端中看到ali-instance-cli日志中显示接收到了新的连接,也就是上面MySQL客户端发起的连接。
- 在第二个LX终端,输入exit退出MySQL连接。
同时,您可以在第一个LX终端中看到ali-instance-cli日志中显示连接已关闭。
实验地址:https://developer.aliyun.com/adc/scenario/58f77f3782e34da7a4acc3ed1a001033