

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurando grupos de segurança para ambientes restritos
<a name="security-groups-configuration"></a>

Por padrão, AWS ParallelCluster cria e configura grupos de segurança que permitem todo o tráfego entre os nós do cluster. Em ambientes altamente restritos, talvez seja necessário limitar o acesso à rede somente às portas necessárias para a operação do cluster. Esta seção descreve como configurar grupos de segurança personalizados com acesso restrito para sua AWS ParallelCluster implantação.

## Visão geral dos grupos de segurança
<a name="security-groups-configuration-overview"></a>

AWS ParallelCluster usa grupos de segurança para controlar o tráfego de rede entre o nó principal, os nós de computação e os nós de login (se configurados). Por padrão, ao AWS ParallelCluster criar um cluster, ele cria grupos de segurança que permitem todo o tráfego entre os nós dentro do cluster. Em ambientes com requisitos de segurança rígidos, você pode fornecer grupos de segurança personalizados que limitam o tráfego somente às portas necessárias.

Os grupos de segurança podem ser configurados nas seguintes seções da configuração do cluster:
+ [`HeadNode`/`Networking`](HeadNode-v3.md#HeadNode-v3-Networking)- Controla o acesso de e para o nó principal
+ [`Scheduling`/`SlurmQueues`/`Networking`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Networking)- Controla o acesso de e para os nós de computação
+ [`LoginNodes`](LoginNodes-v3.md)- Controla o acesso de e para os nós de login (se configurado)

Para cada uma dessas seções, você pode especificar:
+ `SecurityGroups`- Substitui os grupos de segurança padrão que AWS ParallelCluster criariam
+ `AdditionalSecurityGroups`- Adiciona grupos de segurança além dos grupos padrão criados por AWS ParallelCluster

## Portas necessárias para operação de cluster
<a name="security-groups-configuration-required-ports"></a>

Ao configurar grupos de segurança personalizados, você deve garantir que as seguintes portas estejam abertas entre os nós apropriados:


**Portas necessárias para o nó principal**  

| Porta | Protocolo | Direção | Finalidade | 
| --- | --- | --- | --- | 
| 22 | TCP | Entrada | Acesso SSH ao nó principal (a partir dos intervalos de IP permitidos) | 
| 6817-6819 | TCP | Entrada | Portas do controlador Slurm (dos nós de computação e login) | 
| 6817-6819 | TCP | Saída | Portas do controlador Slurm (para computadores e nós de login) | 
| 8443 | TCP | Entrada | NICE DCV (se ativado, a partir dos intervalos de IP permitidos) | 
| 11, 2049 | TCP/UDP | Entrada | NFS (dos nós de computação e login, se estiver usando o NFS para armazenamento compartilhado) | 
| 443 | TCP | Saída | Acesso HTTPS aos AWS serviços (se não estiver usando VPC endpoints) | 


**Portas necessárias para nós de computação**  

| Porta | Protocolo | Direção | Finalidade | 
| --- | --- | --- | --- | 
| 22 | TCP | Entrada | Acesso SSH (do nó principal e dos nós de login) | 
| 6818 | TCP | Entrada | Porta do daemon Slurm (do nó principal) | 
| 6817-6819 | TCP | Saída | Portas do controlador Slurm (até o nó principal) | 
| 11, 2049 | TCP/UDP | Saída | NFS (para o nó principal, se estiver usando o NFS para armazenamento compartilhado) | 
| 443 | TCP | Saída | Acesso HTTPS aos AWS serviços (se não estiver usando VPC endpoints) | 

Se você estiver usando o EFA (Elastic Fabric Adapter), também deverá permitir todo o tráfego entre os nós de computação que tenham o EFA ativado:
+ Todo o tráfego TCP e UDP entre nós de computação com EFA
+ Todo o tráfego no dispositivo EFA entre os nós de computação com o EFA

**nota**  
Se você estiver usando sistemas de armazenamento compartilhado, como FSx Lustre, Amazon EFS ou outras soluções de armazenamento, precisará garantir que as portas apropriadas também estejam abertas para esses serviços.

## Criação de grupos de segurança personalizados
<a name="security-groups-configuration-custom"></a>

Para criar grupos de segurança personalizados para sua AWS ParallelCluster implantação, siga estas etapas:

1. Crie grupos de segurança para o nó principal, os nós de computação e os nós de login (se aplicável) usando o AWS Management Console, a AWS CLI ou. AWS CloudFormation

1. Configure as regras do grupo de segurança para permitir somente o tráfego necessário, conforme descrito na seção anterior.

1. Faça referência a esses grupos de segurança no arquivo de configuração do cluster.

Aqui está um exemplo de como criar grupos de segurança usando a AWS CLI:

```
# Create security group for head node
aws ec2 create-security-group \
  --group-name pcluster-head-node-sg \
  --description "Security group for ParallelCluster head node" \
  --vpc-id vpc-12345678

# Create security group for compute nodes
aws ec2 create-security-group \
  --group-name pcluster-compute-node-sg \
  --description "Security group for ParallelCluster compute nodes" \
  --vpc-id vpc-12345678

# Add rules to allow necessary traffic between head and compute nodes
# (Add specific rules based on the required ports listed above)
```

## Configurando grupos de segurança na configuração do cluster
<a name="security-groups-configuration-cluster-config"></a>

Depois de criar seus grupos de segurança personalizados, você pode referenciá-los no arquivo de configuração do cluster:

```
# Example cluster configuration with custom security groups
HeadNode:
  ...
  Networking:
    SubnetId: subnet-12345678
    SecurityGroups:
      - sg-headnode12345  # Custom security group for head node
    # Or use AdditionalSecurityGroups if you want to keep the default security groups
    # AdditionalSecurityGroups:
    #   - sg-additional12345
  ...

Scheduling:
  Scheduler: slurm
  SlurmQueues:
    - Name: queue1
      ...
      Networking:
        SubnetIds:
          - subnet-12345678
        SecurityGroups:
          - sg-computenode12345  # Custom security group for compute nodes
        # Or use AdditionalSecurityGroups if you want to keep the default security groups
        # AdditionalSecurityGroups:
        #   - sg-additional12345
      ...

# If using login nodes
LoginNodes:
  Pools:
    - Name: login-pool
      ...
      Networking:
        SubnetIds:
          - subnet-12345678
        SecurityGroups:
          - sg-loginnode12345  # Custom security group for login nodes
        # Or use AdditionalSecurityGroups if you want to keep the default security groups
        # AdditionalSecurityGroups:
        #   - sg-additional12345
      ...
```

Ao usar`SecurityGroups`, AWS ParallelCluster usará somente os grupos de segurança que você especificar, substituindo os padrões. Ao usar`AdditionalSecurityGroups`, AWS ParallelCluster usará os grupos de segurança padrão que ele cria e os adicionais que você especificar.

**Atenção**  
Se você habilitar o [Elastic Fabric Adapter (EFA)](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-Efa) para suas instâncias de computação, certifique-se de que suas instâncias habilitadas para EFA sejam membros de um grupo de segurança que permite todo o tráfego de entrada e saída para si mesmo. Isso é necessário para que o EFA funcione corretamente.

## Usando VPC endpoints em ambientes restritos
<a name="security-groups-configuration-vpc-endpoints"></a>

Em ambientes altamente restritos, talvez você queira implantar AWS ParallelCluster em uma sub-rede sem acesso à Internet. Nesse caso, você precisará configurar VPC endpoints para permitir que o cluster se comunique com os serviços. AWS Para obter instruções detalhadas, consulte [AWS ParallelCluster em uma única sub-rede sem acesso à Internet](aws-parallelcluster-in-a-single-public-subnet-no-internet-v3.md).

Ao usar VPC endpoints, certifique-se de que seus grupos de segurança permitam tráfego de e para os VPC endpoints. Você pode fazer isso adicionando os grupos de segurança associados aos endpoints da VPC à `AdditionalSecurityGroups` configuração do seu nó principal e dos nós de computação.

```
HeadNode:
  ...
  Networking:
    SubnetId: subnet-1234567890abcdef0
    AdditionalSecurityGroups:
      - sg-abcdef01234567890  # Security group that enables communication with VPC endpoints
  ...

Scheduling:
  Scheduler: slurm
  SlurmQueues:
    - ...
      Networking:
        SubnetIds:
          - subnet-1234567890abcdef0
        AdditionalSecurityGroups:
          - sg-1abcdef01234567890  # Security group that enables communication with VPC endpoints
```

## Práticas recomendadas para configuração de grupos de segurança
<a name="security-groups-configuration-best-practices"></a>

Ao configurar grupos de segurança para AWS ParallelCluster ambientes restritos, considere as seguintes práticas recomendadas:
+ **Princípio do menor privilégio**: abra somente as portas necessárias para a operação do cluster.
+ **Use referências de grupos de segurança**: quando possível, use referências de grupos de segurança (permitindo tráfego de outro grupo de segurança) em vez de blocos CIDR para limitar o tráfego entre os componentes do cluster.
+ **Restrinja o acesso** SSH: limite o acesso SSH ao nó principal somente aos intervalos de IP que precisam dele usando a configuração [`HeadNode`/`Ssh`/`AllowedIps`](HeadNode-v3.md#yaml-HeadNode-Ssh-AllowedIps).
+ **Restrinja o acesso ao DCV**: se estiver usando o NICE DCV, limite o acesso somente aos intervalos de IP que precisam dele usando [`HeadNode`a configuração`Dcv`//`AllowedIps`](HeadNode-v3.md#yaml-HeadNode-Dcv-AllowedIps).
+ **Teste minuciosamente**: depois de configurar grupos de segurança personalizados, teste minuciosamente todas as funcionalidades do cluster para garantir que todos os caminhos de comunicação necessários estejam funcionando.
+ **Documente sua configuração**: mantenha a documentação da configuração do seu grupo de segurança, incluindo quais portas estão abertas e por que elas são necessárias.

## Solução de problemas do grupo de segurança
<a name="security-groups-configuration-troubleshooting"></a>

Se você encontrar problemas após configurar grupos de segurança personalizados, considere as seguintes etapas de solução de problemas:
+ **Verifique os registros do cluster: analise** os registros do cluster em CloudWatch Logs para ver se há erros de conexão.
+ **Verifique as regras do grupo de segurança**: certifique-se de que todas as portas necessárias estejam abertas entre os nós apropriados.
+ **Teste a conectividade**: use ferramentas como `telnet` ou `nc` para testar a conectividade entre nós em portas específicas.
+ **Expanda temporariamente as regras**: se você tiver problemas para identificar quais portas são necessárias, permita temporariamente todo o tráfego entre os nós do cluster e, em seguida, restrinja-o gradualmente à medida que identifica as portas necessárias.
+ **Verifique a configuração do VPC endpoint**: se você estiver usando VPC endpoints, verifique se eles estão configurados corretamente e se os grupos de segurança permitem tráfego de e para eles.

Se você continuar enfrentando problemas, poderá voltar a usar os grupos de segurança padrão criados AWS ParallelCluster removendo a `SecurityGroups` configuração do arquivo de configuração do cluster.