

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AWS PCS 中的安全组
<a name="working-with_networking_sg"></a>

Amazon EC2 中的安全组充当虚拟防火墙，用于控制实例的入站和出站流量。使用 AWS PCS 计算节点组的启动模板向其实例添加或移除安全组。如果您的启动模板不包含任何网络接口，`SecurityGroupIds`请使用提供安全组列表。如果您的启动模板定义了网络接口，则必须使用`Groups`参数为每个网络接口分配安全组。有关启动模板的更多信息，请参阅[在 AWS PCS 上使用亚马逊 EC2 启动模板](working-with_launch-templates.md)。

**注意**  
对启动模板中安全组配置的更改仅影响在更新计算节点组后启动的新实例。

## 安全组要求和注意事项
<a name="working-with_networking_sg-requirements"></a>

AWS PCS 在创建集群时指定的子[网中创建跨账户弹性网络接口 (ENI)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html)。这为在由 AWS管理的账户中运行的 HPC 调度程序提供了与 PCS 启动的 EC2 实例通信的路径。 AWS 您必须为该 ENI 提供一个安全组，允许调度程序 ENI 和您的集群 EC2 实例之间进行双向通信。

实现这一目标的一种直接方法是创建一个允许的自引用安全组，允许该组所有成员之间的所有端口上的 TCP/IP 流量。您可以将其连接到集群和节点组 EC2 实例。

### 许可安全组配置示例
<a name="working-with_networking_sg-requirements_permissive-security-config"></a>

------
#### [ IPv4 ]


| 规则类型 | 协议 | 端口 | 来源 | 目标位置  | 
| --- | --- | --- | --- | --- | 
| 入站 | 全部 | 全部 | 自身 |  | 
| 出站 | 全部 | 全部 |  | 0.0.0.0/0 | 
| 出站 | 全部 | 全部 |  | 自身 | 

------
#### [ IPv6 ]


| 规则类型 | 协议 | 端口 | 来源 | 目标位置  | 
| --- | --- | --- | --- | --- | 
| 入站 | 全部 | 全部 | 自身 |  | 
| 出站 | 全部 | All |  | ::/0 | 
| 出站 | 全部 | 全部 |  | 自身 | 

------

这些规则允许所有流量在 Slurm 控制器和节点之间自由流动，允许所有出站流量到达任何目的地，并启用 [EFA](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa-start.html#efa-start-security) 流量。

### 限制性安全组配置示例
<a name="working-with_networking_sg-requirements_restrictive-security-config.title"></a>

您还可以限制集群与其计算节点之间的开放端口。对于 Slurm 调度程序，连接到集群的安全组必须允许以下端口：
+ 6817 — 启用`slurmctld`从 EC2 实例到的入站连接
+ 6818 — 启用从 EC2 实例`slurmctld`到`slurmd`运行的出站连接

连接到您的计算节点的安全组必须允许以下端口：
+ 6817 — 启用`slurmctld`从 EC2 实例到的出站连接。
+ 6818 — 启用与节点组实例之间的入`slurmd`站`slurmctld``slurmd`和出站连接 
+ 60001—63000 — 要支持的节点组实例之间的入站和出站连接 `srun`
+ 节点组实例之间的 EFA 流量。有关更多信息，请参阅 [Linux 实例*用户指南*中的准备启用 EFA 的安全组](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa-start.html#efa-start-security)
+ 您的工作负载所需的任何其他节点间流量