

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
<a name="tutorials_05_multi-user-ad-step3"></a>

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`](DirectoryService-v3.md).

Choisissez l'une des configurations de cluster suivantes et copiez-la dans un fichier nommé `ldaps_config.yaml``ldaps_nocert_config.yaml`, ou`ldap_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.

## LDAPS avec configuration de vérification des certificats (recommandé)
<a name="tutorials_05_multi-user-ad-step3-ldaps"></a>

**Note**  
`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 du`DomainReadOnlyUser`.
`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 `HeadNode``Ssh`//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 `LdapTlsCaCert` doit ê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-id
Image:
  Os: alinux2
HeadNode: 
  InstanceType: t2.micro
  Networking:
    SubnetId: subnet-abcdef01234567890
  Ssh:
    KeyName: keypair
  Iam:
    AdditionalIamPolicies:
      - Policy: arn:aws:iam::123456789012:policy/ReadCertExample
    S3Access:
      - BucketName: amzn-s3-demo-bucket
        EnableWriteAccess: 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-abcdef01234567890
DirectoryService:
  DomainName: corp.example.com
  DomainAddr: ldaps://corp.example.com
  PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-1234
  DomainReadOnlyUser: 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
```

## LDAPS sans configuration de vérification de certificat
<a name="tutorials_05_multi-user-ad-step3-ldaps-no-cert"></a>

**Note**  
`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 du`DomainReadOnlyUser`.
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-id
Image:
  Os: alinux2
HeadNode: 
  InstanceType: t2.micro
  Networking:
    SubnetId: subnet-abcdef01234567890
  Ssh:
    KeyName: keypair
Scheduling:
  Scheduler: slurm
  SlurmQueues:
    - Name: queue0
      ComputeResources:
        - Name: queue0-t2-micro
          InstanceType: t2.micro
          MinCount: 1
          MaxCount: 10         
      Networking:
        SubnetIds:
          - subnet-abcdef01234567890
DirectoryService:
  DomainName: corp.example.com
  DomainAddr: ldaps://corp.example.com
  PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-1234
  DomainReadOnlyUser: cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=example,dc=com
  LdapTlsReqCert: never
```

## Configuration du protocole LDAP
<a name="tutorials_05_multi-user-ad-step3-ldap"></a>

**Note**  
`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 du`DomainReadOnlyUser`.
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-id
Image:
  Os: alinux2
HeadNode: 
  InstanceType: t2.micro
  Networking:
    SubnetId: subnet-abcdef01234567890
  Ssh:
    KeyName: keypair
Scheduling:
  Scheduler: slurm
  SlurmQueues:
    - Name: queue0
      ComputeResources:
        - Name: queue0-t2-micro
          InstanceType: t2.micro
          MinCount: 1
          MaxCount: 10         
      Networking:
        SubnetIds:
          - subnet-abcdef01234567890
DirectoryService:
  DomainName: dc=corp,dc=example,dc=com
  DomainAddr: ldap://192.0.2.254,ldap://203.0.113.237
  PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-1234
  DomainReadOnlyUser: 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"
  }
}
```