Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Créer le cluster
Si vous n'avez pas quitté l'instance Amazon EC2, faites-le maintenant.
L'environnement est configuré pour créer un cluster capable d'authentifier les utilisateurs auprès d'Active Directory (AD).
Créez une configuration de cluster simple et fournissez les paramètres nécessaires à la connexion à l'AD. Pour plus d’informations, consultez la section DirectoryService.
Choisissez l'une des configurations de cluster suivantes et copiez-la dans un fichier nommé ldaps_config.yamlldaps_nocert_config.yaml, ouldap_config.yaml.
Nous vous recommandons de choisir la configuration LDAPS avec vérification des certificats. Si vous choisissez cette configuration, vous devez également copier le script bootstrap dans un fichier nomméactive-directory.head.post.sh. Vous devez également le stocker dans un compartiment Amazon S3 comme indiqué dans le fichier de configuration.
Note
Les composants suivants doivent être modifiés.
-
KeyName: l'une de vos paires de clés Amazon EC2. -
SubnetId / SubnetIds: l'un des sous-réseaux IDs fournis dans la sortie de la pile de création CloudFormation rapide (didacticiel automatisé) ou du script python (didacticiel manuel). -
Region: Région dans laquelle vous avez créé l'infrastructure AD. -
DomainAddr: Cette adresse IP est l'une des adresses DNS de votre service AD. -
PasswordSecretArn: le nom de ressource Amazon (ARN) du secret qui contient le mot de passe duDomainReadOnlyUser. -
BucketName: nom du compartiment contenant le script bootstrap. -
AdditionalPolicies/Policy: Le nom de ressource Amazon (ARN) de la politique de certification du domaine lu ReadCertExample. -
CustomActions/OnNodeConfigured/Args: Le nom de ressource Amazon (ARN) du secret contenant la politique de certification du domaine.
Pour une meilleure sécurité, nous vous suggérons d'utiliser la AllowedIps configuration HeadNodeSsh//pour limiter l'accès SSH au nœud principal.
Notez que le certificat spécifié dans LdapTlsCaCert doit être accessible à tous les nœuds du cluster.
Exigences strictes
-
Le certificat spécifié dans
LdapTlsCaCertdoit être accessible à tous les nœuds du cluster.Un nœud n'ayant pas accès au certificat ne sera pas en mesure de résoudre le problème des utilisateurs depuis l'annuaire.
Region:region-idImage: Os: alinux2 HeadNode: InstanceType: t2.micro Networking: SubnetId:subnet-abcdef01234567890Ssh: KeyName:keypairIam: AdditionalIamPolicies: - Policy: arn:aws:iam::123456789012:policy/ReadCertExample S3Access: - BucketName:amzn-s3-demo-bucketEnableWriteAccess: false KeyName: bootstrap/active-directory/active-directory.head.post.sh CustomActions: OnNodeConfigured: Script: s3://amzn-s3-demo-bucket/bootstrap/active-directory/active-directory.head.post.sh Args: - arn:aws:secretsmanager:region-id:123456789012:secret:example-cert-123abc- /opt/parallelcluster/shared/directory_service/domain-certificate.crt Scheduling: Scheduler: slurm SlurmQueues: - Name: queue0 ComputeResources: - Name: queue0-t2-micro InstanceType: t2.micro MinCount: 1 MaxCount: 10 Networking: SubnetIds: -subnet-abcdef01234567890DirectoryService: DomainName: corp.example.com DomainAddr: ldaps://corp.example.com PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-1234DomainReadOnlyUser: cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=example,dc=com LdapTlsCaCert: /opt/parallelcluster/shared/directory_service/domain-certificate.crt LdapTlsReqCert: hard
Script Bootstrap
Après avoir créé le fichier bootstrap et avant de le télécharger dans votre compartiment S3, exécutez-le chmod +x active-directory.head.post.sh pour donner l'autorisation d' AWS ParallelCluster exécution.
#!/bin/bash set -e CERTIFICATE_SECRET_ARN="$1" CERTIFICATE_PATH="$2" [[ -z $CERTIFICATE_SECRET_ARN ]] && echo "[ERROR] Missing CERTIFICATE_SECRET_ARN" && exit 1 [[ -z $CERTIFICATE_PATH ]] && echo "[ERROR] Missing CERTIFICATE_PATH" && exit 1 source /etc/parallelcluster/cfnconfig REGION="${cfn_region:?}" mkdir -p $(dirname $CERTIFICATE_PATH) aws secretsmanager get-secret-value --region $REGION --secret-id $CERTIFICATE_SECRET_ARN --query SecretString --output text > $CERTIFICATE_PATH
Note
Les composants suivants doivent être modifiés.
-
KeyName: l'une de vos paires de clés Amazon EC2. -
SubnetId / SubnetIds: l'un des sous-réseaux figurant IDs dans la sortie de la pile de création CloudFormation rapide (didacticiel automatisé) ou du script python (didacticiel manuel). -
Region: Région dans laquelle vous avez créé l'infrastructure AD. -
DomainAddr: Cette adresse IP est l'une des adresses DNS de votre service AD. -
PasswordSecretArn: le nom de ressource Amazon (ARN) du secret qui contient le mot de passe duDomainReadOnlyUser.
Pour une meilleure sécurité, nous vous suggérons d'utiliser la AllowedIps configuration HeadNode /Ssh/ pour limiter l'accès SSH au nœud principal.
Region:region-idImage: Os: alinux2 HeadNode: InstanceType: t2.micro Networking: SubnetId:subnet-abcdef01234567890Ssh: KeyName:keypairScheduling: Scheduler: slurm SlurmQueues: - Name: queue0 ComputeResources: - Name: queue0-t2-micro InstanceType: t2.micro MinCount: 1 MaxCount: 10 Networking: SubnetIds: -subnet-abcdef01234567890DirectoryService: DomainName: corp.example.com DomainAddr: ldaps://corp.example.com PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-1234DomainReadOnlyUser: cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=example,dc=com LdapTlsReqCert: never
Note
Les composants suivants doivent être modifiés.
-
KeyName: l'une de vos paires de clés Amazon EC2. -
SubnetId / SubnetIds: l'un des sous-réseaux IDs fournis dans la sortie de la pile de création CloudFormation rapide (didacticiel automatisé) ou du script python (didacticiel manuel). -
Region: Région dans laquelle vous avez créé l'infrastructure AD. -
DomainAddr: Cette adresse IP est l'une des adresses DNS de votre service AD. -
PasswordSecretArn: le nom de ressource Amazon (ARN) du secret qui contient le mot de passe duDomainReadOnlyUser.
Pour une meilleure sécurité, nous vous suggérons d'utiliser la AllowedIps configuration HeadNode /Ssh/ pour limiter l'accès SSH au nœud principal.
Region:region-idImage: Os: alinux2 HeadNode: InstanceType: t2.micro Networking: SubnetId:subnet-abcdef01234567890Ssh: KeyName:keypairScheduling: Scheduler: slurm SlurmQueues: - Name: queue0 ComputeResources: - Name: queue0-t2-micro InstanceType: t2.micro MinCount: 1 MaxCount: 10 Networking: SubnetIds: -subnet-abcdef01234567890DirectoryService: DomainName: dc=corp,dc=example,dc=com DomainAddr: ldap://192.0.2.254,ldap://203.0.113.237PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-1234DomainReadOnlyUser: cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=example,dc=com AdditionalSssdConfigs: ldap_auth_disable_tls_never_use_in_production: True
Créez votre cluster à l'aide de la commande suivante.
$pcluster create-cluster --cluster-name"ad-cluster"--cluster-configuration"./ldaps_config.yaml"{ "cluster": { "clusterName": "pcluster", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:region-id:123456789012:stack/ad-cluster/1234567-abcd-0123-def0-abcdef0123456", "region": "region-id", "version": 3.15.0, "clusterStatus": "CREATE_IN_PROGRESS" } }