【问题标题】:Access AWS SSM Port inside Docker container访问 Docker 容器内的 AWS SSM 端口
【发布时间】:2021-11-12 07:17:12
【问题描述】:

我尝试从 docker 容器内访问一些 AWS 资源。因此,我在主机上运行了一个 PortForwarding SSM 会话,当我尝试通过 localhost:<port> 访问资源时一切正常。

但是,在 docker 容器内,我无法通过 172.17.0.1:<port> 访问这些相同的资源。主机通信本身似乎工作得很好,因为我可以通过172.17.0.1:8000 与本地 Web 服务器通信。只有 SSM 和 docker 的组合似乎有问题。

容器内部的nmap 也显示端口已关闭。

有什么方法可以让 SSM 和 docker 组合起来并运行?

【问题讨论】:

    标签: amazon-web-services docker networking port aws-ssm


    【解决方案1】:

    如果我理解正确,您尝试从您的容器主机连接到网络服务器,这可以正常工作,但是当您登录到 docker 容器本身时,您无法访问它?

    如果这是您的意思,这可能与容器具有与主机不同的网络接口以及不同的安全组这一事实有关。如果接收服务器的安全组配置为允许来自主机的流量,但不允许来自主机上运行的容器的安全组,这可能是您遇到的情况的解释。

    【讨论】:

    • 不完全是。 ssm 端口转发会话以 ALB 为目标。问题似乎是容器和会话之间的连接没有在本地解决,因为来自会话管理器的日志没有显示连接被接受。 Webserver 示例应该只显示主机通信本身在容器中有效。只是不与 SSM 会话结合使用。网络服务器是通过python - m http.server 启动的。
    • 我不太明白这句话:However, inside of a docker container I cannot access these same resources via 172.17.0.1:<port>.你能不能试着用其他语言来描述这个问题。我了解您通过 SSM 连接到 EC2 主机,在虚拟机内部时您可以连接到 172..17.0.1 地址。
    • 另外,我知道主机上的端口转发会话以 ALB 为目标,并且可以正常工作。但是,如果您尝试使用 SSM 设置到容器的端口转发,它会失败吗?您目前使用什么命令通过 SSM 连接到容器?
    猜你喜欢
    • 2016-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 2016-05-20
    • 2016-12-06
    • 1970-01-01
    相关资源
    最近更新 更多