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 ParallelCluster utiliza Amazon Virtual Private Cloud (VPC) para la creación de 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 de DHCP predeterminado ya especifica el DNS necesario. AmazonProvided Si especifica más de un servidor de nombres de dominio, consulte Conjuntos de opciones de DHCP en la Guía del usuario de Amazon VPC.

AWS ParallelCluster admite las siguientes configuraciones de alto nivel:

  • Una subred para los nodos principal y de computación.

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

Todas estas configuraciones pueden funcionar con o sin direcciones IP públicas. AWS ParallelCluster también se puede implementar para usar un proxy HTTP para todas las AWS 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 mediante AWS Direct Connect un proxy HTTP para todo el tráfico.

A partir de la AWS ParallelCluster versión 3.0.0SecurityGroups, AdditionalSecurityGroups es posible configurar PlacementGroup ajustes diferentes para cada cola. Para obtener más información, consulte HeadNode/Networking y SlurmQueues/Networking y AwsBatchQueues/Networking.

Consulte los siguientes diagramas de arquitectura para ver ilustraciones de algunos de estos escenarios de redes.

AWS ParallelCluster en una única subred pública

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, a todas las instancias del clúster se les debe asignar una IP pública 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 HeadNode/Networking/SubnetId o asignando una IP elástica en HeadNode/Networking/ElasticIp.

  • Asegúrese de que a los nodos de computación se les 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 Scheduling/SlurmQueues/Networking/SubnetIds o estableciendo AssignPublicIp: verdadero en Scheduling/SlurmQueues/Networking.

  • Si define un tipo de p4d instancia u otro tipo de instancia que tenga varias interfaces de red o una tarjeta de interfaz de red para el nodo principal, debe configurar HeadNode/Networking/ElasticIptruepara proporcionar acceso público. AWS Las IP públicas solo se pueden asignar a instancias lanzadas con una única interfaz de red. En este caso, le recomendamos que utilice una puerta de enlace NAT para proporcionar acceso público a los nodos de computación 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 la instancia en la Guía del usuario de Amazon EC2 para instancias de Linux.

  • No puede definir un tipo de instancia p4d o hp6id, ni otro tipo de instancia que tenga varias interfaces de red o una tarjeta de interfaz de red para los nodos de computación, porque las IP públicas de AWS 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 la instancia en la Guía del usuario de Amazon EC2 para instancias de Linux.

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

AWS ParallelCluster utilizando dos subredes

La configuración para usar una subred privada existente para instancias de computación 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-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. Puede hacerlo activando la configuración “Habilitar la asignación automática de direcciones IPv4 públicas” para la subred utilizada en HeadNode/Networking/SubnetId o 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 para el nodo principal, debe configurar HeadNode/Networking/ElasticIptruepara proporcionar acceso público. AWS Las 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 la instancia en la Guía del usuario de Amazon EC2 para instancias de Linux.

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

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 se establece Scheduling/SlurmQueues/Networking/AssignPublicIp en false, las subredes deben configurarse correctamente para utilizar el proxy para todo el tráfico. Se requiere acceso a Internet tanto para los nodos principales como para los de computación.

AWS ParallelCluster con programador AWS Batch

Cuando se utiliza awsbatch como tipo de planificador, AWS ParallelCluster crea un entorno informático AWS Batch gestionado. El entorno AWS Batch gestiona instancias de contenedores de Amazon Elastic Container Service (Amazon ECS). Estas instancias se lanzan en la subred configurada en el parámetro AwsBatchQueues/Networking/SubnetIds. AWS Batch Para funcionar correctamente, las instancias de contenedor de Amazon ECS necesitan acceso a una red externa para comunicarse con el punto de enlace del servicio 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 que se lanzan en la subred de la cola tienen direcciones IP públicas y pueden llegar a Internet a través de una puerta de enlace de Internet.

Además, si le interesan los trabajos paralelos de varios nodos (de los documentos de AWS Batch):

AWS Batch los trabajos paralelos de varios nodos utilizan el modo de awsvpc red Amazon ECS. Esto proporciona a los contenedores de trabajos paralelos 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 como su recurso de computación de host. Los grupos de seguridad que se hayan aplicado a los recursos de computación se aplicarán también a ella.

Cuando usa la integración de redes de tareas de Amazon ECS, el modo de red awsvpc no proporciona interfaces de red elásticas con direcciones IP públicas para tareas que utilizan el tipo de lanzamiento de Amazon EC2. Para obtener acceso a Internet, las tareas que utilizan el tipo de lanzamiento Amazon EC2 se deben lanzar en una subred privada configurada para utilizar una puerta de enlace NAT.

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

Todas las configuraciones y consideraciones anteriores también son válidas AWS Batch. El siguiente es un ejemplo de configuración AWS Batch de red.

# 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 sección Scheduling/AwsBatchQueues/Networking, SubnetIds es un tipo de lista, pero actualmente solo se admite una subred.

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

AWS ParallelCluster en una sola subred sin acceso a Internet

AWS ParallelCluster utilizando una subred y sin Internet

Una subred sin acceso a Internet no permite conexiones entrantes ni salientes a Internet. Esta AWS ParallelCluster configuración puede ayudar a los clientes preocupados por la seguridad a mejorar aún más la seguridad de sus recursos. AWS ParallelCluster AWS ParallelCluster los nodos se crean a partir de AWS ParallelCluster AMI que incluyen todo el software necesario para ejecutar un clúster sin acceso a Internet. De esta forma, 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 obtendrá información sobre las limitaciones de la ejecución de 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 varios AWS servicios.

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

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

Amazon CloudWatch

com.amazonaws.region-id.logs

Interfaz

AWS CloudFormation

com.amazonaws.region-id.cloudformation

Interfaz

Amazon EC2

com.amazonaws.region-id.ec2

Interfaz

Amazon S3

com.amazonaws.region-id.s3

Puerta de enlace

Amazon DynamoDB

com.amazonaws.region-id.dynamodb

Puerta de enlace

AWS Secrets Manager**

com.amazonaws.region-id.secretsmanager

Interfaz

China partition
Servicio Nombre del servicio Tipo

Amazon CloudWatch

com.amazonaws.region-id.logs

Interfaz

AWS CloudFormation

cn.com.amazonaws.region-id.cloudformation

Interfaz

Amazon EC2

cn.com.amazonaws.region-id.ec2

Interfaz

Amazon S3

com.amazonaws.region-id.s3

Puerta de enlace

Amazon DynamoDB

com.amazonaws.region-id.dynamodb

Puerta de enlace

AWS Secrets Manager**

com.amazonaws.region-id.secretsmanager

Interfaz

** Este punto de conexión solo es obligatorio cuando está activado DirectoryService; de lo contrario, es opcional.

Todas las instancias de la VPC deben tener los grupos de seguridad adecuados para comunicarse con los puntos de conexión. Para ello, agregue grupos de seguridad a AdditionalSecurityGroups en el HeadNode y los AdditionalSecurityGroups y en las configuraciones de las SlurmQueues. Por ejemplo, si los puntos de conexión 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 conexión. Al agregar el grupo de seguridad predeterminado a AdditionalSecurityGroups, se habilita la comunicación entre el clúster y los puntos de conexión.

nota

Cuando utilice políticas de IAM para restringir el acceso a los puntos de conexión de VPC, debe añadir lo siguiente al punto de conexión de 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}/*"

Inhabilite Route 53 y utilice los nombres de host de Amazon EC2

Al crear un Slurm clúster, AWS ParallelCluster crea una zona alojada privada de Route 53 que se utiliza para resolver los nombres de host de los nodos de cómputo personalizados, por ejemplo. {queue_name}-{st|dy}-{compute_resource}-{N} Como Route 53 no admite puntos de conexión de VPC, esta característica debe estar deshabilitada. Además, AWS ParallelCluster debe configurarse para utilizar los nombres de host predeterminados de Amazon EC2, como. ip-1-2-3-4 Aplique los siguientes ajustes a la configuración del clúster:

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

En el caso de los clústeres creados con SlurmSettingsDns//DisableManagedDnsy UseEc2Hostnamesconfigurados entrue, el DNS Slurm NodeName no lo resuelve. Usa el en Slurm NodeHostName su lugar.

nota

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

Para las versiones AWS ParallelCluster compatibles anteriores a la 3.3.0:

Cuando UseEc2Hostnames se establece entrue, el archivo Slurm de configuración se establece con los epilog scripts AWS ParallelCluster prolog y:

  • prolog se ejecuta para añadir información de los nodos a /etc/hosts sobre los nodos de computación cuando se asigna cada trabajo.

  • epilog se ejecuta para limpiar el contenido escrito por prolog.

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

Configuración del clúster

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 entre AWS ParallelCluster los AWS servicios, la VPC de la subred debe tener los puntos finales de la VPC conectados. 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 los comandos de pcluster tengan acceso al clúster.

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

    Opcional:

    • Si los puntos de conexión de 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 a AdditionalSecurityGroups.

    • Si se utilizan grupos de seguridad personalizados al crear el clúster o los puntos de conexión de VPC, no se necesita AdditionalSecurityGroups, siempre que los grupos de seguridad personalizados permitan la comunicación entre el clúster y los puntos de conexión de VPC.

  • Scheduler: el programador de clústeres.

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

  • SlurmSettings: La Slurm configuración.

    Consulte la sección anterior Inhabilitar Route53 y usar los nombres de host de Amazon 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, use una instancia de proxy en una subred pública de la VPC. Este requisito se aplica a las conexiones SSH y DCV. No se puede acceder a la IP pública de un nodo principal si la subred no tiene acceso a Internet. Los comandos pcluster ssh y dcv-connect 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 los comandos de pcluster tengan acceso al clúster.

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

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

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

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

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

    4. Instálelo AWS ParallelCluster en la instancia proxy de Amazon EC2.

    5. Conéctese a través de DCV a la instancia proxy de Amazon EC2.

    6. Utilice el comando pcluster dcv-connect de la instancia del proxy para conectarse al clúster dentro de la subred sin acceso a Internet.

  • Interacción con otros AWS servicios: arriba solo se AWS ParallelCluster enumeran los servicios estrictamente necesarios. Si el clúster debe interactuar con otros servicios, cree los puntos de conexión de VPC correspondientes.