本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立叢集
如果您尚未結束 Amazon EC2 執行個體,請現在執行此操作。
環境設定為建立叢集,可根據 Active Directory (AD) 對使用者進行身分驗證。
建立簡單的叢集組態,並提供與連接到 AD 相關的設定。如需詳細資訊,請參閱 DirectoryService 一節。
選擇下列其中一個叢集組態,並將其複製到名為 ldaps_config.yaml、 ldaps_nocert_config.yaml或 的檔案ldap_config.yaml。
我們建議您使用憑證驗證選擇 LDAPS 組態。如果您選擇此組態,您還必須將引導指令碼複製到名為 的檔案active-directory.head.post.sh。此外,您必須將其存放在 Amazon S3 儲存貯體中,如組態檔案中所示。
注意
必須變更下列元件。
-
KeyName:其中一個 Amazon EC2 金鑰對。 -
SubnetId / SubnetIds:CloudFormation 快速建立堆疊 (自動化教學課程) 或 python 指令碼 (手動教學課程) 輸出中提供的其中一個子網路 IDs。 -
Region:您建立 AD 基礎設施的區域。 -
DomainAddr:此 IP 地址是您 AD 服務的其中一個 DNS 地址。 -
PasswordSecretArn:包含 密碼之秘密的 Amazon Resource Name (ARN)DomainReadOnlyUser。 -
BucketName:存放引導指令碼的儲存貯體名稱。 -
AdditionalPolicies/Policy:讀取網域認證政策 ReadCertExample 的 Amazon Resource Name (ARN)。 -
CustomActions/OnNodeConfigured/Args:保留網域認證政策之秘密的 Amazon Resource Name (ARN)。
為了提高安全性狀態,建議您使用 HeadNode / Ssh / AllowedIps組態來限制 SSH 對前端節點的存取。
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
引導指令碼
建立引導檔案之後,在將其上傳至 S3 儲存貯體之前,請執行 chmod +x active-directory.head.post.sh 以授予 AWS ParallelCluster 執行許可。
#!/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
注意
必須變更下列元件。
-
KeyName:其中一個 Amazon EC2 金鑰對。 -
SubnetId / SubnetIds:CloudFormation 快速建立堆疊 (自動化教學課程) 或 python 指令碼 (手動教學課程) 輸出中的其中一個子網路 IDs。 -
Region:您建立 AD 基礎設施的區域。 -
DomainAddr:此 IP 地址是您 AD 服務的其中一個 DNS 地址。 -
PasswordSecretArn:包含 密碼之秘密的 Amazon Resource Name (ARN)DomainReadOnlyUser。
為了提高安全性狀態,建議您使用 HeadNode/Ssh/AllowedIps 組態來限制對前端節點的 SSH 存取。
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
注意
必須變更下列元件。
-
KeyName:其中一個 Amazon EC2 金鑰對。 -
SubnetId / SubnetIds:CloudFormation 快速建立堆疊 (自動化教學課程) 或 python 指令碼 (手動教學課程) 輸出中提供的其中一個子網路 IDs。 -
Region:您建立 AD 基礎設施的區域。 -
DomainAddr:此 IP 地址是您 AD 服務的其中一個 DNS 地址。 -
PasswordSecretArn:包含 密碼之秘密的 Amazon Resource Name (ARN)DomainReadOnlyUser。
為了提高安全性狀態,建議您使用 HeadNode/Ssh/AllowedIps 組態來限制對前端節點的 SSH 存取。
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
使用下列命令建立您的叢集。
$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.14.1, "clusterStatus": "CREATE_IN_PROGRESS" } }