Configuraciones de red - AWS ParallelCluster

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuraciones de red

AWS ParallelClusterutiliza Amazon Virtual Private Cloud (VPC) para redes. VPC proporciona una plataforma de red flexible y configurable en la que puede implementar clústeres.

La VPC debe tener DNS Resolution = yes, DNS Hostnames = yes y opciones de DHCP con el nombre de dominio correcto para la región. El conjunto de opciones DHCP predeterminado ya especifica el AmazonProvidedDNS requerido. Si especifica más de un servidor de nombres de dominio, consulte los conjuntos de opciones de DHCP en la Guía del usuario de Amazon VPC.

AWS ParallelCluster admite las siguientes configuraciones de carácter general:

  • Una subred para los nodos principal y de cómputos.

  • Dos subredes, con el nodo principal en una subred pública y los nodos de cómputos en una subred privada. Las subredes pueden ser nuevas o existentes.

Todas estas configuraciones pueden funcionar con o sin direcciones IP públicas. AWS ParallelClustertambién se puede implementar para usar un proxy HTTP para todas lasAWS solicitudes. La combinaciones de estas configuraciones se traducen en muchos casos de implementación. Por ejemplo, puede configurar una única subred pública con todos los accesos a través de Internet. O bien, puede configurar una red totalmente privada medianteAWS Direct Connect un proxy HTTP para todo el tráfico.

A partir de laAWS ParallelCluster versión 3.0.0SecurityGroups,AdditionalSecurityGroups es posible configurar diferentesPlacementGroup ajustes para cada cola. Para obtener más información, consulte HeadNodeSlurmQueues/NetworkingNetworkingy AwsBatchQueues/Networking.

Para ver ilustraciones de algunos escenarios de redes, consulte los siguientes diagramas de arquitectura.

AWS ParallelCluster en una subred pública única

La configuración de esta arquitectura requiere los siguientes valores de configuración:

# Note that all values are only provided as examples HeadNode: ... Networking: SubnetId: subnet-12345678 # subnet with internet gateway #ElasticIp: true | false | eip-12345678 Scheduling: Scheduler: slurm SlurmQueues: - ... Networking: SubnetIds: - subnet-12345678 # subnet with internet gateway #AssignPublicIp: true

En esta configuración, se debe asignar una IP pública a todas las instancias del clúster para poder acceder a Internet. Para ello, haga lo siguiente:

  • Asegúrese de que al nodo principal se le asigne una dirección IP pública activando la configuración «Habilitar la asignación automática de direcciones IPv4 públicas» para la subred utilizada en HeadNodeNetworking//SubnetIdo asignando una IP elástica en HeadNode/Networking/ElasticIp.

  • Asegúrese de que los nodos de procesamiento tengan asignada una dirección IP pública; para ello, active la configuración «Habilitar la asignación automática de direcciones IPv4 públicas» para la subred utilizada en SchedulingSlurmQueuesNetworking///SubnetIdso establezca AssignPublicIp: true en Scheduling/SlurmQueues/Networking.

  • Si define un tipo dep4d instancia u otro tipo de instancia que tenga varias interfaces de red o una tarjeta de interfaz de red en el nodo principal, debe configurar HeadNode/Networking/en ElasticIptruepara proporcionar acceso público. AWSLas IP públicas solo se pueden asignar a instancias lanzadas con una única interfaz de red. Para este caso, le recomendamos que utilice una puerta de enlace NAT para proporcionar acceso público a los nodos de cómputos del clúster. Para obtener más información sobre las direcciones IP, consulte Asignar una dirección IPv4 pública durante el lanzamiento de instancias de Amazon EC2 para instancias Linux.

  • No puedes definir un tipo dehp6id instanciap4d u otro tipo de instancia que tenga varias interfaces de red o una tarjeta de interfaz de red para procesar nodos, ya que las IPAWS públicas solo se pueden asignar a las instancias lanzadas con una única interfaz de red. Para obtener más información sobre las direcciones IP, consulte Asignar una dirección IPv4 pública durante el lanzamiento de instancias de Amazon EC2 para instancias Linux.

Para obtener más información, consulte Habilitar acceso a Internet en la Guía del usuario de Amazon VPC.

AWS ParallelCluster con dos subredes

La configuración para usar una subred privada existente para las instancias de procesamiento requiere la siguiente configuración:

# Note that all values are only provided as examples HeadNode: ... Networking: SubnetId: subnet-12345678 # subnet with internet gateway #ElasticIp: true | false | eip-12345678 Scheduling: Scheduler: slurm SlurmQueues: - ... Networking: SubnetIds: - subnet-23456789 # subnet with NAT gateway #AssignPublicIp: false

En esta configuración, solo se requiere que el nodo principal del clúster tenga asignada una IP pública. Para ello, active la configuración «Habilitar la asignación automática de direcciones IPv4 públicas» para la subred utilizada en HeadNodeNetworking//SubnetIdo asignando una IP elástica en HeadNode/Networking/ElasticIp.

Si define un tipo de instancia p4d u otro tipo de instancia que tenga varias interfaces de red o una tarjeta de interfaz de red en el nodo principal, debe configurar HeadNode/Networking/en ElasticIptruepara proporcionar acceso público. AWSLas IP públicas solo se pueden asignar a instancias lanzadas con una única interfaz de red. Para obtener más información sobre las direcciones IP, consulte Asignar una dirección IPv4 pública durante el lanzamiento de instancias de Amazon EC2 para instancias Linux.

Esta configuración requiere una puerta de enlace NAT o un proxy interno en la subred utilizada para las colas para dar acceso a Internet a las instancias informáticas.

AWS ParallelCluster en una única subred privada conectada mediante AWS Direct Connect

La configuración de esta arquitectura requiere los siguientes valores de configuración:

# Note that all values are only provided as examples HeadNode: ... Networking: SubnetId: subnet-34567890 # subnet with proxy Proxy: HttpProxyAddress: http://proxy-address:port Ssh: KeyName: ec2-key-name Scheduling: Scheduler: slurm SlurmQueues: - ... Networking: SubnetIds: - subnet-34567890 # subnet with proxy AssignPublicIp: false Proxy: HttpProxyAddress: http://proxy-address:port

Cuando Scheduling/SlurmQueues/Networking/AssignPublicIpse establece enfalse, las subredes deben estar configuradas correctamente para usar el Proxy para todo el tráfico. Se requiere acceso a la web tanto para los nodos principales como para los de cómputos.

AWS ParallelClusterconAWS Batch planificador

Al usar awsbatch como tipo de programador, AWS ParallelCluster crea un entorno informático administrado de AWS Batch. ElAWS Batch entorno administra instancias de contenedor de Amazon Elastic Container Service (Amazon ECS). Estas instancias se lanzan en la subred configurada en el SubnetIdsparámetro AwsBatchQueuesNetworking//. AWS BatchPara que funcionen correctamente, las instancias de contenedor de Amazon ECS necesitan acceso de red externo para comunicarse con el punto de enlace del servicio de Amazon ECS. Esto se traduce en los siguientes casos:

  • El ID de subred especificado para la cola utiliza una puerta de enlace NAT para acceder a Internet. Recomendamos este enfoque.

  • Las instancias lanzadas en la subred de cola tienen direcciones IP públicas y pueden acceder a Internet a través de una Internet Gateway.

Además, si está interesado en trabajos parallel con varios nodos (de los AWS Batchdocumentos):

AWS Batchlos trabajos parallel de varios nodos utilizan el modo deawsvpc red Amazon ECS. Esto proporciona a los contenedores de trabajos parallel de varios nodos las mismas propiedades de redes que poseen las instancias de Amazon EC2. Cada contenedor de trabajos paralelos de varios nodos obtiene su propia interfaz de red elástica, una dirección IP privada principal y un nombre de host DNS interno. La interfaz de red se crea en la misma subred de Amazon VPC que su recurso informático anfitrión. Los grupos de seguridad que se hayan aplicado a los recursos informáticos se aplicarán también a ella.

Cuando se utiliza Amazon ECS Task Networking, el modo deawsvpc red no proporciona interfaces de red elásticas con direcciones IP públicas para las tareas que utilizan el tipo de lanzamiento de Amazon EC2. Para obtener acceso a Internet, las tareas que utilizan el tipo de lanzamiento de Amazon EC2 deben lanzarse en una subred privada configurada para utilizar una gateway NAT.

Debe configurar una puerta de enlace NAT para permitir que el clúster ejecute trabajos parallel de varios nodos.

Todas las configuraciones y consideraciones anteriores también son válidas paraAWS Batch. A continuación se muestra un ejemplo de configuraciónAWS Batch de redes.

# Note that all values are only provided as examples HeadNode: ... Networking: SubnetId: subnet-12345678 # subnet with internet gateway, NAT gateway or proxy #ElasticIp: true | false | eip-12345678 #Proxy: #HttpProxyAddress: http://proxy-address:port Ssh: KeyName: ec2-key-name Scheduling: Scheduler: awsbatch AwsBatchQueues: - ... Networking: SubnetIds: - subnet-23456789 # subnet with internet gateway, NAT gateway or proxy #AssignPublicIp: true | false

En la Networkingsección SchedulingAwsBatchQueues//, SubnetIdses un tipo de lista, pero actualmente solo se admite una subred.

Para obtener más información, consulte los siguientes temas:

AWS ParallelClusteren una subred individual sin acceso a Internet


        AWS ParallelClusterusando una subred y sin internet

Una subred sin acceso a Internet no permite conexiones entrantes o salientes a Internet. EstaAWS ParallelCluster configuración puede ayudar a los clientes preocupados por la seguridad a mejorar aún más la seguridad de susAWS ParallelCluster recursos. AWS ParallelClusterlos nodos se crean a partir deAWS ParallelCluster AMI que incluyen todo el software necesario para ejecutar un clúster sin acceso a Internet. De esta manera,AWS ParallelCluster puede crear y administrar clústeres con nodos que no tienen acceso a Internet.

En esta sección, aprenderá a configurar el clúster. También conocerá las limitaciones para ejecutar clústeres sin acceso a Internet.

Configuración de puntos de conexión de VPC

Para garantizar el correcto funcionamiento del clúster, los nodos del clúster deben poder interactuar con variosAWS servicios.

Cree y configure los siguientes extremos de VPC para que los nodos del clúster puedan interactuar con losAWS Servicios sin acceso a Internet:

Commercial and AWS GovCloud (US) partitions
Servicio Nombre del servicio Tipo

Amazon CloudWatch

com.amazonaws. identificador de región .logs

Interfaz

AWS CloudFormation

com.amazonaws. region-id .cloudformation

Interfaz

Amazon EC2

com.amazonaws. identificador de región .ec2

Interfaz

Simple Storage Service (Amazon S3)

com.amazonaws. identificador de región .s3

Puerta de enlace

Amazon DynamoDB

com.amazonaws. identificador de región .dynamodb

Puerta de enlace

AWS Secrets Manager**

com.amazonaws. region-id .secretsmanager

Interfaz

China partition
Servicio Nombre del servicio Tipo

Amazon CloudWatch

com.amazonaws. identificador de región .logs

Interfaz

AWS CloudFormation

cn.com.amazonaws. region-id .cloudformation

Interfaz

Amazon EC2

cn.com.amazonaws. identificador de región .ec2

Interfaz

Simple Storage Service (Amazon S3)

com.amazonaws. identificador de región .s3

Puerta de enlace

Amazon DynamoDB

com.amazonaws. identificador de región .dynamodb

Puerta de enlace

AWS Secrets Manager**

com.amazonaws. region-id .secretsmanager

Interfaz

** Este punto de conexión solo es necesario cuando DirectoryServiceestá activado; de lo contrario, es opcional.

Todas las instancias de la VPC deben tener los grupos de seguridad adecuados para comunicarse con los endpoints. Para ello, añada grupos de seguridad a las configuraciones AdditionalSecurityGroupsdebajo HeadNodey AdditionalSecurityGroupsdebajo de las SlurmQueuesconfiguraciones. Por ejemplo, si los puntos de enlace de VPC se crean sin especificar un grupo de seguridad de forma explícita, el grupo de seguridad predeterminado se asociará a los puntos de enlace. Al agregar el grupo de seguridad predeterminado aAdditionalSecurityGroups, habilita la comunicación entre el clúster y los puntos finales.

nota

Cuando utilice políticas de IAM para restringir el acceso a los puntos de enlace de la VPC, debe añadir lo siguiente al punto de enlace de la VPC de Amazon S3:

PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: "*" Action: - "s3:PutObject" Resource: - !Sub "arn:${AWS::Partition}:s3:::cloudformation-waitcondition-${AWS::Region}/*"

Desactive Route 53 y utilice nombres de host de EC2

Al crear un clúster de Slurm,AWS ParallelCluster crea una zona alojada privada de Route 53 que se utiliza para resolver los nombres de host de los nodos de procesamiento personalizados, como{queue_name}-{st|dy}-{compute_resource}-{N}. Dado que Route 53 no admite puntos de enlace de VPC, esta función debe estar deshabilitada. Además,AWS ParallelCluster debe configurarse para usar los nombres de host de EC2 predeterminados, comoip-1-2-3-4. Aplica los siguientes ajustes a la configuración de tu clúster:

... Scheduling: ... SlurmSettings: Dns: DisableManagedDns: true UseEc2Hostnames: true
aviso

En el caso de los clústeres creados con SlurmSettingsDns//DisableManagedDnsy UseEc2Hostnamesestablecidos entrue, el DNSNodeName no resuelve el Slurm. Usa el SlurmNodeHostName en su lugar.

nota

Esta nota no es relevante a partir deAWS ParallelCluster la versión 3.3.0.

Para versionesAWS ParallelCluster compatibles anteriores a 3.3.0:

CuandoUseEc2Hostnames se establece entrue, el archivo de configuración de Slurm se establece con losepilog scriptsAWS ParallelClusterprolog y:

  • prologse ejecuta para agregar información de nodos a/etc/hosts los nodos de cómputos cuando se asigna cada tarea.

  • epilogse ejecuta para limpiar el contenido escrito porprolog.

Para añadirepilog scriptsprolog o personalizados, agréguelos a las/opt/slurm/etc/pcluster/epilog.d/ carpetas/opt/slurm/etc/pcluster/prolog.d/ o respectivamente.

Configuración de clústeres

Aprenda a configurar el clúster para que se ejecute en una subred sin conexión a Internet.

La configuración de esta arquitectura requiere los siguientes valores de configuración:

# Note that all values are only provided as examples ... HeadNode: ... Networking: SubnetId: subnet-1234567890abcdef0 # the VPC of the subnet needs to have VPC endpoints AdditionalSecurityGroups: - sg-abcdef01234567890 # optional, the security group that enables the communication between the cluster and the VPC endpoints Scheduling: Scheduler: slurm # Cluster in a subnet without internet access is supported only when the scheduler is Slurm. SlurmSettings: Dns: DisableManagedDns: true UseEc2Hostnames: true SlurmQueues: - ... Networking: SubnetIds: - subnet-1234567890abcdef0 # the VPC of the subnet needs to have VPC endpoints attached AdditionalSecurityGroups: - sg-1abcdef01234567890 # optional, the security group that enables the communication between the cluster and the VPC endpoints
  • SubnetId(s): la subred sin acceso a Internet.

    Para habilitar la comunicación entreAWS ParallelCluster yAWS los Servicios, la VPC de la subred debe tener conectados los extremos de la VPC. Antes de crear el clúster, compruebe que la asignación automática de direcciones IPv4 públicas esté deshabilitada en la subred para garantizar que lospcluster comandos tengan acceso al clúster.

  • AdditionalSecurityGroups: el grupo de seguridad que permite la comunicación entre el clúster y los puntos finales de la VPC.

    Opcional:

    • Si los puntos de enlace de la VPC se crean sin especificar un grupo de seguridad de forma explícita, se asociará el grupo de seguridad predeterminado de la VPC. Por lo tanto, proporcione el grupo de seguridad predeterminado aAdditionalSecurityGroups.

    • Si se utilizan grupos de seguridad personalizados al crear el clúster o los puntos finales de la VPC, noAdditionalSecurityGroups es necesario siempre que los grupos de seguridad personalizados permitan la comunicación entre el clúster y los puntos finales de la VPC.

  • Scheduler: el programador de clústeres.

    slurmes el único valor válido. Solo el programador Slurm admite un clúster en una subred sin acceso a Internet.

  • SlurmSettings: La configuración de Slurm.

    Consulte la sección anterior Deshabilitar Route53 y usar nombres de host de EC2.

Limitaciones

  • Conexión al nodo principal a través de SSH o NICE DCV: al conectarse a un clúster, asegúrese de que el cliente de la conexión pueda llegar al nodo principal del clúster a través de su dirección IP privada. Si el cliente no está en la misma VPC que el nodo principal, usa una instancia de proxy en una subred pública de la VPC. Este requisito se aplica tanto a las conexiones SSH como a las DCV. No se puede acceder a la IP pública de un nodo principal si la subred no tiene acceso a Internet. Losdcv-connect comandospcluster ssh and utilizan la IP pública, si existe, o la IP privada. Antes de crear el clúster, compruebe que la asignación automática de direcciones IPv4 públicas esté deshabilitada en la subred para garantizar que lospcluster comandos tengan acceso al clúster.

    El siguiente ejemplo muestra cómo puede conectarse a una sesión de DCV que se ejecuta en el nodo principal de su clúster. Se conecta a través de una instancia de proxy EC2. La instancia funciona como un servidor NICE DCV para su PC y como cliente para el nodo principal de la subred privada.

    Connect a través de DCV a través de una instancia de proxy en una subred pública:

    1. Cree una instancia EC2 en una subred pública, que esté en la misma VPC que poseen las subredes del clúster.

    2. Asegúrese de que el cliente y el servidor NICE DCV estén instalados en la instancia EC2.

    3. Adjunte una política deAWS ParallelCluster usuario a la instancia EC2 del proxy. Para obtener más información, consulte AWS ParallelClusterejemplo pcluster de políticas de usuario.

    4. InstáleloAWS ParallelCluster en la instancia EC2 del proxy.

    5. Connect a través de DCV a la instancia EC2 del proxy.

    6. Use elpcluster dcv-connect comando de la instancia de proxy para conectarse al clúster dentro de la subred sin acceso a Internet.

  • Interacción con otrosAWS servicios: arriba solo seAWS ParallelCluster enumeran los servicios estrictamente requeridos por. Si el clúster debe interactuar con otros servicios, cree los puntos de enlace de VPC correspondientes.