AWS CloudFormation recurso personalizado - 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.

AWS CloudFormation recurso personalizado

A partir de AWS ParallelCluster la versión 3.6.0, puede usar un recurso AWS ParallelCluster CloudFormation personalizado en una AWS CloudFormation pila. El recurso personalizado es una pila AWS ParallelCluster alojada. De esta forma, puede usarlo CloudFormation para configurar y administrar sus clústeres. Por ejemplo, puede configurar los recursos externos del clúster, como la red, el almacenamiento compartido y la infraestructura de grupos de seguridad en una CloudFormation pila. Además, puede administrar su clúster con una CloudFormation infraestructura como canalización de código.

Añada un recurso AWS ParallelCluster personalizado a su CloudFormation plantilla de la siguiente manera:

  1. Agrega una pila de proveedores de recursos personalizada que sea propiedad de y esté alojada por AWS ParallelCluster.

  2. Haz referencia a la pila de proveedores CloudFormation de tu plantilla como un recurso personalizado.

La pila de proveedores de recursos personalizada gestiona las CloudFormation solicitudes y responde a ellas. Por ejemplo, cuando despliegas tu CloudFormation pila, también configuras y creas un clúster. Para actualizar un clúster, debes actualizar tu CloudFormation pila. Al eliminar la pila, se elimina un clúster. Para obtener más información sobre los recursos CloudFormation personalizados, consulta los recursos personalizados en la Guía del AWS CloudFormation usuario.

aviso

CloudFormation no detecta la desviación personalizada de los recursos. Úselo únicamente CloudFormation para actualizar la configuración del clúster y eliminar un clúster.

Puede usar la CLI de pcluster o IU AWS ParallelCluster para monitorear el estado del clúster o para actualizar la flota de computación, pero no para actualizar la configuración del clúster ni para eliminarlo.

nota

Le recomendamos que añada una protección de finalización a su pila para evitar eliminarla accidentalmente.

Pila de proveedores alojada por AWS ParallelCluster

La pila de proveedores de recursos personalizada tiene el formato que se muestra en el siguiente fragmento CloudFormation de plantilla:

PclusterClusterProvider: Type: AWS::CloudFormation::Stack Properties: Parameters: CustomLambdaRole: # (Optional) RoleARN to override default AdditionalIamPolicies: # (Optional) comma-separated list of IAM policies to add TemplateURL: !Sub - https://${AWS::Region}-aws-parallelcluster.s3.${AWS::Region}.${AWS::URLSuffix}/parallelcluster/${Version}/templates/custom_resource/cluster.yaml - { Version: 3.7.0 }
Propiedades:
Parámetros:
CustomLambdaRole (opcional):

Un rol personalizado con permisos para ejecutar el AWS Lambda que crea y administra el clúster. De forma predeterminada, el rol usa las mismas políticas definidas de forma predeterminada en la documentación de AWS ParallelCluster.

AdditionalIamPolicies (opcional):

Una lista separada por comas de nombres de recursos de Amazon (ARN) adicionales de la política de IAM para añadirlos al rol que utiliza Lambda. Solo se usa si no se especifica un CustomLambdaRole y se puede dejar en blanco.

Si necesita políticas adicionales para el nodo principal, los nodos de computación o para acceder a un bucket de Amazon S3, agréguelas a la propiedad CustomLambdaRole o AdditionalIamPolicy.

Para obtener más información sobre las políticas predeterminadas, consulte AWS Identity and Access Management permisos en AWS ParallelCluster.

TemplateURL (obligatorio):

La URL del archivo de recursos AWS ParallelCluster personalizado.

Salidas:
ServiceToken:

Un valor que se puede utilizar como propiedad de recursos personalizados de ServiceToken. Un recurso personalizado ServiceToken especifica dónde se AWS CloudFormation envían las solicitudes. Se trata de una entrada obligatoria para un recurso de clúster que incluya en la AWS CloudFormation plantilla.

LogGroupArn:

El ARN en el CloudWatch LogGroup que se registra el recurso subyacente.

LambdaLayerArn:

El ARN de la capa Lambda que se utiliza para ejecutar las operaciones. AWS ParallelCluster

Recurso del clúster

El recurso del CloudFormation clúster tiene el formato que se muestra en el siguiente fragmento de plantilla: CloudFormation

PclusterCluster: Type: Custom::PclusterCluster Properties: ServiceToken: !GetAtt [ PclusterClusterProvider , Outputs.ServiceToken ] ClusterName: !Sub 'c-${AWS::StackName}' # Must be different from StackName ClusterConfiguration: # Your Cluster Configuration
Propiedades:
ServiceToken:

El resultado de la pila AWS ParallelCluster de proveedores. ServiceToken

ClusterName:

El nombre del clúster que se va a crear y administrar. El nombre no debe coincidir con el nombre de la CloudFormation pila. El nombre no se puede cambiar una vez creado el clúster.

ClusterConfiguration:

El archivo YAML de configuración del clúster, tal como se describe en Configuración del clúster. Sin embargo, puede utilizar las CloudFormation construcciones habituales, como las funciones intrínsecas.

DeletionPolicy:

Define si se debe eliminar el clúster cuando se elimina la pila raíz. El valor predeterminado es Delete.

Retain:

Retiene el clúster si se elimina el recurso personalizado.

nota

Para que el clúster retenido siga funcionando, los recursos que dependen del clúster, como el almacenamiento y las redes, deben tener establecida una política de eliminación en retener.

Delete:

Elimina el clúster si se elimina el recurso personalizado.

Valores devueltos de Fn::GetAtt:

La función intrínseca de Fn::GetAtt devuelve un valor para un atributo especificado de un tipo. Para obtener más información sobre el uso de la Fn::GetAtt intrinsic función, consulte Fn::. GetAtt

ClusterProperties:

Los valores de la operación pcluster describe-cluster.

validationMessages:

Una cadena que contiene todos los mensajes de validación que se produjeron durante la última operación de creación o actualización.

logGroupName:

El nombre del grupo de registros que se utiliza para registrar las operaciones del clúster de Lambda. Los eventos de registro se retienen durante 90 días y el grupo de registros se retiene después de eliminar el clúster.

Ejemplo: Fn::GetAtt:

# Provide the public IP address of the head node as an output of a stack Outputs: HeadNodeIp: Description: The public IP address of the head node Value: !GetAtt [ PclusterCluster, headNode.publicIpAddress ]

Ejemplo: CloudFormation plantilla sencilla y completa con un recurso AWS ParallelCluster personalizado:

AWSTemplateFormatVersion: '2010-09-09' Description: > AWS ParallelCluster CloudFormation Template Parameters: HeadNodeSubnet: Description: Subnet where the HeadNode will run Type: AWS::EC2::Subnet::Id ComputeSubnet: Description: Subnet where the Compute Nodes will run Type: AWS::EC2::Subnet::Id KeyName: Description: KeyPair to login to the head node Type: AWS::EC2::KeyPair::KeyName Resources: PclusterClusterProvider: Type: AWS::CloudFormation::Stack Properties: TemplateURL: !Sub - https://${AWS::Region}-aws-parallelcluster.s3.${AWS::Region}.${AWS::URLSuffix}/parallelcluster/${Version}/templates/custom_resource/cluster.yaml - { Version: 3.7.0 } PclusterCluster: Type: Custom::PclusterCluster Properties: ServiceToken: !GetAtt [ PclusterClusterProvider , Outputs.ServiceToken ] ClusterName: !Sub 'c-${AWS::StackName}' ClusterConfiguration: Image: Os: alinux2 HeadNode: InstanceType: t2.medium Networking: SubnetId: !Ref HeadNodeSubnet Ssh: KeyName: !Ref KeyName Scheduling: Scheduler: slurm SlurmQueues: - Name: queue0 ComputeResources: - Name: queue0-cr0 InstanceType: t2.micro Networking: SubnetIds: - !Ref ComputeSubnet Outputs: HeadNodeIp: Description: The Public IP address of the HeadNode Value: !GetAtt [ PclusterCluster, headNode.publicIpAddress ] ValidationMessages: Description: Any warnings from cluster create or update operations. Value: !GetAtt PclusterCluster.validationMessages

Para obtener más información sobre cómo utilizar el recurso CloudFormation AWS ParallelCluster personalizado, consulteCrear un clúster con AWS CloudFormation.

Operaciones de clúster

Cuando se agrega un recurso personalizado de clúster a una CloudFormation pila, CloudFormation puede realizar las siguientes operaciones de clúster:

  • CloudFormation crea un clúster en una pila nueva e independiente cuando despliega una pila que incluye el recurso AWS ParallelCluster personalizado.

  • Si actualiza la configuración del clúster definida en la pila, de acuerdo con las políticas de actualización de la configuración, CloudFormation actualiza el clúster. El proveedor de recursos AWS ParallelCluster personalizados no detiene la flota de procesamiento antes de actualizar el clúster. Le recomendamos que utilice la configuración QueueUpdateStrategy con las actualizaciones del clúster. De esta forma, puedes evitar realizar pcluster update-compute-fleet llamadas explícitas antes y después de las actualizaciones cuando utilices el recurso AWS ParallelCluster personalizado.

  • Si elimina la pila, se elimina el clúster.

Pilas de solución de problemas que incluyen el recurso AWS ParallelCluster personalizado

Con un recurso AWS ParallelCluster personalizado, CloudFormation implementa un clúster desde una pila nueva e independiente. Puede supervisar la creación de clústeres siguiendo estos pasos:

  1. Navega hasta CloudFormation Stacks AWS Management Console y selecciona Stacks en el panel de navegación.

  2. Elija la pila con el nombre que definió para el nombre del clúster.

  3. Si el estado de la pila es ROLLBACK_COMPLETE, se ha producido un error durante la creación del clúster.

  4. Seleccione Detalles de la pila y, a continuación, la pestaña Eventos.

  5. Busque el nombre que definió para el nombre del clúster en Eventos en ID lógico. Tiene un Status reason que indica el motivo del problema.

  6. También puede elegir el menú desplegable Pilas y luego Eliminado para ver la lista de pilas eliminadas. Seleccione la pila con el nombre del clúster y consulte Eventos para obtener más información.

  7. Para ver el resultado del proveedor de recursos personalizado que administra el clúster, selecciona la pila con la descripción «Recurso personalizado del AWS ParallelCluster clúster». Seleccione la pestaña Recursos, busque el recurso con el ID lógico PclusterCfnFunctionLogGroup y siga el enlace indicado. Vea los flujos de registro que muestran la salida de la depuración de Lambda.

  8. Para solucionar los problemas del clúster, consulte AWS ParallelCluster solución de problemas.