

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Buat cluster
<a name="tutorials_05_multi-user-ad-step3"></a>

Jika Anda belum keluar dari instans Amazon EC2, lakukan sekarang.

Lingkungan diatur untuk membuat cluster yang dapat mengautentikasi pengguna terhadap Active Directory (AD).

Buat konfigurasi cluster sederhana dan berikan pengaturan yang relevan untuk menghubungkan ke AD. Untuk informasi selengkapnya, lihat bagian [`DirectoryService`](DirectoryService-v3.md).

Pilih salah satu konfigurasi klaster berikut dan salin ke file yang diberi nama`ldaps_config.yaml`,`ldaps_nocert_config.yaml`, atau`ldap_config.yaml`.

Kami menyarankan Anda memilih konfigurasi LDAPS dengan verifikasi sertifikat. Jika Anda memilih konfigurasi ini, Anda juga harus menyalin skrip bootstrap ke file yang diberi nama`active-directory.head.post.sh`. Dan, Anda harus menyimpannya di bucket Amazon S3 seperti yang ditunjukkan dalam file konfigurasi.

## LDAPS dengan konfigurasi verifikasi sertifikat (disarankan)
<a name="tutorials_05_multi-user-ad-step3-ldaps"></a>

**catatan**  
`KeyName`: Salah satu keypair Amazon EC2 Anda.
`SubnetId / SubnetIds`: Salah satu subnet yang IDs disediakan dalam output dari CloudFormation quick create stack (tutorial otomatis) atau skrip python (tutorial manual).
`Region`: Wilayah tempat Anda membuat infrastruktur AD.
`DomainAddr`: Alamat IP ini adalah salah satu alamat DNS layanan AD Anda.
`PasswordSecretArn`: Nama Sumber Daya Amazon (ARN) dari rahasia yang berisi kata sandi untuk file. `DomainReadOnlyUser`
`BucketName`: Nama bucket yang menyimpan skrip bootstrap.
`AdditionalPolicies`/`Policy`: Nama Sumber Daya Amazon (ARN) dari kebijakan sertifikasi domain baca. ReadCertExample
`CustomActions`/`OnNodeConfigured`/`Args`: Nama Sumber Daya Amazon (ARN) rahasia yang memegang kebijakan sertifikasi domain.
Untuk postur keamanan yang lebih baik, kami sarankan untuk menggunakan `AllowedIps` konfigurasi `HeadNode``Ssh`//untuk membatasi akses SSH ke node kepala.  
Perhatikan bahwa sertifikat yang ditentukan `LdapTlsCaCert` harus dapat diakses oleh semua node cluster.

**Persyaratan Sulit**  
Sertifikat yang ditentukan `LdapTlsCaCert` harus dapat diakses oleh semua node cluster.  
Sebuah node tanpa akses ke sertifikat tidak akan dapat menyelesaikan pengguna dari direktori.

```
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
```

**Skrip bootstrap**

Setelah Anda membuat file bootstrap dan sebelum Anda mengunggahnya ke bucket S3 Anda, jalankan `chmod +x active-directory.head.post.sh` untuk memberikan izin AWS ParallelCluster jalankan.

```
#!/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 tanpa konfigurasi verifikasi sertifikat
<a name="tutorials_05_multi-user-ad-step3-ldaps-no-cert"></a>

**catatan**  
`KeyName`: Salah satu keypair Amazon EC2 Anda.
`SubnetId / SubnetIds`: Salah satu subnet IDs yang ada di output dari CloudFormation quick create stack (tutorial otomatis) atau skrip python (tutorial manual).
`Region`: Wilayah tempat Anda membuat infrastruktur AD.
`DomainAddr`: Alamat IP ini adalah salah satu alamat DNS layanan AD Anda.
`PasswordSecretArn`: Nama Sumber Daya Amazon (ARN) dari rahasia yang berisi kata sandi untuk file. `DomainReadOnlyUser`
Untuk postur keamanan yang lebih baik, kami sarankan untuk menggunakan AllowedIps konfigurasi HeadNode /Ssh/ untuk membatasi akses SSH ke node kepala.

```
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
```

## Konfigurasi LDAP
<a name="tutorials_05_multi-user-ad-step3-ldap"></a>

**catatan**  
`KeyName`: Salah satu keypair Amazon EC2 Anda.
`SubnetId / SubnetIds`: Salah satu subnet yang IDs disediakan dalam output dari CloudFormation quick create stack (tutorial otomatis) atau skrip python (tutorial manual).
`Region`: Wilayah tempat Anda membuat infrastruktur AD.
`DomainAddr`: Alamat IP ini adalah salah satu alamat DNS layanan AD Anda.
`PasswordSecretArn`: Nama Sumber Daya Amazon (ARN) dari rahasia yang berisi kata sandi untuk file. `DomainReadOnlyUser`
Untuk postur keamanan yang lebih baik, kami sarankan untuk menggunakan AllowedIps konfigurasi HeadNode /Ssh/ untuk membatasi akses SSH ke node kepala.

```
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
```

Buat klaster Anda dengan perintah berikut.

```
$ 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"
  }
}
```