

# 将 Amazon ECS 容器端口映射到 EC2 实例网络接口
<a name="networking-networkmode-host"></a>

`host` 网络模式仅支持 Amazon EC2 实例上托管的 Amazon ECS 任务。在 Fargate 上使用 Amazon ECS 时不支持该功能。

`host` 网络模式是 Amazon ECS 支持的最基本的网络模式。使用主机模式时，容器的网络连接直接绑定到运行容器的底层主机。

![该图显示了使用主机网络模式的容器的网络架构。](http://docs.aws.amazon.com/zh_cn/AmazonECS/latest/developerguide/images/networkmode-host.png)


假设您正在运行一个 Node.js 容器，其中包含一个 Express 应用程序，该应用程序监听类似于上图所示端口的端口 `3000`。使用 `host` 网络模式时，容器使用底层主机 Amazon EC2 实例的 IP 地址在端口 3000 上接收流量。不建议使用此模式。

使用这种网络模式有明显的缺点。在每台主机上只能运行一个任务的单个实例化。这是因为只有第一个任务可以绑定到 Amazon EC2 实例上所需的端口。使用 `host` 网络模式时，也无法重新映射容器端口。例如，如果应用程序需要侦听特定的端口号，则您无法直接重新映射该端口号。相反，您必须通过更改应用程序配置来管理所有端口冲突。

使用 `host` 网络模式还存在安全影响。此模式允许容器模拟主机，并允许容器连接到主机上的私有环回网络服务。