要解决AWS SSM端口转发不起作用的问题,可以尝试使用最新版本的SSM代理来进行转发。以下是一个带有代码示例的解决方法:
首先,确保已经安装了最新版本的AWS SSM代理。
在需要进行端口转发的实例上,创建一个JSON配置文件(例如,forwarding_config.json),并将以下内容复制到文件中:
{
"schemaVersion": 1,
"localPortNumber": 8080,
"portMappings": [
{
"port": 80,
"destination": "localhost",
"destinationPort": 8080
}
]
}
在上面的示例中,我们将本地端口8080映射到实例的端口80。
将配置文件上传到实例上的任意位置。
打开AWS SSM控制台,并导航到“Session Manager”页面。
在左侧导航栏中,选择“Session Manager Preferences”。
在“Session Manager Preferences”页面中,单击“Edit”按钮。
在“Edit Session Manager Preferences”页面中,找到“Session Manager SSM Agent preferences”部分。
在“Preferences”字段中,将以下内容添加到现有的JSON对象中:
{
"portForwardingConfig": "<上传的配置文件路径>"
}
在上面的示例中,将上传的配置文件路径替换为实际的路径(例如,/home/ec2-user/forwarding_config.json)。
单击“Save”按钮保存更改。
返回“Session Manager”页面,并创建一个新的会话。
在会话中,使用以下命令启动SSM代理:
sudo systemctl start amazon-ssm-agent
通过按照上述步骤配置和启动SSM代理,应该能够解决AWS SSM端口转发不起作用的问题。