Configurando grupos de segurança para ambientes restritos - AWS ParallelCluster

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

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

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:

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

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

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

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

  3. 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

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 usarSecurityGroups, AWS ParallelCluster usará somente os grupos de segurança que você especificar, substituindo os padrões. Ao usarAdditionalSecurityGroups, 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) 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

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.

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

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.

  • Restrinja o acesso ao DCV: se estiver usando o NICE DCV, limite o acesso somente aos intervalos de IP que precisam dele usando HeadNodea configuraçãoDcv//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

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.