AWS ParallelCluster 使用者指南

399
AWS ParallelCluster AWS ParallelCluster 使用者指南 AWS ParallelCluster: AWS ParallelCluster 使用者指南 Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Transcript of AWS ParallelCluster 使用者指南

AWS ParallelClusterAWS ParallelCluster 使用者指南

AWS ParallelCluster: AWS ParallelCluster 使用者指南Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

AWS ParallelCluster AWS ParallelCluster 使用者指南

Amazon 的商標和商業外觀不得用於任何非 Amazon 的產品或服務,也不能以任何可能造成客戶混淆、任何貶低或使Amazon 名譽受損的方式使用 Amazon 的商標和商業外觀。所有其他非 Amazon 擁有的商標均為其各自擁有者的財產,這些擁有者可能隸屬於 Amazon,或與 Amazon 有合作關係,亦或受到 Amazon 贊助。

AWS ParallelCluster AWS ParallelCluster 使用者指南

Table of ContentsAWS ParallelCluster 是什麼 ................................................................................................................. 1AWS ParallelCluster第 3 版 .................................................................................................................. 2

設定 AWS ParallelCluster ............................................................................................................ 2安裝 AWS ParallelCluster .................................................................................................... 2安裝後要採取的步驟 ............................................................................................................ 4多用户訪問羣集 .................................................................................................................. 5設定 AWS ParallelCluster ................................................................................................... 11最佳實務 .......................................................................................................................... 16從移動AWS ParallelCluster2.x 至 3.x ................................................................................... 17支援的區域AWS ParallelCluster第 3 版 ................................................................................. 24

使用 AWS ParallelCluster ........................................................................................................... 25AWS Identity and Access Management角色AWS ParallelCluster3.x .......................................... 25網路組態 .......................................................................................................................... 47自訂引導操作 .................................................................................................................... 55AWS ParallelCluster 支援的排程器 ....................................................................................... 57標記 ................................................................................................................................ 70亞馬遜CloudWatch儀表板 ................................................................................................... 71與 Amazon 的整合CloudWatch日誌 ..................................................................................... 72Elastic Fabric Adapter ....................................................................................................... 73AWS ParallelCluster API .................................................................................................... 73通過 NICE DCV Connect 到頭節點 ...................................................................................... 79使用 pcluster update-cluster .................................................................................... 79

適用於 的 參考AWS ParallelCluster ............................................................................................. 82AWS ParallelCluster第 3 版 CLI 命令 ................................................................................... 82組態檔案 ........................................................................................................................ 101

AWS ParallelCluster 的運作方式 ................................................................................................ 144AWS ParallelCluster流程 .................................................................................................. 144

教學課程 ................................................................................................................................ 145在 AWS ParallelCluster 上執行您的第一個任務 ..................................................................... 145建置自訂 AWS ParallelCluster AMI .................................................................................... 147通過 LDAP 整合 Active Directory ....................................................................................... 151配置共享存儲加密使用AWS KMS鍵 .................................................................................... 164

AWS ParallelCluster 故障診斷 ................................................................................................... 166檢索和保留日誌 ............................................................................................................... 167排解叢集部署問題 ............................................................................................................ 167排解擴展問題 .................................................................................................................. 171置放羣組和實例啟動問題 ................................................................................................... 174無法取代的目錄 ............................................................................................................... 175NICE DCV 中的問題疑難解答 ............................................................................................ 175針對使用AWS Batch整合 .................................................................................................. 175疑難解答與活動目錄的多用户集成 ...................................................................................... 175其他支援 ........................................................................................................................ 181

AWS ParallelCluster 第 2 版 ............................................................................................................. 182設定 AWS ParallelCluster ......................................................................................................... 182

安裝 AWS ParallelCluster ................................................................................................. 182設定 AWS ParallelCluster ................................................................................................. 191最佳實務 ........................................................................................................................ 195從 CfnCluster 移轉到 AWS ParallelCluster .......................................................................... 196支援的區域 ..................................................................................................................... 197

使用 AWS ParallelCluster ......................................................................................................... 198網路組態 ........................................................................................................................ 198自訂引導操作 .................................................................................................................. 202使用 Amazon S3 ............................................................................................................. 204使用 競價型執行個體 ........................................................................................................ 204

iii

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS Identity and Access Management角色AWS ParallelCluster ............................................. 206AWS ParallelCluster 支援的排程器 ..................................................................................... 234多隊列模式 ..................................................................................................................... 245標記 .............................................................................................................................. 246亞馬遜CloudWatch儀表板 ................................................................................................. 248與卓越亞馬遜整合CloudWatch日誌 ..................................................................................... 248Elastic Fabric Adapter ...................................................................................................... 250Intel Select 解決方案 ....................................................................................................... 250啟用 Intel MPI ................................................................................................................. 251Intel HPC 平台規格 ......................................................................................................... 252Arm 性能庫 .................................................................................................................... 252通過 NICE DCV Connect 到頭節點 .................................................................................... 253使用 pcluster update ................................................................................................. 254

AWS ParallelCluster CLI 命令 ................................................................................................... 256pcluster ...................................................................................................................... 256pcluster-config ......................................................................................................... 268

組態 ...................................................................................................................................... 202配置 .............................................................................................................................. 269[global] 區段 .............................................................................................................. 270[aws] 區段 .................................................................................................................... 271[aliases] 區段 ............................................................................................................. 271[cluster] 區段 ............................................................................................................. 271[compute_resource] 區段 ............................................................................................ 290[cw_log] 區段 .............................................................................................................. 292[dashboard] 區段 ......................................................................................................... 292[dcv] 區段 .................................................................................................................... 293[ebs] 區段 .................................................................................................................... 294[efs] 區段 .................................................................................................................... 298[fsx] 區段 .................................................................................................................... 301[queue] 區段 ................................................................................................................ 309[raid] 區段 .................................................................................................................. 311[scaling] 區段 ............................................................................................................. 315[vpc] 區段 .................................................................................................................... 316範例 .............................................................................................................................. 204

AWS ParallelCluster 的運作方式 ................................................................................................ 320AWS ParallelCluster流程 .................................................................................................. 320AWS使用的服務AWS ParallelCluster .................................................................................. 325AWS ParallelCluster Auto Scaling ...................................................................................... 329

教學課程 ................................................................................................................................ 330在 AWS ParallelCluster 上執行您的第一個任務 ..................................................................... 331建置自訂 AWS ParallelCluster AMI .................................................................................... 333使用執行 MPI 任務AWS ParallelCluster和awsbatch排程器 .................................................... 335使用自定義 KMS 密鑰進行磁盤加密 .................................................................................... 340多隊列模式教程 ............................................................................................................... 341

開發 ...................................................................................................................................... 349設定自訂AWS ParallelCluster食譜 ...................................................................................... 349設定自訂AWS ParallelCluster節點套件 ................................................................................ 350

疑難排解 ................................................................................................................................ 351檢索和保留日誌 ............................................................................................................... 351疑難排解堆疊問題 ............................................................................................................ 351排除多個隊列模式羣集中的問題 ......................................................................................... 352排除單隊列模式羣集中的問題 ............................................................................................. 355置放羣組和實例啟動問題 ................................................................................................... 356無法取代的目錄 ............................................................................................................... 357NICE DCV 中的問題疑難解答 ............................................................................................ 357針對AWS Batch整合 ........................................................................................................ 357資源創建失敗時的故障排除 ................................................................................................ 358

iv

AWS ParallelCluster AWS ParallelCluster 使用者指南

其他支援 ........................................................................................................................ 359AWS ParallelCluster支援政策 ............................................................................................................ 360安全性 ........................................................................................................................................... 361

使用的服務的安全信息AWS ParallelCluster .................................................................................. 361資料保護 ................................................................................................................................ 362

資料加密 ........................................................................................................................ 362另請參閱 ........................................................................................................................ 363

Identity and Access Management .............................................................................................. 363合規驗證 ................................................................................................................................ 363強制執行 TLS 1.2 .................................................................................................................... 364

判定目前支援的通訊協定 ................................................................................................... 364編譯 OpenSSL 和 Python ................................................................................................. 365

文件歷史記錄 .................................................................................................................................. 367................................................................................................................................................ cccxciv

v

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster 是什麼AWS ParallelCluster是一個AWS支援的開放原始碼叢集管理工具,可協助在AWS 雲端。建立在開源CfnCluster 項目的基礎上,AWS ParallelCluster可讓您快速建立 HPC 運算環境AWS。它會自動設定所需的運算資源和共用檔案系統。您可以使用AWS ParallelCluster使用批處理調度程序,例如AWS Batch和Slurm。AWS ParallelCluster有助於快速啟動概念驗證部署和生產部署。您也可以在 AWS ParallelCluster 上建立更高層級的工作流程,例如自動化整個 DNA 排列工作流程的 Genomics 入口網站。

1

AWS ParallelCluster AWS ParallelCluster 使用者指南設定 AWS ParallelCluster

AWS ParallelCluster第 3 版從開始AWS ParallelCluster版本 3.1.1,您可以將羣集配置為使用活動目錄 (AD) 域。此 AD 域由其中一個AWS Directory Service產品。您可以將此配置設置為在多個用户之間共享集羣,從而簡化協作,同時降低成本和管理開銷。如需詳細資訊,請參閱 多用户訪問羣集 (p. 5)。

主題• 設定 AWS ParallelCluster (p. 2)• 使用 AWS ParallelCluster (p. 25)• 適用於 的 參考AWS ParallelCluster (p. 82)• AWS ParallelCluster 的運作方式 (p. 144)• 教學課程 (p. 145)• AWS ParallelCluster 故障診斷 (p. 166)

設定 AWS ParallelCluster主題

• 安裝 AWS ParallelCluster (p. 2)• 安裝後要採取的步驟 (p. 4)• 多用户訪問羣集 (p. 5)• 設定 AWS ParallelCluster (p. 11)• 最佳實務 (p. 16)• 從移動AWS ParallelCluster2.x 至 3.x (p. 17)• 支援的區域AWS ParallelCluster第 3 版 (p. 24)

安裝 AWS ParallelClusterAWS ParallelCluster是以 Python 套件形式散佈,並使用pip封裝管理員。如需如何安裝 Python 套件的詳細資訊,請參安裝套件中的Python 封裝用户指南。

AWS ParallelCluster 安裝方法:

• 安裝AWS ParallelCluster在虛擬環境中 (建議) (p. 3)• 安裝AWS ParallelCluster在非虛擬環境中使用 pip (p. 4)

您可以在發佈頁面GitHub。在這個指南中,命令範例假設您已安裝的 Python 版本早於 3.6 版本。pip 命令範例使用的是 pip3 版本。

兩者皆是AWS ParallelCluster2 和AWS ParallelCluster3

對於同時使用AWS ParallelCluster2 和AWS ParallelCluster3,並希望管理這兩個軟件包的 CLI,我們建議您安裝AWS ParallelCluster2 和AWS ParallelCluster3 在不同虛擬環境 (p. 3)。這可確保您可以繼續使用每個版本的AWS ParallelCluster和任何關聯的羣集資源。

2

AWS ParallelCluster AWS ParallelCluster 使用者指南安裝 AWS ParallelCluster

安裝AWS ParallelCluster在虛擬環境中 (建議)建議您安裝AWS ParallelCluster,以避免所需版本與其他pip封裝。

先決條件

• AWS ParallelCluster需要 Python 3.6 或更新版本。如果您尚未安裝它,請下載兼容版本適用於您的平台蟒蛇。

在虛擬環境中安裝 AWS ParallelCluster

1. 如果virtualenv未安裝,請安裝virtualenv運用pip3。如果 python3 -m virtualenv help 顯示說明資訊,請前往步驟 2。

$ python3 -m pip install --upgrade pip$ python3 -m pip install --user --upgrade virtualenv

執行 exit 以離開目前的終端機視窗,並且開啟一個新的終端機視窗來套用環境的變更。2. 建立虛擬環境並為其命名。

$ python3 -m virtualenv ~/apc-ve

或者,您可以使用該 -p 選項以指定特定版本的 Python。

$ python3 -m virtualenv -p $(which python3) ~/apc-ve

3. 啟用新的虛擬環境。

$ source ~/apc-ve/bin/activate

4. 將 AWS ParallelCluster 安裝到虛擬環境。

(apc-ve)~$ python3 -m pip install --upgrade "aws-parallelcluster"

5. 安裝節點版本管理器和 Node.js。它是必需的,因為AWS Cloud Development Kit (CDK)用於生成模板。

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash$ chmod ug+x ~/.nvm/nvm.sh$ source ~/.nvm/nvm.sh$ nvm install --lts$ node --version

6. 確認已正確安裝 AWS ParallelCluster。

$ pcluster version{ "version": "3.1.2"}

您可以使用 deactivate 命令來離開虛擬環境。每次您啟動一個會話時,都必須重新激活環境 (p. 3)。

若要升級到最新版本的 AWS ParallelCluster,請再次執行安裝命令。

(apc-ve)~$ python3 -m pip install --upgrade "aws-parallelcluster"

3

AWS ParallelCluster AWS ParallelCluster 使用者指南安裝後要採取的步驟

安裝AWS ParallelCluster在非虛擬環境中使用 pip先決條件

• AWS ParallelCluster需要 Python 3.6 或更新版本。如果您尚未安裝它,請下載兼容版本適用於您的平台蟒蛇。

安裝 AWS ParallelCluster

1. 使用 pip 來安裝 AWS ParallelCluster。

$ python3 -m pip install "aws-parallelcluster" --upgrade --user

當您使用 --user 參數時,pip 會將 AWS ParallelCluster 安裝至 ~/.local/bin。2. 安裝節點版本管理器和 Node.js。它是必需的,因為AWS Cloud Development Kit (CDK)用於生成模板。

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash$ chmod ug+x ~/.nvm/nvm.sh$ source ~/.nvm/nvm.sh$ nvm install --lts$ node --version

3. 確認已正確安裝 AWS ParallelCluster。

$ pcluster version{ "version": "3.1.2"}

4. 更新到最新版本的&CLI,再次執行安裝命令。

$ python3 -m pip install "aws-parallelcluster" --upgrade --user

安裝後要採取的步驟您可以執行 pcluster version (p. 100) 來確認已正確安裝 AWS ParallelCluster。

$ pcluster version{"version": "3.1.2"}

AWS ParallelCluster 會定期更新。若要升級到最新版本的 AWS ParallelCluster,請再次執行安裝命令。如需最新版本的AWS ParallelCluster,請參 AWS ParallelCluster版本備註。

$ pip3 install aws-parallelcluster --upgrade --user

若要解除安裝 AWS ParallelCluster,請使用 pip3 uninstall。

$ pip3 uninstall aws-parallelcluster

如果您沒有 Python 和 pip3,請使用適用於您環境的程序。

4

AWS ParallelCluster AWS ParallelCluster 使用者指南多用户訪問羣集

多用户訪問羣集瞭解如何實施和管理多個用户對單個羣集的訪問。

在本主題中,AWS ParallelCluster用户指的是計算實例的系統用户。例如,ec2-user對於AWSEC2 執行個體。

AWS ParallelCluster所有AWS 區域哪裡AWS ParallelCluster當前可用。它適用於其他AWS服務,包括Amazon FSx for Lustre和Amazon Elastic File System。

您可以使用AWS Directory Service for Microsoft Active Directory或者簡易 AD來管理羣集訪問。要設置集羣,請指定AWS ParallelCluster DirectoryService (p. 137)組態。AWS Directory Service目錄可以連接到多個羣集。這允許跨多個環境集中管理身份,並提供統一的登錄體驗。

當您使用AWS Directory Service為了AWS ParallelCluster多個訪問權限,您可以使用已在目錄中定義的用户憑據登錄羣集。這些憑據由用户名稱和密碼組成。首次登錄羣集後,系統會自動生成用户 SSH 密鑰。您可以在沒有密碼的情況下使用它登錄。

您可以在部署目錄服務後創建、刪除和修改羣集的用户或組。搭配AWS Directory Service,您可以在AWSManagement Console或通過使用Active Directory 使用者和電腦工具。可從加入到活動目錄的任何 EC2 實例訪問此工具。如需詳細資訊,請參閱「」安裝 Active Directory 管理工具。

如果您計劃使用AWS ParallelCluster在沒有互聯網訪問的單個子網中,請參閲AWS ParallelCluster位於無網路存取的單一子網路 (p. 52)如需其他需求.

主題• 創建 Active Directory (p. 5)• 創建具有 AD 域的集羣 (p. 5)• 登錄到與 AD 域集成的羣集 (p. 7)• 執行 MPI 任務 (p. 8)• 範例AWS Managed Microsoft AD通過 LDAP (S) 羣集配置 (p. 8)

創建 Active Directory請確保在創建羣集之前創建活動目錄 (AD)。如需如何選擇羣集 Active Directory 類型的詳細資訊,請參哪種選擇中的AWS Directory Service管理指南。

如果目錄為空,則添加具有用户名和密碼的用户。如需詳細資訊,請參AWS Directory Service for MicrosoftActive Directory或者簡易 AD。

Note

AWS ParallelCluster要求每個活動目錄用户目錄位於/home/$user目錄。

創建具有 AD 域的集羣Warning

本介紹區段將詳細介紹如何設定AWS ParallelCluster與託管 AD 服務器通過 LDAP。LDAP 是一種不安全的協議。對於生產系統,我們強烈建議使用 TLS 證書 (LDAPS),如範例AWS ManagedMicrosoft AD通過 LDAP (S) 羣集配置 (p. 8)部分。

配置集羣以與目錄集成,方法是在DirectoryService區段中的詳細資訊。如需詳細資訊,請參閲 。DirectoryService (p. 137)組態區段。

5

AWS ParallelCluster AWS ParallelCluster 使用者指南多用户訪問羣集

您可以使用以下示例將您的集羣與AWS Managed Microsoft AD透過 LDAP。

需要的特定定義AWS Managed Microsoft AD通過 LDAP 配置:

• 您必須將ldap_auth_disable_tls_never_use_in_production參數設定為True下AdditionalSssdConfigs。

• 您可以指定控制器主機名或 IP 地址DomainAddr。• DomainReadOnlyUser語法必須如下:

cn=ReadOnly,ou=Users,ou=CORP,dc=corp,dc=pcluster,dc=com

取得您的AWS Managed Microsoft AD組態資料:

$ aws ds describe-directories --directory-id "d-abcdef01234567890"

{ "DirectoryDescriptions": [ { "DirectoryId": "d-abcdef01234567890", "Name": "corp.pcluster.com", "DnsIpAddrs": [ "203.0.113.225", "192.0.2.254" ], "VpcSettings": { "VpcId": "vpc-021345abcdef6789", "SubnetIds": [ "subnet-1234567890abcdef0", "subnet-abcdef01234567890" ], "AvailabilityZones": [ "region-idb", "region-idd" ] } } ]}

的羣集配置AWS Managed Microsoft AD:

Region: region-idImage: Os: alinux2HeadNode: InstanceType: t2.micro Networking: SubnetId: subnet-1234567890abcdef0 Ssh: KeyName: pclusterScheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ComputeResources: - Name: t2micro InstanceType: t2.micro MinCount: 1 MaxCount: 10

6

AWS ParallelCluster AWS ParallelCluster 使用者指南多用户訪問羣集

Networking: SubnetIds: - subnet-abcdef01234567890DirectoryService: DomainName: dc=corp,dc=pcluster,dc=com DomainAddr: ldap://203.0.113.225,ldap://192.0.2.254 PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:MicrosoftAD.Admin.Password-1234 DomainReadOnlyUser: cn=ReadOnly,ou=Users,ou=CORP,dc=corp,dc=pcluster,dc=com AdditionalSssdConfigs: ldap_auth_disable_tls_never_use_in_production: True

要將此配置用於 Simple AD,請將DomainReadOnlyUser屬性值DirectoryService區段:

DirectoryService: DomainName: dc=corp,dc=pcluster,dc=com DomainAddr: ldap://203.0.113.225,ldap://192.0.2.254 PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:SimpleAD.Admin.Password-1234 DomainReadOnlyUser: cn=ReadOnlyUser,cn=Users,dc=corp,dc=pcluster,dc=com AdditionalSssdConfigs: ldap_auth_disable_tls_never_use_in_production: True

考量事項:

• 我們建議您通過 TLS/SSL(或 LDAPS)使用 LDAP 而不是單獨使用 LDAP。TLS/SSL 可確保連接被加密。

• 所以此DomainAddr屬性值與DnsIpAddrs列表中describe-directories輸出。• 我們建議您的羣集使用位於DomainAddr點為。如果您使用自定義動態主機組態通訊協定 (DHCP)這是建

議用於目錄 VPC 和子網的不是位於DomainAddr可用區域,可在可用區間交叉流量。自定義 DHCP 配置的使用不是需要使用多用户 AD 集成功能。

• 所以此DomainReadOnlyUser屬性值指定必須在目錄中創建的用户。此用户不是默認創建。建議您不要授予此用户修改目錄數據的權限。

• 所以此PasswordSecretArn屬性值指向AWS Secrets Manager密碼,其中包含您為DomainReadOnlyUser屬性。如果此用户的密碼發生更改,請更新密鑰值並更新集羣實例上的配置。在更新實例之前,請確保停止集羣的計算隊列。或者,您可以在任何活動羣集節點上運行以下命令,首先從頭節點開始。

sudo cinc-client \ --local-mode \ --config /etc/chef/client.rb \ --log_level auto \ --force-formatter \ --no-color \ --chef-zero-port 8889 \ --json-attributes /etc/chef/dna.json \ --override-runlist aws-parallelcluster-config::directory_service

如需其他範例,請參通過 LDAP 整合 Active Directory (p. 151)。

登錄到與 AD 域集成的羣集如果啟用 AD 域集成功能,則會在羣集頭節點上啟用密碼身份驗證。AD 用户的主目錄是在用户第一次登錄到頭節點或首次用户切換到頭節點上的 AD 用户時創建的。

未為羣集計算節點啟用密碼身份驗證。AD 用户必須使用 SSH 密鑰登錄到計算節點。

7

AWS ParallelCluster AWS ParallelCluster 使用者指南多用户訪問羣集

默認情況下,SSH 密鑰在 AD 用户中設置/${HOME}/.ssh目錄在首個 SSH 登錄到頭節點。此行為可以通過設置GenerateSshKeysForUsers布林值屬性設定為false在羣集配置中。GenerateSshKeysForUsers 預設會設定為 true。

如果AWS ParallelCluster應用程序需要羣集節點之間的無密碼 SSH,請確保 SSH 密鑰已在用户的主目錄中正確設置。

Note

如果 AD 集成功能無法按預期工作,SSSD 日誌可以提供有用的診斷信息來解決問題。這些日誌位於/var/log/sssd目錄。默認情況下,它們也存儲在集羣的 AmazonCloudWatch日誌中)。如需詳細資訊,請參閱 疑難解答與活動目錄的多用户集成 (p. 175)。

執行 MPI 任務正如 SchedMD 中所建議的那樣,應該使用 Slurm 作為 MPI 引導方法來引導 MPI 作業。如需詳細資訊,請參官方泥漿資料或 MPI 庫的官方文檔。

例如,在英特爾 MPI 官方文檔,您可以瞭解到,在運行 StarCCM 作業時,必須通過導出環境變量將 Slurm設置為流程編排器I_MPI_HYDRA_BOOTSTRAP=slurm。

Note

已知問題如果您的 MPI 應用程序依賴 SSH 作為產生 MPI 作業的機制,則可能會在泥漿中已知的錯誤,導致目錄用户名錯誤解析為「無人」。可以將應用程序配置為使用 Slurm 作為 MPI 引導方法,或者參考用户名解析的已知問題 (p. 180),瞭解更多詳細信息和可能的解決方法。

範例AWS Managed Microsoft AD通過 LDAP (S) 羣集配置AWS ParallelCluster支持多個用户訪問,方法是與AWS Directory Service透過 TLS/CLS/SSL 的 LDAP。

以下範例顯示如何創建集成到AWS Managed Microsoft AD通過 LDAP(S)。

AWS Managed Microsoft AD通過證書驗證

您可以使用此示例將您的集羣與AWS Managed Microsoft AD,並使用證書驗證。

特定定義AWS Managed Microsoft AD通過證書配置的 LDAPS:

• LdapTlsReqCert必須設定為hard(默認值)進行證書驗證的 LDAPS。• LdapTlsCaCert必須指定頒發機構證書 (CA) 證書的路徑。

CA 證書是一個證書捆綁包,其中包含為 AD 域控制器頒發證書的整個 CA 鏈的證書。

您的 CA 證書和證書必須安裝在羣集節點上。• 必須指定控制器主機名DomainAddr,而不是 IP 地址。• DomainReadOnlyUser語法必須如下:

cn=ReadOnly,ou=Users,ou=CORP,dc=corp,dc=pcluster,dc=com

通過 LDAPS 使用 AD 的集羣配置文件示例:

Region: region-id

8

AWS ParallelCluster AWS ParallelCluster 使用者指南多用户訪問羣集

Image: Os: alinux2HeadNode: InstanceType: t2.micro Networking: SubnetId: subnet-1234567890abcdef0 Ssh: KeyName: pcluster Iam: AdditionalIamPolicies: - Policy: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess CustomActions: OnNodeConfigured: Script: s3://aws-parallelcluster/scripts/pcluster-dub-msad-ldaps.post.shScheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ComputeResources: - Name: t2micro InstanceType: t2.micro MinCount: 1 MaxCount: 10 Networking: SubnetIds: - subnet-abcdef01234567890 Iam: AdditionalIamPolicies: - Policy: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess CustomActions: OnNodeConfigured: Script: s3://aws-parallelcluster-pcluster/scripts/pcluster-dub-msad-ldaps.post.shDirectoryService: DomainName: dc=corp,dc=pcluster,dc=com DomainAddr: ldaps://win-abcdef01234567890.corp.pcluster.com,ldaps://win-abcdef01234567890.corp.pcluster.com PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:MicrosoftAD.Admin.Password-1234 DomainReadOnlyUser: cn=ReadOnly,ou=Users,ou=CORP,dc=corp,dc=pcluster,dc=com LdapTlsCaCert: /etc/openldap/cacerts/corp.pcluster.com.bundleca.cer LdapTlsReqCert: hard

在安裝後腳本中添加證書並配置域控制器:

*#!/bin/bash*set -e

AD_CERTIFICATE_S3_URI="s3://corp.pcluster.com/bundle/corp.pcluster.com.bundleca.cer"AD_CERTIFICATE_LOCAL="/etc/openldap/cacerts/corp.pcluster.com.bundleca.cer"

AD_HOSTNAME_1="win-abcdef01234567890.corp.pcluster.com"AD_IP_1="192.0.2.254"

AD_HOSTNAME_2="win-abcdef01234567890.corp.pcluster.com"AD_IP_2="203.0.113.225"

# Download CA certificatemkdir -p $(dirname "${AD_CERTIFICATE_LOCAL}")aws s3 cp "${AD_CERTIFICATE_S3_URI}" "${AD_CERTIFICATE_LOCAL}"chmod 644 "${AD_CERTIFICATE_LOCAL}"

# Configure domain controllers reachabilityecho "${AD_IP_1} ${AD_HOSTNAME_1}" >> /etc/hostsecho "${AD_IP_2} ${AD_HOSTNAME_2}" >> /etc/hosts

9

AWS ParallelCluster AWS ParallelCluster 使用者指南多用户訪問羣集

您可以從加入到域的實例中檢索域控制器主機名,如以下示例所示。

從 Windows 執行個體

$ nslookup 192.0.2.254

Server: corp.pcluster.comAddress: 192.0.2.254

Name: win-abcdef01234567890.corp.pcluster.comAddress: 192.0.2.254

從 Linux 執行個體

$ nslookup 192.0.2.254

192.0.2.254.in-addr.arpa name = corp.pcluster.com192.0.2.254.in-addr.arpa name = win-abcdef01234567890.corp.pcluster.com

AWS Managed Microsoft AD無證書驗證

您可以使用此示例將您的集羣與AWS Managed Microsoft AD,無需證書驗證。

特定定義AWS Managed Microsoft AD,而不需要證書驗證配置:

• LdapTlsReqCert 必須設定為 never。• 控制器主機名或 IP 地址可以指定為DomainAddr。• DomainReadOnlyUser語法必須如下:

cn=ReadOnly,ou=Users,ou=CORP,dc=corp,dc=pcluster,dc=com

用於使用的集羣配置文件示例AWS Managed Microsoft AD而無需證書驗證:

Region: region-idImage: Os: alinux2HeadNode: InstanceType: t2.micro Networking: SubnetId: subnet-1234567890abcdef0 Ssh: KeyName: pclusterScheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ComputeResources: - Name: t2micro InstanceType: t2.micro MinCount: 1 MaxCount: 10 Networking: SubnetIds: - subnet-abcdef01234567890DirectoryService: DomainName: dc=corp,dc=pcluster,dc=com

10

AWS ParallelCluster AWS ParallelCluster 使用者指南設定 AWS ParallelCluster

DomainAddr: ldaps://203.0.113.225,ldaps://192.0.2.254 PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:MicrosoftAD.Admin.Password-1234 DomainReadOnlyUser: cn=ReadOnly,ou=Users,ou=CORP,dc=corp,dc=pcluster,dc=com LdapTlsReqCert: never

設定 AWS ParallelCluster在安裝 AWS ParallelCluster 之後,請完成以下設定步驟。

首先,設定AWS登入資料。如需詳細資訊,請參閱「」設定AWS CLI中的AWS CLI使用者指南。

$ aws configureAWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLEAWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault region name [us-east-1]: us-east-1Default output format [None]:

所以此AWS 區域必須至少有一個 Amazon EC2 金 key pair。如需詳細資訊,請參閱《Amazon EC2 Linux 執行個體使用者指南》中的 Amazon EC2 金鑰對。

$ pcluster configure --config cluster-config.yaml

配置嚮導會提示您輸入建立叢集所需的所有資訊。使用時,序列的詳細資訊會有所不同AWS Batch作為調度程序,而不是使用Slurm。

Slum

從有效列表AWS 區域標識符中,選擇希望運行叢集的區域。

Note

顯示的區域列表基於您賬户的分區,僅包括為您的賬户啟用的區域。如需啟用區域的詳細資訊,請參管理AWS 區域中的AWS一般參考。顯示的示例來自AWS全局分區。如果您的帳户在AWS GovCloud (US)分區,則僅列出該分區中的區域(gov-us-east-1和gov-us-west-1。同樣,如果您的帳户位於AWS中國分區,只cn-north-1和cn-northwest-1。如需支援的區域完整清單,請參AWS ParallelCluster,請參支援的區域AWS ParallelCluster第 3版 (p. 24)。

Allowed values for AWS Region ID:1. af-south-12. ap-east-13. ap-northeast-14. ap-northeast-25. ap-south-16. ap-southeast-17. ap-southeast-28. ca-central-19. eu-central-110. eu-north-111. eu-south-112. eu-west-113. eu-west-214. eu-west-315. me-south-116. sa-east-117. us-east-118. us-east-219. us-west-1

11

AWS ParallelCluster AWS ParallelCluster 使用者指南設定 AWS ParallelCluster

20. us-west-2AWS ## ID [ap-northeast-1]:

會從在選取的區域中向 Amazon EC2 註冊的金鑰 key pair 中選取金鑰對。選擇 key pair:

Allowed values for EC2 Key Pair Name:1. your-key-12. your-key-2EC2 Key Pair Name [your-key-1]:

選擇要與叢集搭配使用的排程器。

Allowed values for Scheduler:1. slurm2. awsbatchScheduler [slurm]:

選擇作業系統。

Allowed values for Operating System:1. alinux22. centos73. ubuntu18044. ubuntu2004Operating System [alinux2]:

選擇頭節點實例類型:

Head node instance type [t2.micro]:

選擇隊列配置。請注意:無法為同一隊列中的多個計算資源指定實例類型。

Number of queues [1]:Name of queue 1 [queue1]:Number of compute resources for queue1 [1]: 2Compute instance type for compute resource 1 in queue1 [t2.micro]:Maximum instance count [10]:Compute instance type for compute resource 2 in queue1 [t2.micro]: t3.microMaximum instance count [10]:

完成上述步驟之後,決定是否要使用現有的 VPC,還是讓 AWS ParallelCluster 為您建立 VPC。如果您沒有適當設定的 VPC,AWS ParallelCluster 可以建立一個新的 VPC。它會使用相同公用子網路中的頭節點和運算節點,或只使用公用子網路中的頭節點,或只使用公用子網路中的頭節點,還有私人子網路中的所有節點。您可能達到區域中所允許的 VPC 數量配額。一個地區的默認配額是五個 VPC。如需此配額以及如何申請提高配額的詳細資訊,請參。VPC 和子網路中的Amazon VPC User Guide。

如果您允許AWS ParallelCluster會建立 VPC,您必須決定所有節點是否都應該位於公用子網路中。

Important

創建的 VPCAWS ParallelCluster默認情況下不啟用 VPC 流日誌。VPC 流程日誌可讓您捕獲傳入和傳出您 VPC 中網路界面之 IP 流量相關資訊。如需詳細資訊,請參閱《Amazon VPC 使用者指南》https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html中的 VPC 流程日誌。

Automate VPC creation? (y/n) [n]: y

12

AWS ParallelCluster AWS ParallelCluster 使用者指南設定 AWS ParallelCluster

Allowed values for Availability Zone:1. us-east-1a2. us-east-1b3. us-east-1c4. us-east-1d5. us-east-1e6. us-east-1fAvailability Zone [us-east-1a]:Allowed values for Network Configuration:1. Head node in a public subnet and compute fleet in a private subnet2. Head node and compute fleet in the same public subnetNetwork Configuration [Head node in a public subnet and compute fleet in a private subnet]: 1Beginning VPC creation. Please do not leave the terminal until the creation is finalized

如果您沒有建立新的 VPC,您必須選取現有的 VPC。

如果您選擇使用AWS ParallelCluster創建 VPC,記下 VPC ID,以方便您可以使用AWS CLI以稍後將其刪除。

Automate VPC creation? (y/n) [n]: nAllowed values for VPC ID: # id name number_of_subnets--- --------------------- --------------------------------- ------------------- 1 vpc-0b4ad9c4678d3c7ad ParallelClusterVPC-20200118031893 2 2 vpc-0e87c753286f37eef ParallelClusterVPC-20191118233938 5VPC ID [vpc-0b4ad9c4678d3c7ad]: 1

選取 VPC 之後,決定是否要使用現有的子網路或是建立新的子網路。

Automate Subnet creation? (y/n) [y]: y

Creating CloudFormation stack...Do not leave the terminal until the process has finished

AWS Batch

從有效列表AWS 區域標識符中,選擇希望運行叢集的區域。

Note

顯示的區域列表基於您的賬户的分區。它僅包括針對您帳户啟用的區域。如需啟用區域的詳細資訊,請參管理AWS 區域中的AWS一般參考。顯示的示例來自AWS全局分區。如果您的帳户在AWS GovCloud (US)分區,則僅列出該分區中的區域(gov-us-east-1和gov-us-west-1。同樣,如果您的帳户位於AWS中國分區,只cn-north-1和cn-northwest-1。如需支援的區域完整清單,請參AWS ParallelCluster,請參支援的區域AWS ParallelCluster第 3版 (p. 24)。

Allowed values for AWS Region ID:1. af-south-12. ap-east-13. ap-northeast-14. ap-northeast-25. ap-south-16. ap-southeast-17. ap-southeast-28. ca-central-19. eu-central-1

13

AWS ParallelCluster AWS ParallelCluster 使用者指南設定 AWS ParallelCluster

10. eu-north-111. eu-south-112. eu-west-113. eu-west-214. eu-west-315. me-south-116. sa-east-117. us-east-118. us-east-219. us-west-120. us-west-2AWS Region ID [us-east-1]:

會從在選取的區域中向 Amazon EC2 註冊的金鑰 key pair 中選取金鑰對。選擇 key pair:

Allowed values for EC2 Key Pair Name:1. your-key-12. your-key-2EC2 Key Pair Name [your-key-1]:

選擇要與叢集搭配使用的排程器。

Allowed values for Scheduler:1. slurm2. awsbatchScheduler [slurm]: 2

當選取 awsbatch 做為排程器時,alinux2 會用作為作業系統。將輸入頭部節點執行個體類型:

Head node instance type [t2.micro]:

選擇隊列配置。所以此AWS Batch調度程序僅包含單一個隊列。輸入計算節點叢集的最大大小。這是以vCPU 為單位測量而得。

Number of queues [1]:Name of queue 1 [queue1]:Maximum vCPU [10]:

決定是否要使用現有的 VPC 或是讓 AWS ParallelCluster 為您建立 VPC。如果您沒有適當設定的VPC,AWS ParallelCluster 可以建立一個新的 VPC。它會使用相同公用子網路中的頭節點和運算節點,或只使用公用子網路中的頭節點,或只使用公用子網路中的頭節點,還有私人子網路中的所有節點。您可能達到區域中所允許的 VPC 數量配額。VPC 的預設數目為五。如需此配額以及如何申請提高配額的詳細資訊,請參。VPC 和子網路中的Amazon VPC User Guide。

Important

創建的 VPCAWS ParallelCluster默認情況下不啟用 VPC 流日誌。VPC 流程日誌可讓您捕獲傳入和傳出您 VPC 中網路界面之 IP 流量相關資訊。如需詳細資訊,請參閱《Amazon VPC 使用者指南》https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html中的 VPC 流程日誌。

如果您允許AWS ParallelCluster建立 VPC,請確保您決定所有節點是否都位於公用子網路中。

Automate VPC creation? (y/n) [n]: yAllowed values for Availability Zone:1. us-east-1a2. us-east-1b

14

AWS ParallelCluster AWS ParallelCluster 使用者指南設定 AWS ParallelCluster

3. us-east-1c4. us-east-1d5. us-east-1e6. us-east-1fAvailability Zone [us-east-1a]:Allowed values for Network Configuration:1. Head node in a public subnet and compute fleet in a private subnet2. Head node and compute fleet in the same public subnetNetwork Configuration [Head node in a public subnet and compute fleet in a private subnet]: *1*Beginning VPC creation. Please do not leave the terminal until the creation is finalized

如果您沒有建立新的 VPC,您必須選取現有的 VPC。

如果您選擇使用AWS ParallelCluster創建 VPC,記下 VPC ID,以方便您可以使用AWS CLI或者AWSManagement Console以稍後將其刪除。

Automate VPC creation? (y/n) [n]: nAllowed values for VPC ID: # id name number_of_subnets--- --------------------- --------------------------------- ------------------- 1 vpc-0b4ad9c4678d3c7ad ParallelClusterVPC-20200118031893 2 2 vpc-0e87c753286f37eef ParallelClusterVPC-20191118233938 5VPC ID [vpc-0b4ad9c4678d3c7ad]: 1

選取 VPC 之後,請確保您決定是否要使用現有的子網路或是建立新的子網路。

Automate Subnet creation? (y/n) [y]: y

Creating CloudFormation stack...Do not leave the terminal until the process has finished

在您完成了上述步驟之後,簡單的叢集會啟動至 VPC。VPC 使用支持公有 IP 地址的現有子網。子網路的路由表為0.0.0.0/0 => igw-xxxxxx。請注意下列條件:

• VPC 必須具有 DNS Resolution = yes 和 DNS Hostnames = yes。• VPC 也必須具有 DHCP 選項和domain-name為該區域提供服務。預設 DHCP 選項集已指定必要

AmazonProvidedDNS。如果指定超過一個網域名稱伺服器,請參DHCP 選項集中的Amazon VPC UserGuide。在使用私人子網路時,請使用 NAT 關或內部代理來啟用運算節點的 Web 存取。如需詳細資訊,請參閱 網路組態 (p. 47)。

當所有設定都包含有效值時,您可以執行建立命令來啟動叢集。

$ pcluster create-cluster --cluster-name test-cluster --cluster-configuration cluster-config.yaml{ "cluster": { "clusterName": "test-cluster", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:xxx:stack/test-cluster/abcdef0-f678-890a-5abc-021345abcdef", "region": "eu-west-1", "version": "3.1.2", "clusterStatus": "CREATE_IN_PROGRESS" }, "validationMessages": []

15

AWS ParallelCluster AWS ParallelCluster 使用者指南最佳實務

}

跟蹤羣集進度:

$ pcluster describe-cluster --cluster-name test-cluster

$ pcluster list-clusters --query 'items[?clusterName==`test-cluster`]'

在羣集到達"clusterStatus": "CREATE_COMPLETE"狀態,您可以使用一般 SSH 用户端設定來連接至其中。如需連接至 Amazon EC2 執行個體的詳細資訊,請參EC2 用户指南中的Amazon EC2 Linux 執行個體使用者指南。或者,您也可以通過

$ pcluster ssh --cluster-name test-cluster -i ~/path/to/keyfile.pem

若要刪除叢集,請執行下列命令。

$ pcluster delete-cluster --region us-east-1 --cluster-name test-cluster

刪除集羣後,您可以刪除 VPC 中的網絡資源,方法是刪除CloudFormation網絡堆棧。堆棧的名稱以「並行羣集網絡-」開頭,幷包含以「YYYYYMDDHMMSS」格式的創建時間。您可以使用列表堆棧命令。

$ aws --region us-east-1 cloudformation list-stacks \ --stack-status-filter "CREATE_COMPLETE" \ --query "StackSummaries[].StackName" | \ grep -e "parallelclusternetworking-" "parallelclusternetworking-pubpriv-20191029205804"

堆棧可以使用delete-stack命令。

$ aws --region us-east-1 cloudformation delete-stack \ --stack-name parallelclusternetworking-pubpriv-20191029205804

該 VPCpcluster configure (p. 84)為您創建不是創建在CloudFormation網絡堆棧。您可在主控台中或使用AWS CLI。

$ aws --region us-east-1 ec2 delete-vpc --vpc-id vpc-0b4ad9c4678d3c7ad

最佳實務最佳實踐:頭節點實例類型選擇儘管頭節點不運行任何作業,但其功能及其大小對集羣的整體性能至關重要。選擇要用於頭節點的實例類型時,您需要評估以下項目:

叢集大小 頭節點協調羣集的擴展邏輯,並負責將新節點附加到調度程序。如果您需要向上和縮小相當數量的節點羣集,那麼您希望為頭節點提供一些額外的計算容量。

共享檔案系統:使用共享文件系統在計算節點和頭節點之間共享工件時,請考慮到頭節點是公開 NFS 服務器的節點。因此,您希望選擇具有足夠網絡帶寬和足夠專用 Amazon EBS 帶寬的實例類型來處理您的工作流程。

16

AWS ParallelCluster AWS ParallelCluster 使用者指南從移動AWS ParallelCluster2.x 至 3.x

最佳實踐:網絡性能網路性能對於確保高性能運算 (HPC) 應用程序如期運行至關重要。我們推薦這三種最佳實踐來優化您的網絡性能。

• 置放羣組:叢集置放組是單一可用區域中的執行個體邏輯分組。如需置放羣組的詳細資訊,請參置放羣組中的Amazon EC2 Linux 執行個體使用者指南。如果您使用Slurm,您可以配置每個Slurm隊列以使用集羣置放羣組,方法是指定PlacementGroup在隊列的Networking (p. 117)設定。

Networking: PlacementGroup: Enabled: true Id: your-placement-group-name

或者讓AWS ParallelCluster使用以下方式創建置放羣組:

Networking: PlacementGroup: Enabled: true

如需詳細資訊,請參閱 Networking (p. 117)。• 增強型聯網功能:考慮選擇支持增強聯網的實例類型。這適用於所有最新一代執行個體。如需詳細資訊,

請參閱「」增強型聯網功能中的Amazon EC2 Linux 執行個體使用者指南。• 實例頻寬:帶寬隨實例大小而擴展,請考慮選擇更適合您需求的實例類型,請參閲Amazon EBS – 最佳化

執行個體和Amazon EBS 磁碟區類型中的Amazon EC2 Linux 執行個體使用者指南。

從移動AWS ParallelCluster2.x 至 3.x自訂引導操作搭配AWS ParallelCluster3,您可以為頭節點和計算節點指定不同的自定義引導操作腳本,使用OnNodeStart(pre_install在AWS ParallelCluster第 2 版)和OnNodeConfigured(post_install在AWS ParallelCluster版本 2)參數HeadNode (p. 103)和Scheduling/SlurmQueues (p. 112)章節位置。如需詳細資訊,請參閱 自訂引導操作 (p. 55)。

自定義引導操作腳本是為AWS ParallelCluster2 必須適用於AWS ParallelCluster3:

• 我們不建議您使用/etc/parallelcluster/cfnconfig和cfn_node_type來區分頭節點和計算節點。相反地,我們建議您在HeadNode和Scheduling/SlurmQueues sections。

• 如果您希望繼續加載/etc/parallelcluster/cfnconfig以便在引導操作腳本中使用,請注意cfn_node_type已從」MasterServer「至」HeadNode「(請參:包含語言 (p. 22)。

• 在 上AWS ParallelCluster2,引導操作腳本的第一個輸入參數是腳本的 S3 URL 並被保留。InAWSParallelCluster3,只會將配置中配置的參數傳遞給腳本。

Warning

使用通過/etc/parallelcluster/cfnconfig檔案不受官方支援。此文件可能會作為未來版本的一部分刪除。

AWS ParallelCluster2.x 和 3.x 使用不同的配置檔案語法

AWS ParallelCluster3.x 配置使用 YAML 語法。完整的參考可在組態檔案 (p. 101)。

17

AWS ParallelCluster AWS ParallelCluster 使用者指南從移動AWS ParallelCluster2.x 至 3.x

除了要求使用 YAML 文件格式外,還更新了許多配置部分、設置和參數值AWS ParallelCluster3.x。在本節中,我們注意到AWS ParallelCluster配置以及side-by-side示例説明瞭每個版本的AWS ParallelCluster。

啟用和禁用超線程的多個調度程序隊列配置示例

AWS ParallelCluster2:

[cluster default]queue_settings = ht-enabled, ht-disabled...

[queue ht-enabled]compute_resource_settings = ht-enabled-i1disable_hyperthreading = false

[queue ht-disabled]compute_resource_settings = ht-disabled-i1disable_hyperthreading = true

[compute_resource ht-enabled-i1]instance_type = c5n.18xlarge[compute_resource ht-disabled-i1]instance_type = c5.xlarge

AWS ParallelCluster3:

...Scheduling: Scheduler: slurm SlurmQueues: - Name: ht-enabled Networking: SubnetIds: - compute_subnet_id ComputeResources: - Name: ht-enabled-i1 DisableSimultaneousMultithreading: true InstanceType: c5n.18xlarge - Name: ht-disabled Networking: SubnetIds: - compute_subnet_id ComputeResources: - Name: ht-disabled-i1 DisableSimultaneousMultithreading: false InstanceType: c5.xlarge

用於 Lustre 文件系統配置的新 FSx 示例

AWS ParallelCluster2:

[cluster default]fsx_settings = fsx...

[fsx fsx]shared_dir = /shared-fsxstorage_capacity = 1200imported_file_chunk_size = 1024import_path = s3://bucketexport_path = s3://bucket/export_dirweekly_maintenance_start_time = 3:02:30

18

AWS ParallelCluster AWS ParallelCluster 使用者指南從移動AWS ParallelCluster2.x 至 3.x

deployment_type = PERSISTENT_1data_compression_type = LZ4

AWS ParallelCluster3:

...SharedStorage: - Name: fsx MountDir: /shared-fsx StorageType: FsxLustre FsxLustreSettings: StorageCapacity: 1200 ImportedFileChunkSize: 1024 ImportPath: s3://bucket ExportPath: s3://bucket/export_dir WeeklyMaintenanceStartTime: "3:02:30" DeploymentType: PERSISTENT_1 DataCompressionType: LZ4

為 Lustre 文件系統裝載現有 FSX 的羣集配置示例

AWS ParallelCluster2:

[cluster default]fsx_settings = fsx...

[fsx fsx]shared_dir = /shared-fsxfsx_fs_id = fsx_fs_id

AWS ParallelCluster3:

...SharedStorage: - Name: fsx MountDir: /shared-fsx StorageType: FsxLustre FsxLustreSettings: FileSystemId: fsx_fs_id

採用英特爾 HPC 平台規格軟件堆棧的叢集範例

AWS ParallelCluster2:

[cluster default]enable_intel_hpc_platform = true...

AWS ParallelCluster3:

...AdditionalPackages: IntelSoftware: IntelHpcPlatform: true

備註:

• 英特爾 HPC 平台規範軟件的安裝受適用英特爾最終用户許可協議

19

AWS ParallelCluster AWS ParallelCluster 使用者指南從移動AWS ParallelCluster2.x 至 3.x

自定義 IAM 配置示例,包括:實例配置文件、實例角色、實例的其他策略以及與集羣關聯的 lambda 函數的角色

AWS ParallelCluster2:

[cluster default]additional_iam_policies = arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess,arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccessec2_iam_role = ec2_iam_roleiam_lambda_role = lambda_iam_role...

AWS ParallelCluster3:

...Iam: Roles: CustomLambdaResources: lambda_iam_roleHeadNode: ... Iam: InstanceRole: ec2_iam_roleScheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: InstanceProfile: iam_instance_profile - Name: queue2 ... Iam: AdditionalIamPolicies: - Policy: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess - Policy: arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess

備註:

• 適用於AWS ParallelCluster2,IAM 設置將應用於集羣的所有實例,additional_iam_policies無法與ec2_iam_role

• 適用於AWS ParallelCluster3,您可以為頭部節點和計算節點設置不同的 IAM 設置,甚至為每個計算隊列指定不同的 IAM 設置。

• 適用於AWS ParallelCluster3,您可以使用 IAM 實例配置文件作為 IAM 角色的替代方案。InstanceProfile、InstanceRole或者AdditionalIamPolicies無法一起配置。

自定義引導操作示例

AWS ParallelCluster2:

[cluster default]s3_read_resource = arn:aws:s3:::bucket_name/*pre_install = s3://bucket_name/scripts/pre_install.shpre_install_args = 'R curl wget'post_install = s3://bucket_name/scripts/post_install.shpost_install_args = "R curl wget"...

AWS ParallelCluster3:

...

20

AWS ParallelCluster AWS ParallelCluster 使用者指南從移動AWS ParallelCluster2.x 至 3.x

HeadNode: ... CustomActions: OnNodeStart: Script: s3://bucket_name/scripts/pre_install.sh Args: - R - curl - wget OnNodeConfigured: Script: s3://bucket_name/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName: bucket_nameScheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... CustomActions: OnNodeStart: Script: s3://bucket_name/scripts/pre_install.sh Args: ['R', 'curl', 'wget'] OnNodeConfigured: Script: s3://bucket_name/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName: bucket_name

具有 S3 儲存儲體讀取和寫入的存取權限的叢集範例

AWS ParallelCluster2:

[cluster default]s3_read_resource = arn:aws:s3:::bucket/read_only/*s3_read_write_resource = arn:aws:s3:::bucket/read_and_write/*...

AWS ParallelCluster3:

...HeadNode: ... Iam: S3Access: - BucketName: bucket_name KeyName: read_only/ EnableWriteAccess: False - BucketName: bucket_name KeyName: read_and_write/ EnableWriteAccess: TrueScheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: S3Access: - BucketName: bucket_name KeyName: read_only/

21

AWS ParallelCluster AWS ParallelCluster 使用者指南從移動AWS ParallelCluster2.x 至 3.x

EnableWriteAccess: False - BucketName: bucket_name KeyName: read_and_write/ EnableWriteAccess: True

包含語言AWS ParallelCluster3 在使用「主節點」的地方使用「頭節點」AWS ParallelCluster2. 這包含下列項目:

• 變量導出到AWS Batch作業環境更改:從MASTER_IP至PCLUSTER_HEAD_NODE_IP。• All (全部)AWS CloudFormation輸出已更改Master*至HeadNode*• All (全部)NodeType和標籤已更改Master至HeadNode。

排程器 SupportAWS ParallelCluster3.x 不支持網格引擎之子 (SGE) 和扭矩調度程序。

所以此AWS Batch命令awsbhosts、awsbkill、awsbout、awsbqueues、awsbstat,以及awsbsub作為一個單獨的aws-parallelcluster-awsbatch-cliPyPI 套件。此軟件包由AWS ParallelCluster在頭節點上。您仍然可以使用這些AWS Batch命令來自羣集頭節點。但是,如果您希望使用AWS Batch命令從頭節點以外的位置排列,您必須先安裝aws-parallelcluster-awsbatch-cliPyPI 套件。

AWS ParallelCluster CLI所以此AWS ParallelCluster命令列界面 (CLI) 已被更改。新語法在AWS ParallelCluster CLI 命令 (p. 82)。CLI 的輸出格式是JSON字串。

設定新叢集

所以此pcluster configure命令包含不同的參數AWS ParallelCluster3 相比AWS ParallelCluster2. 如需詳細資訊,請參閱 pcluster configure (p. 84)。

另請注意,配置文件語法已從AWS ParallelCluster2. 有關羣集配置設置的完整參考,請參閲叢集組態檔案 (p. 101)。

建立新叢集

AWS ParallelCluster2 的pcluster create命令已被pcluster create-cluster (p. 85)命令。

請注意AWS ParallelCluster2.x,沒有-nw選項,是等待集羣創建事件,而AWS ParallelCluster3.x 命令會立即返回。羣集創建的進度可以使用pcluster describe-cluster (p. 96)

同時AWS ParallelCluster3 配置文件包含單個羣集定義,因此-t參數不再需要。

以下是範例檔案。

# AWS ParallelCluster v2$ pcluster create \ -r REGION \ -c V2_CONFIG_FILE \ -nw \ -t CLUSTER_TEMPLATE \ CLUSTER_NAME

# AWS ParallelCluster v3$ pcluster create-cluster \ --region REGION \ --cluster-configuration V3_CONFIG_FILE \ --cluster-name CLUSTER_NAME

22

AWS ParallelCluster AWS ParallelCluster 使用者指南從移動AWS ParallelCluster2.x 至 3.x

列出叢集

所以此pcluster list AWS ParallelCluster2.x 命令必須替換為pcluster list-clusters (p. 90)命令。

請注意:你需要AWS ParallelClusterv2 CLI 列出使用 2.x 版本AWS ParallelCluster。請參閱安裝AWSParallelCluster在虛擬環境中 (建議) (p. 3)瞭解如何安裝多個版本的AWS ParallelCluster使用虛擬環境。

# AWS ParallelCluster v2$ pcluster list -r REGION

# AWS ParallelCluster v3$ pcluster list-clusters --region REGION

啟動和停用叢集

所以此pcluster start和pcluster stop AWS ParallelCluster2.x 命令必須替換為pclusterupdate-compute-fleet (p. 93)命令。

啟動計算隊列:

# AWS ParallelCluster v2$ pcluster start \ -r REGION \ CLUSTER_NAME

# AWS ParallelCluster v3 - Slurm fleets$ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status START_REQUESTED

# AWS ParallelCluster v3 - AWS Batch fleets$ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status ENABLED

停止計算隊列:

# AWS ParallelCluster v2$ pcluster stop \ -r REGION \ CLUSTER_NAME

# AWS ParallelCluster v3 - Slurm fleets$ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status STOP_REQUESTED

# AWS ParallelCluster v3 - AWS Batch fleets$ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status DISABLED

連線至叢集

所以此pcluster ssh AWS ParallelCluster2.x 命令具有不同的參數名稱AWS ParallelCluster3.x。請參閱pcluster ssh (p. 91)。

23

AWS ParallelCluster AWS ParallelCluster 使用者指南支援的區域AWS ParallelCluster第 3 版

連線至叢集:

# AWS ParallelCluster v2$ pcluster ssh \ -r REGION \ CLUSTER_NAME \ -i ~/.ssh/id_rsa

# AWS ParallelCluster v3$ pcluster ssh \ --region REGION \ --cluster-name CLUSTER_NAME \ -i ~/.ssh/id_rsa

IMDS 配置更新從 3.0.0d 開始,AWS ParallelCluster默認情況下,支持將頭節點的 IMDS(和實例配置文件憑據)的訪問限制到超級用户的子集。如需詳細資訊,請參閱Imds屬性 (p. 111)。

支援的區域AWS ParallelCluster第 3 版AWS ParallelCluster第 3 版可在下列版本中提供AWS 區域:

區域名稱 區域

美國東部 (俄亥俄) us-east-2

美國東部 (維吉尼亞北部) us-east-1

美國西部 (加利佛尼亞北部) us-west-1

美國西部 (奧勒岡) us-west-2

非洲 (開普敦) af-south-1

亞太區域 (香港) ap-east-1

亞太區域 (孟買) ap-south-1

亞太區域 (首爾) ap-northeast-2

亞太區域 (新加坡) ap-southeast-1

亞太區域 (雪梨) ap-southeast-2

亞太區域 (東京) ap-northeast-1

加拿大 (中部) ca-central-1

中國 (北京) cn-north-1

中國 (寧夏) cn-northwest-1

歐洲 (法蘭克福) eu-central-1

歐洲 (愛爾蘭) eu-west-1

歐洲 (倫敦) eu-west-2

歐洲 (米蘭) eu-south-1

24

AWS ParallelCluster AWS ParallelCluster 使用者指南使用 AWS ParallelCluster

區域名稱 區域

歐洲 (巴黎) eu-west-3

歐洲 (斯德哥爾摩) eu-north-1

中東 (巴林) me-south-1

南美洲 (聖保羅) sa-east-1

AWS GovCloud (US-East) us-gov-east-1

AWS GovCloud (美國西部) us-gov-west-1

使用 AWS ParallelCluster主題

• AWS Identity and Access Management角色AWS ParallelCluster3.x (p. 25)• 網路組態 (p. 47)• 自訂引導操作 (p. 55)• AWS ParallelCluster 支援的排程器 (p. 57)• AWS ParallelCluster資源和標記 (p. 70)• 亞馬遜CloudWatch儀表板 (p. 71)• 與 Amazon 的整合CloudWatch日誌 (p. 72)• Elastic Fabric Adapter (p. 73)• AWS ParallelCluster API (p. 73)• 通過 NICE DCV Connect 到頭節點 (p. 79)• 使用 pcluster update-cluster (p. 79)

AWS Identity and Access Management角色AWSParallelCluster3.xAWS ParallelCluster使用AWS Identity and Access Management(IAM) 角色來控制與AWS資源部署到AWS帳戶。InAWS ParallelCluster我們可以識別兩種類型的 IAM 角色:由調用 CLI 命令的用户擔任的角色和與AWS ParallelCluster資源,例如在集羣中啟動的 EC2 實例。

在預設情況下,AWS ParallelCluster負責創建所有需要的 IAM 角色,這些角色配置為AWS ParallelCluster的費用。但是,調用各種AWS ParallelCluster操作必須具有正確的許可層級,才能建立或修改所有必需資源。

主題• 將現有 IAM 角色與AWS ParallelCluster (p. 25)• AWS ParallelCluster示例用户策略 (p. 26)• AWS ParallelCluster參數來控制 IAM 權限 (p. 38)

將現有 IAM 角色與AWS ParallelCluster您可以在創建集羣或構建自定義 EC2 映像時使用現有 IAM 角色。您通常會選擇現有 IAM 角色,來完全控制授與AWS ParallelCluster資源和羣集的用户。以下示例顯示了同時調用AWS ParallelCluster功能並自定義與集羣 EC2 實例關聯的權限。

25

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

在策略中,將<REGION>、<AWS ACCOUNT ID>和類似的字串,其中包含適當的值。

AWS ParallelCluster示例用户策略所以此AWS ParallelCluster用户角色是指用户所擔任的 IAM 角色。AWS ParallelClusterCLI。將策略附加到用户角色。

下列示例政策包括資源的 Amazon Resource Name (ARN)。如果您使用的是AWS GovCloud (US)或者AWS中國分區,ARN 必須改變。具體而言,它們必須從「arn: aws」更改為「arn:aws-us-gov「用於AWSGovCloud (US)分區或「arn: aws-cn」AWS中國的分割 如需詳細資訊,請參閱「」中的 Amazon ResourceName (ARN)AWS GovCloud (US)區域中的AWS GovCloud (US)使用者指南和適用於 的 ARNAWS中國的服務在入門AWS中國的服務。

主題• 調用所需的基本用户策略AWS ParallelCluster功能 (p. 26)• 使用時的其他用户策略AWS Batch排程器 (p. 30)• 使用的使用者政策AWS ParallelCluster映像建置功能 (p. 31)• 用於管理 IAM 資源的用户策略 (p. 34)

調用所需的基本用户策略AWS ParallelCluster功能

下列政策顯示運行AWS ParallelCluster命令。您必須建立策略來管理 IAM 資源的權限 (p. 34)建立叢集。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:Describe*" ], "Resource": "*", "Effect": "Allow", "Sid": "EC2Read" }, { "Action": [ "ec2:AllocateAddress", "ec2:AssociateAddress", "ec2:AttachNetworkInterface", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateLaunchTemplate", "ec2:CreateLaunchTemplateVersion", "ec2:CreateNetworkInterface", "ec2:CreatePlacementGroup", "ec2:CreateSecurityGroup", "ec2:CreateSnapshot", "ec2:CreateTags", "ec2:CreateVolume", "ec2:DeleteLaunchTemplate", "ec2:DeleteNetworkInterface", "ec2:DeletePlacementGroup", "ec2:DeleteSecurityGroup", "ec2:DeleteVolume", "ec2:DisassociateAddress", "ec2:ModifyLaunchTemplate", "ec2:ModifyNetworkInterfaceAttribute", "ec2:ModifyVolume", "ec2:ModifyVolumeAttribute", "ec2:ReleaseAddress",

26

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

"ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "ec2:RunInstances", "ec2:TerminateInstances" ], "Resource": "*", "Effect": "Allow", "Sid": "EC2Write" }, { "Action": [ "dynamodb:DescribeTable", "dynamodb:ListTagsOfResource", "dynamodb:CreateTable", "dynamodb:DeleteTable", "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:Query", "dynamodb:TagResource" ], "Resource": "arn:aws:dynamodb:*:<AWS ACCOUNT ID>:table/parallelcluster-*", "Effect": "Allow", "Sid": "DynamoDB" }, { "Action": [ "route53:ChangeResourceRecordSets", "route53:ChangeTagsForResource", "route53:CreateHostedZone", "route53:DeleteHostedZone", "route53:GetChange", "route53:GetHostedZone", "route53:ListResourceRecordSets", "route53:ListQueryLoggingConfigs" ], "Resource": "*", "Effect": "Allow", "Sid": "Route53HostedZones" }, { "Action": [ "cloudformation:*" ], "Resource": "*", "Effect": "Allow", "Sid": "CloudFormation" }, { "Action": [ "cloudwatch:PutDashboard", "cloudwatch:ListDashboards", "cloudwatch:DeleteDashboards", "cloudwatch:GetDashboard" ], "Resource": "*", "Effect": "Allow", "Sid": "CloudWatch" }, { "Action": [ "iam:GetRole", "iam:GetRolePolicy", "iam:GetPolicy", "iam:SimulatePrincipalPolicy", "iam:GetInstanceProfile" ],

27

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

"Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:role/*", "arn:aws:iam::<AWS ACCOUNT ID>:policy/*", "arn:aws:iam::aws:policy/*", "arn:aws:iam::<AWS ACCOUNT ID>:instance-profile/*" ], "Effect": "Allow", "Sid": "IamRead" }, { "Action": [ "iam:CreateInstanceProfile", "iam:DeleteInstanceProfile", "iam:AddRoleToInstanceProfile", "iam:RemoveRoleFromInstanceProfile" ], "Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:instance-profile/parallelcluster/*" ], "Effect": "Allow", "Sid": "IamInstanceProfile" }, { "Condition": { "StringEqualsIfExists": { "iam:PassedToService": [ "lambda.amazonaws.com", "ec2.amazonaws.com", "spotfleet.amazonaws.com" ] } }, "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*" ], "Effect": "Allow", "Sid": "IamPassRole" }, { "Condition": { "StringEquals": { "iam:AWSServiceName": [ "fsx.amazonaws.com", "s3.data-source.lustre.fsx.amazonaws.com" ] } }, "Action": [ "iam:CreateServiceLinkedRole", "iam:DeleteServiceLinkedRole" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:GetFunctionConfiguration", "lambda:GetFunction", "lambda:InvokeFunction", "lambda:AddPermission", "lambda:RemovePermission",

28

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

"lambda:UpdateFunctionConfiguration" ], "Resource": [ "arn:aws:lambda:*:<AWS ACCOUNT ID>:function:parallelcluster-*", "arn:aws:lambda:*:<AWS ACCOUNT ID>:function:pcluster-*" ], "Effect": "Allow", "Sid": "Lambda" }, { "Action": [ "s3:*" ], "Resource": [ "arn:aws:s3:::parallelcluster-*", "arn:aws:s3:::aws-parallelcluster-*" ], "Effect": "Allow", "Sid": "S3ResourcesBucket" }, { "Action": [ "s3:Get*", "s3:List*" ], "Resource": "arn:aws:s3:::*-aws-parallelcluster*", "Effect": "Allow", "Sid": "S3ParallelClusterReadOnly" }, { "Action": [ "fsx:*" ], "Resource": [ "arn:aws:fsx:*:<AWS ACCOUNT ID>:*" ], "Effect": "Allow", "Sid": "FSx" }, { "Action": [ "elasticfilesystem:*" ], "Resource": [ "arn:aws:elasticfilesystem:*:<AWS ACCOUNT ID>:*" ], "Effect": "Allow", "Sid": "EFS" }, { "Action": [ "logs:DeleteLogGroup", "logs:PutRetentionPolicy", "logs:DescribeLogGroups", "logs:CreateLogGroup", "logs:FilterLogEvents", "logs:GetLogEvents", "logs:CreateExportTask", "logs:DescribeLogStreams", "logs:DescribeExportTasks" ], "Resource": "*", "Effect": "Allow", "Sid": "CloudWatchLogs" } ]

29

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

}

使用時的其他用户策略AWS Batch排程器

如果您需要創建和管理AWS Batch調度程序,以下附加策略是必需的。

{ "Version": "2012-10-17", "Statement": [ { "Condition": { "StringEqualsIfExists": { "iam:PassedToService": [ "ecs-tasks.amazonaws.com", "batch.amazonaws.com", "codebuild.amazonaws.com" ] } }, "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*" ], "Effect": "Allow", "Sid": "IamPassRole" }, { "Condition": { "StringEquals": { "iam:AWSServiceName": [ "batch.amazonaws.com" ] } }, "Action": [ "iam:CreateServiceLinkedRole", "iam:DeleteServiceLinkedRole" ], "Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:role/aws-service-role/batch.amazonaws.com/*" ], "Effect": "Allow" }, { "Action": [ "codebuild:*" ], "Resource": "arn:aws:codebuild:*:<AWS ACCOUNT ID>:project/pcluster-*", "Effect": "Allow" }, { "Action": [ "ecr:*" ], "Resource": "*", "Effect": "Allow", "Sid": "ECR" }, { "Action": [ "batch:*" ],

30

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

"Resource": "*", "Effect": "Allow", "Sid": "Batch" }, { "Action": [ "events:*" ], "Resource": "*", "Effect": "Allow", "Sid": "AmazonCloudWatchEvents" }, { "Action": [ "ecs:DescribeContainerInstances", "ecs:ListContainerInstances" ], "Resource": "*", "Effect": "Allow", "Sid": "ECS" } ]}

使用的使用者政策AWS ParallelCluster映像建置功能

打算創建自定義 EC2 映像的用户AWS ParallelCluster將需要具有以下權限集。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:DescribeImages", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeInstanceTypes", "ec2:DeregisterImage", "ec2:DeleteSnapshot" ], "Resource": "*", "Effect": "Allow", "Sid": "EC2" }, { "Action": [ "iam:CreateInstanceProfile", "iam:AddRoleToInstanceProfile", "iam:GetRole", "iam:GetRolePolicy", "iam:GetInstanceProfile", "iam:RemoveRoleFromInstanceProfile" ], "Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:instance-profile/parallelcluster/*", "arn:aws:iam::<AWS ACCOUNT ID>:instance-profile/ParallelClusterImage*", "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*" ], "Effect": "Allow", "Sid": "IAM" }, { "Condition": { "StringEquals": { "iam:PassedToService": [

31

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

"lambda.amazonaws.com", "ec2.amazonaws.com" ] } }, "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:instance-profile/parallelcluster/*", "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*" ], "Effect": "Allow", "Sid": "IAMPassRole" }, { "Action": [ "logs:CreateLogGroup", "logs:DeleteLogGroup" ], "Resource": [ "arn:aws:logs:*:<AWS ACCOUNT ID>:log-group:/aws/imagebuilder/ParallelClusterImage-*", "arn:aws:logs:*:<AWS ACCOUNT ID>:log-group:/aws/lambda/ParallelClusterImage-*" ], "Effect": "Allow", "Sid": "CloudWatch" }, { "Action": [ "cloudformation:DescribeStacks", "cloudformation:CreateStack", "cloudformation:DeleteStack" ], "Resource": [ "arn:aws:cloudformation:*:<AWS ACCOUNT ID>:stack/*" ], "Effect": "Allow", "Sid": "CloudFormation" }, { "Action": [ "lambda:CreateFunction", "lambda:GetFunction", "lambda:AddPermission", "lambda:RemovePermission", "lambda:DeleteFunction" ], "Resource": [ "arn:aws:lambda:*:<AWS ACCOUNT ID>:function:ParallelClusterImage-*" ], "Effect": "Allow", "Sid": "Lambda" }, { "Action": [ "imagebuilder:Get*" ], "Resource": "*", "Effect": "Allow", "Sid": "ImageBuilderGet" }, { "Action": [ "imagebuilder:CreateImage",

32

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

"imagebuilder:TagResource", "imagebuilder:CreateImageRecipe", "imagebuilder:CreateComponent", "imagebuilder:CreateDistributionConfiguration", "imagebuilder:CreateInfrastructureConfiguration", "imagebuilder:DeleteImage", "imagebuilder:DeleteComponent", "imagebuilder:DeleteImageRecipe", "imagebuilder:DeleteInfrastructureConfiguration", "imagebuilder:DeleteDistributionConfiguration" ], "Resource": [ "arn:aws:imagebuilder:*:<AWS ACCOUNT ID>:image/parallelclusterimage-*", "arn:aws:imagebuilder:*:<AWS ACCOUNT ID>:image-recipe/parallelclusterimage-*", "arn:aws:imagebuilder:*:<AWS ACCOUNT ID>:component/parallelclusterimage-*", "arn:aws:imagebuilder:*:<AWS ACCOUNT ID>:distribution-configuration/parallelclusterimage-*", "arn:aws:imagebuilder:*:<AWS ACCOUNT ID>:infrastructure-configuration/parallelclusterimage-*" ], "Effect": "Allow", "Sid": "ImageBuilder" }, { "Action": [ "s3:CreateBucket", "s3:ListBucket", "s3:ListBucketVersions" ], "Resource": [ "arn:aws:s3:::parallelcluster-*" ], "Effect": "Allow", "Sid": "S3Bucket" }, { "Action": [ "sns:GetTopicAttributes", "sns:TagResource", "sns:CreateTopic", "sns:Subscribe", "sns:Publish", "SNS:DeleteTopic", "SNS:Unsubscribe" ], "Resource": [ "arn:aws:sns:*:<AWS ACCOUNT ID>:ParallelClusterImage-*" ], "Effect": "Allow", "Sid": "SNS" }, { "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion", "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource": [ "arn:aws:s3:::parallelcluster-*/*" ], "Effect": "Allow", "Sid": "S3Objects" },

33

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

{ "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/imagebuilder.amazonaws.com/AWSServiceRoleForImageBuilder", "Condition": { "StringLike": { "iam:AWSServiceName": "imagebuilder.amazonaws.com" } } } ]}

用於管理 IAM 資源的用户策略當您使用AWS ParallelCluster創建集羣或自定義 AMI,則需要提供 IAM 策略和角色,以便向各種AWSParallelCluster組件。此類 IAM 資源可以通過AWS ParallelCluster或者在創建集羣或自定義映像資源時需要作為輸入提供。

根據授予AWS ParallelCluster使用者,我們可以啟用下列使用案例:

主題• 特權 IAM 訪問模式 (p. 34)• 受限 IAM 訪問模式 (p. 35)• PermissionsBoundary模式 (p. 36)

特權 IAM 訪問模式

使用此模式AWS ParallelCluster負責自動創建所有必要的 IAM 資源。將建立 IAM 資源委派給AWSParallelCluster包括 IAM 策略的範圍縮小到僅允許對集羣資源的訪問。

如需啟用特權 IAM 訪問模式,請將下列政策添加到AWS ParallelCluster使用者角色。Note

如果您配置HeadNode (p. 103)/Iam (p. 109)/AdditionalPolicies (p. 111)或者Scheduling (p. 112)/SlurmQueues (p. 116)/Iam (p. 124)/AdditionalPolicies (p. 125)參數,則必須為用户提供附加和分離每個附加策略的角色策略的權限,如以下策略所示。將附加策略ARN 添加到附加和分離角色策略的條件中。Warning

此模式允許用户在AWS 帳戶

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:CreateServiceLinkedRole", "iam:DeleteRole", "iam:TagRole" ], "Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*" ], "Effect": "Allow", "Sid": "IamRole" }, {

34

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

"Action": [ "iam:CreateRole" ], "Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*" ], "Effect": "Allow", "Sid": "IamCreateRole" }, { "Action": [ "iam:PutRolePolicy", "iam:DeleteRolePolicy" ], "Resource": "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*", "Effect": "Allow", "Sid": "IamInlinePolicy" }, { "Condition": { "ArnLike": { "iam:PolicyARN": [ "arn:aws:iam::<AWS ACCOUNT ID>:policy/parallelcluster*", "arn:aws:iam::<AWS ACCOUNT ID>:policy/parallelcluster/*", "arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy", "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore", "arn:aws:iam::aws:policy/AWSBatchFullAccess", "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess", "arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole", "arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role", "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy", "arn:aws:iam::aws:policy/service-role/AmazonEC2SpotFleetTaggingRole", "arn:aws:iam::aws:policy/EC2InstanceProfileForImageBuilder", "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" ] } }, "Action": [ "iam:AttachRolePolicy", "iam:DetachRolePolicy" ], "Resource": "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*", "Effect": "Allow", "Sid": "IamPolicy" } ]}

受限 IAM 訪問模式

當沒有將其他 IAM 策略授予AWS ParallelCluster用户,羣集或自定義映像構建所需的 IAM 角色需要由 IAM管理員手動創建,並作為資源配置的一部分進行傳遞。

當您建立叢集時,需要參數如下:

• Iam (p. 134) / Roles (p. 135) / LambdaFunctionsRole (p. 135)• HeadNode (p. 103) / Iam (p. 109) / InstanceRole (p. 110) |InstanceProfile (p. 110)

• Scheduling (p. 112) / SlurmQueues (p. 116) / Iam (p. 124) / InstanceRole (p. 124) |InstanceProfile (p. 124)

35

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

當您建立自訂映像時,需要參數如下:

• Build (p. 140) / Iam (p. 141) / InstanceRole (p. 142) | InstanceProfile (p. 142)• Build (p. 140) / Iam (p. 141) / CleanupLambdaRole (p. 142)

作為上述參數一部分傳遞的 IAM 角色必須在/parallelcluster/路徑前綴。如果這是不可能的AWSParallelCluster需要更新用户策略d 贈款iam:PassRole權限,如下例所示。

{ "Condition": { "StringEqualsIfExists": { "iam:PassedToService": [ "ecs-tasks.amazonaws.com", "lambda.amazonaws.com", "ec2.amazonaws.com", "spotfleet.amazonaws.com", "batch.amazonaws.com", "codebuild.amazonaws.com" ] } }, "Action": [ "iam:PassRole" ], "Resource": [ <list all custom IAM roles> ], "Effect": "Allow", "Sid": "IamPassRole"}

Warning

目前,這種模式不允許管理AWS Batch羣集,因為並非所有 IAM 角色都可以在羣集配置中傳遞。

PermissionsBoundary模式

此模式委託給AWS ParallelCluster創建 IAM 角色,但這些角色綁定到配置的 IAM 權限邊界。如需 IAM 許可範圍的詳細信息,請參考IAM 實體的許可界限中的IAM User Guide。

下列政策需要添加到AWS ParallelCluster使用者角色。

在策略中,將<permissions-boundary-arn>將 IAM 策略 ARN 作為權限邊界強制執行。

Warning

如果您將HeadNode (p. 103)/Iam (p. 109)/AdditionalPolicies (p. 111)或者Scheduling (p. 112)/SlurmQueues (p. 116)/Iam (p. 124)/AdditionalPolicies (p. 125)參數,您必須授與用户連接和分離每個附加政策的角色策略,如以下政策所示。將附加策略 ARN 添加到附加和分離角色策略的條件中。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:CreateServiceLinkedRole", "iam:DeleteRole", "iam:TagRole" ], "Resource": [

36

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

"arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*" ], "Effect": "Allow", "Sid": "IamRole" }, { "Condition": { "StringEquals": { "iam:PermissionsBoundary": [ <permissions-boundary-arn> ] } }, "Action": [ "iam:CreateRole" ], "Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*" ], "Effect": "Allow", "Sid": "IamCreateRole" }, { "Condition": { "StringEquals": { "iam:PermissionsBoundary": [ <permissions-boundary-arn> ] } }, "Action": [ "iam:PutRolePolicy", "iam:DeleteRolePolicy" ], "Resource": "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*", "Effect": "Allow", "Sid": "IamInlinePolicy" }, { "Condition": { "StringEquals": { "iam:PermissionsBoundary": [ <permissions-boundary-arn> ] }, "ArnLike": { "iam:PolicyARN": [ "arn:aws:iam::<AWS ACCOUNT ID>:policy/parallelcluster*", "arn:aws:iam::<AWS ACCOUNT ID>:policy/parallelcluster/*", "arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy", "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore", "arn:aws:iam::aws:policy/AWSBatchFullAccess", "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess", "arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole", "arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role", "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy", "arn:aws:iam::aws:policy/service-role/AmazonEC2SpotFleetTaggingRole", "arn:aws:iam::aws:policy/EC2InstanceProfileForImageBuilder", "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" ] } }, "Action": [

37

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

"iam:AttachRolePolicy", "iam:DetachRolePolicy" ], "Resource": "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*", "Effect": "Allow", "Sid": "IamPolicy" } ]}

啟用此模式時,必須在通過Iam (p. 134)/PermissionsBoundary (p. 135)配置參數,並且通過Build (p. 140)/Iam (p. 141)/PermissionBoundary (p. 142)參數。

AWS ParallelCluster參數來控制 IAM 權限AWS ParallelCluster公開了一系列配置選項,用於控制和自定義 AMI 創建過程中使用的 IAM 角色。

主題• 叢集配置 (p. 38)• 自訂映像配置 (p. 44)

叢集配置

主題• 頭節點 IAM 角色 (p. 38)• Amazon S3 存取 (p. 42)• 其他 IAM 政策 (p. 42)• AWS Lambda函數角色 (p. 42)• 計算節點 IAM 角色 (p. 43)• 許可界限 (p. 44)

頭節點 IAM 角色

HeadNode (p. 103) / Iam (p. 109) / InstanceRole (p. 110) | InstanceProfile (p. 110)

此選項允許覆蓋分配給集羣頭節點的 IAM 角色。如需其他詳細資訊,請參考InstanceProfile (p. 110)參考。

以下是當調度程序為 Surm 時用作此角色一部分的最小策略集:

• arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy受管 IAM 政策。如需詳細資訊,請參閱「」建立 IAM 角色和使用者以使用CloudWatch代理人中的亞馬遜CloudWatch使用者指南。

• arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore受管 IAM 政策。如需詳細資訊,請參閱「」AWS的 受管政策AWS Systems Manager中的AWS Systems Manager使用者指南。

• 其他 IAM 政策:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::<REGION>-aws-parallelcluster/*",

38

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

"arn:aws:s3:::dcv-license.<REGION>/*", "arn:aws:s3:::parallelcluster-*-v1-do-not-delete/*" ], "Effect": "Allow" }, { "Action": [ "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:BatchWriteItem" ], "Resource": "arn:aws:dynamodb:<REGION>:<AWS ACCOUNT ID>:table/parallelcluster-*", "Effect": "Allow" }, { "Condition": { "StringEquals": { "ec2:ResourceTag/parallelcluster:node-type": "Compute" } }, "Action": "ec2:TerminateInstances", "Resource": "*", "Effect": "Allow" }, { "Action": "ec2:RunInstances", "Resource": "*", "Effect": "Allow" }, { "Condition": { "StringEquals": { "iam:PassedToService": [ "ec2.amazonaws.com" ] } }, "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*", "arn:aws:iam::<AWS ACCOUNT ID>:instance-profile/parallelcluster/*" ], "Effect": "Allow" }, { "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:DescribeVolumes", "ec2:DescribeInstanceAttribute" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ec2:CreateTags", "ec2:AttachVolume" ], "Resource": [ "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:instance/*", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:volume/*" ],

39

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

"Effect": "Allow" }, { "Action": [ "cloudformation:DescribeStackResource", "cloudformation:SignalResource" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "route53:ChangeResourceRecordSets" ], "Resource": "*", "Effect": "Allow" }, { "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:<REGION>:<AWS ACCOUNT ID>:secret:<SECRET_ID>", "Effect": "Allow" } ]}

請注意,如果Scheduling (p. 112) / SlurmQueues (p. 116) / Iam (p. 124) /InstanceRole (p. 124)用於覆蓋計算 IAM 角色,上面報告的頭節點策略需要在Resource的 區段iam:PassRole許可。

以下是當調度程序為AWS Batch:

• arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy受管 IAM 政策。如需詳細資訊,請參閱「」建立 IAM 角色和使用者以使用CloudWatch代理人中的亞馬遜CloudWatch使用者指南。

• arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore受管 IAM 政策。如需詳細資訊,請參閱「」AWS的 受管政策AWS Systems Manager中的AWS Systems Manager使用者指南。

• 其他 IAM 政策:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject", "s3:PutObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::parallelcluster-*-v1-do-not-delete/*" ], "Effect": "Allow" }, { "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::dcv-license.<REGION>/*", "arn:aws:s3:::<REGION>-aws-parallelcluster/*" ], "Effect": "Allow" }, { "Condition": {

40

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

"StringEquals": { "iam:PassedToService": [ "batch.amazonaws.com" ] } }, "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*", "arn:aws:iam::<AWS ACCOUNT ID>:instance-profile/parallelcluster/*" ], "Effect": "Allow" }, "Action": [ "batch:DescribeJobQueues", "batch:DescribeJobs", "batch:ListJobs", "batch:DescribeComputeEnvironments" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "batch:SubmitJob", "batch:TerminateJob", "logs:GetLogEvents", "ecs:ListContainerInstances", "ecs:DescribeContainerInstances", ], "Resource": [ "arn:aws:logs:<REGION>:<AWS ACCOUNT ID>:log-group:/aws/batch/job:log-stream:PclusterJobDefinition*", "arn:aws:ecs:<REGION>:<AWS ACCOUNT ID>:container-instance/AWSBatch-PclusterComputeEnviron*", "arn:aws:ecs:<REGION>:<AWS ACCOUNT ID>:cluster/AWSBatch-Pcluster*", "arn:aws:batch:<REGION>:<AWS ACCOUNT ID>:job-queue/PclusterJobQueue*", "arn:aws:batch:<REGION>:<AWS ACCOUNT ID>:job-definition/PclusterJobDefinition*:*", "arn:aws:batch:<REGION>:<AWS ACCOUNT ID>:job/*" ], "Effect": "Allow" }, { "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:DescribeVolumes", "ec2:DescribeInstanceAttribute" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ec2:CreateTags", "ec2:AttachVolume" ], "Resource": [ "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:instance/*", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:volume/*" ], "Effect": "Allow"

41

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

}, { "Action": [ "cloudformation:DescribeStackResource", "cloudformation:DescribeStacks", "cloudformation:SignalResource" ], "Resource": "*", "Effect": "Allow" }, { "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:<REGION>:<AWS ACCOUNT ID>:secret:<SECRET_ID>", "Effect": "Allow" } ]}

Amazon S3 存取

HeadNode (p. 103)/Iam (p. 109)/S3Access (p. 110)或者Scheduling (p. 112)/SlurmQueues (p. 116)/S3Access (p. 110)

此配置部分允許通過向與集羣的頭節點或計算節點關聯的 IAM 角色授予額外的 Amazon S3 策略來自定義Amazon S3 訪問權限,當這些角色是由AWS ParallelCluster。如需詳細資訊,請參各配置參數的參考文件。

只有在AWS ParallelCluster用户配置在特權 IAM 訪問模式 (p. 34)或者PermissionsBoundary模式 (p. 36)。

其他 IAM 政策

HeadNode (p. 103)/Iam (p. 109)/AdditionalIamPolicies (p. 111)或者SlurmQueues (p. 116)/Iam (p. 124)/AdditionalIamPolicies (p. 125)

使用此選項可以將其他託管 IAM 策略附加到與集羣的頭節點或計算節點關聯的 IAM 角色,當這些角色是由AWS ParallelCluster。

Warning

要使用此選項,請確保AWS ParallelCluster用户已被授予iam:AttachRolePolicy和iam:DetachRolePolicy權限,以獲取需要附加的 IAM 策略。

AWS Lambda函數角色

Iam (p. 135) / Roles (p. 135) / LambdaFunctionsRole (p. 135)

此選項會覆寫附加到所有AWS Lambda函數,這些函數在叢集建立的過程中使用。AWS Lambda需要將其配置為允許擔任該角色的委託人。

以下是用作此角色一部分的最小策略集:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "route53:ListResourceRecordSets", "route53:ChangeResourceRecordSets" ], "Resource": "arn:aws:route53:::hostedzone/*",

42

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

"Effect": "Allow" }, { "Action": ["logs:CreateLogStream", "logs:PutLogEvents"], "Effect": "Allow", "Resource": "arn:aws:logs:<REGION>:<AWS ACCOUNT ID>:log-group:/aws/lambda/pcluster-*" }, { "Action": "ec2:DescribeInstances", "Effect": "Allow", "Resource": "*" }, { "Action": "ec2:TerminateInstances", "Condition": { "StringEquals": { "ec2:ResourceTag/parallelcluster:node-type": "Compute" } }, "Effect": "Allow", "Resource": "*" }, { "Action": [ "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:ListBucket", "s3:ListBucketVersions" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::parallelcluster-*-v1-do-not-delete", "arn:aws:s3:::parallelcluster-*-v1-do-not-delete/*" ] }, { "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:<REGION>:<AWS ACCOUNT ID>:secret:<SECRET_ID>", "Effect": "Allow" } ]}

計算節點 IAM 角色

Scheduling (p. 112) / SlurmQueues (p. 116) / Iam (p. 124) / InstanceRole (p. 124) |InstanceProfile (p. 124)

此選項允許覆蓋分配給集羣計算節點的 IAM 角色。如需詳細資訊,請參閱InstanceProfile (p. 124)。

以下是用作此角色一部分的最小策略集:

• arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy受管 IAM 政策。如需詳細資訊,請參閱「」建立 IAM 角色和使用者以使用CloudWatch代理人中的亞馬遜CloudWatch使用者指南。

• arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore受管 IAM 政策。如需詳細資訊,請參閱「」AWS的 受管政策AWS Systems Manager中的AWS Systems Manager使用者指南。

• 其他 IAM 政策:

{ "Version": "2012-10-17", "Statement": [ {

43

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

"Action": [ "dynamodb:Query" ], "Resource": "arn:aws:dynamodb:<REGION>:<AWS ACCOUNT ID>:table/parallelcluster-*", "Effect": "Allow" }, { "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::<REGION>-aws-parallelcluster/*" ], "Effect": "Allow" }, { "Action": "ec2:DescribeInstanceAttribute", "Resource": "*", "Effect": "Allow" }, { "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:<REGION>:<AWS ACCOUNT ID>:secret:<SECRET_ID>", "Effect": "Allow" } ]}

許可界限

Iam (p. 134) / PermissionsBoundary (p. 135)

此參數強制AWS ParallelCluster將給定的 IAM 策略附加為PermissionsBoundary添加到作為集羣部署一部分創建的所有 IAM 角色。

請參閱PermissionsBoundary模式 (p. 36),以瞭解AWS ParallelCluster用户使用此類功能。

自訂映像配置

主題• EC2 Image Builder 的實例角色 (p. 44)• AWS Lambda清除角色 (p. 45)• 其他 IAM 政策 (p. 47)• 許可界限 (p. 47)

EC2 Image Builder 的實例角色

Build (p. 140) / Iam (p. 141) / InstanceRole (p. 142) | InstanceProfile (p. 142)

此選項允許覆蓋分配給 EC2 Image Builder 啟動的 EC2 實例的 IAM 角色,以創建自定義 AMI。

以下是用作此角色一部分的最小策略集:

• arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore受管 IAM 政策。如需詳細資訊,請參閱「」AWS的 受管政策AWS Systems Manager中的AWS Systems Manager使用者指南。

• arn:aws:iam::aws:policy/EC2InstanceProfileForImageBuilder受管 IAM 政策。如需詳細資訊,請參閱「」EC2InstanceProfileForImageBuilder政策中的Image Builder 使用指南。

• 其他 IAM 政策:

44

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:CreateTags", "ec2:ModifyImageAttribute" ], "Resource": "arn:aws:ec2:<REGION>::image/*", "Effect": "Allow" } ]}

AWS Lambda清除角色

Build (p. 140) / Iam (p. 141) / CleanupLambdaRole (p. 142)

此選項會覆寫附加到所有AWS Lambda函數,這些函數在自定義映像構建過程中使用。AWS Lambda需要將其配置為允許擔任該角色的委託人。

以下是用作此角色一部分的最小策略集:

• arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole受管 IAM 政策。如需詳細資訊,請參閱「」AWSLambda 功能的受管政策中的AWS Lambda開發人員指南。

• 其他 IAM 政策:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:DetachRolePolicy", "iam:DeleteRole", "iam:DeleteRolePolicy" ], "Resource": "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster/*", "Effect": "Allow" }, { "Action": [ "iam:DeleteInstanceProfile", "iam:RemoveRoleFromInstanceProfile" ], "Resource": "arn:aws:iam::<AWS ACCOUNT ID>:instance-profile/parallelcluster/*", "Effect": "Allow" }, { "Action": "imagebuilder:DeleteInfrastructureConfiguration", "Resource": "arn:aws:imagebuilder:<REGION>:<AWS ACCOUNT ID>:infrastructure-configuration/parallelclusterimage-*", "Effect": "Allow" }, { "Action": [ "imagebuilder:DeleteComponent" ], "Resource": [ "arn:aws:imagebuilder:<REGION>:<AWS ACCOUNT ID>:component/parallelclusterimage-*/*"

45

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access Management

角色AWS ParallelCluster3.x

], "Effect": "Allow" }, { "Action": "imagebuilder:DeleteImageRecipe", "Resource": "arn:aws:imagebuilder:<REGION>:<AWS ACCOUNT ID>:image-recipe/parallelclusterimage-*/*", "Effect": "Allow" }, { "Action": "imagebuilder:DeleteDistributionConfiguration", "Resource": "arn:aws:imagebuilder:<REGION>:<AWS ACCOUNT ID>:distribution-configuration/parallelclusterimage-*", "Effect": "Allow" }, { "Action": [ "imagebuilder:DeleteImage", "imagebuilder:GetImage", "imagebuilder:CancelImageCreation" ], "Resource": "arn:aws:imagebuilder:<REGION>:<AWS ACCOUNT ID>:image/parallelclusterimage-*/*", "Effect": "Allow" }, { "Action": "cloudformation:DeleteStack", "Resource": "arn:aws:cloudformation:<REGION>:<AWS ACCOUNT ID>:stack/*/*", "Effect": "Allow" }, { "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:<REGION>::image/*", "Effect": "Allow" }, { "Action": "tag:TagResources", "Resource": "*", "Effect": "Allow" }, { "Action": [ "lambda:DeleteFunction", "lambda:RemovePermission" ], "Resource": "arn:aws:lambda:<REGION>:<AWS ACCOUNT ID>:function:ParallelClusterImage-*", "Effect": "Allow" }, { "Action": "logs:DeleteLogGroup", "Resource": "arn:aws:logs:<REGION>:<AWS ACCOUNT ID>:log-group:/aws/lambda/ParallelClusterImage-*:*", "Effect": "Allow" }, { "Action": [ "SNS:GetTopicAttributes", "SNS:DeleteTopic", "SNS:GetSubscriptionAttributes", "SNS:Unsubscribe" ], "Resource": "arn:aws:sns:<REGION>:<AWS ACCOUNT ID>:ParallelClusterImage-*", "Effect": "Allow" } ]

46

AWS ParallelCluster AWS ParallelCluster 使用者指南網路組態

}

其他 IAM 政策

Build (p. 140) / Iam (p. 141) / AdditionalIamPolicies (p. 142)

您可以使用此選項將其他託管 IAM 策略附加到與 EC2 Image Builder 用於生成自定義 AMI 的 EC2 實例相關聯的角色。

Warning

要使用此選項,請確保AWS ParallelCluster用户已被授予iam:AttachRolePolicy和iam:DetachRolePolicy權限,以獲取需要附加的 IAM 策略。

許可界限

Build (p. 140) / Iam (p. 141) / PermissionsBoundary (p. 142)

此參數強制AWS ParallelCluster將給定的 IAM 策略附加為PermissionsBoundary添加到作為自定義 AMI構建的一部分創建的所有 IAM 角色。

請參閱PermissionsBoundary模式 (p. 36),瞭解使用此類功能所需的策略列表。

網路組態AWS ParallelCluster使用 Amazon Virtual Private Cloud (VPC) 進行網路。VPC 提供一個靈活且可設定的聯網平台,您可以在其中部署羣集。

VPC 必須具有 DNS Resolution = yes、DNS Hostnames = yes 及 DHCP 選項,並且具有區域的正確網域名稱。預設 DHCP 選項集已指定必要AmazonProvidedDNS。如果指定超過一個網域名稱伺服器,請參DHCP 選項集中的Amazon VPC User Guide。

AWS ParallelCluster 支援下列高階組態:

• 頭部和運算節點都適用的單一子網路。• 兩個子網路,頭節點位於公有子網路中,而運算節點位於私有子網路中。子網路可以是新網路或現有網

路。

不論是否使用公有 IP 定址,所有這些組態都可以運作。AWS ParallelCluster也可以部署為使用 HTTP 代理AWS請求。這些組態的組合會產生許多部署案例。例如,您可以設定單一公有子網路,所有存取都透過網際網際網路進行。或者,您可以使用AWS Direct Connect和 HTTP 代理的所有流量。

從開始AWS ParallelCluster3.0.0 可以設定不同的SecurityGroups、AdditionalSecurityGroups和PlacementGroup設置。如需詳細資訊,請參閱「」HeadNode (p. 103)/Networking (p. 105)和SlurmQueues (p. 116)/Networking (p. 117)和AwsBatchQueues (p. 114)/Networking (p. 114)。

有關某些網絡方案的説明,請參閲以下體繫結構圖。

主題• 單一公有子網路中的 AWS ParallelCluster (p. 48)• 使用兩個子網路的 AWS ParallelCluster (p. 49)• 使用 AWS Direct Connect 連接的單一私有子網路中的 AWS ParallelCluster (p. 50)• AWS ParallelCluster取代為AWS Batch排程器 (p. 50)

47

AWS ParallelCluster AWS ParallelCluster 使用者指南網路組態

• AWS ParallelCluster位於無網路存取的單一子網路 (p. 52)

單一公有子網路中的 AWS ParallelCluster

此架構的組態需要下列設定:

# Note that all values are only provided as examplesHeadNode: ... Networking: SubnetId: subnet-12345678 # subnet with internet gateway #ElasticIp: true | false | eip-12345678Scheduling: Scheduler: slurm SlurmQueues: - ... Networking: SubnetIds: - subnet-12345678 # subnet with internet gateway #AssignPublicIp: true

在此配置中,必須為集羣的所有實例分配一個公有 IP 才能訪問 Internet。若要完成此動作,請執行下列操作:

• 通過啟用「啟用自動分配公有 IPv4 地址」設置,以確保為頭節點分配公有 IP 地址,方法是為HeadNode (p. 103)/Networking (p. 105)/SubnetId (p. 105)或者通過在HeadNode (p. 103)/Networking (p. 105)/ElasticIp (p. 105)。

• 確保為計算節點分配公有 IP 地址,方法是打開「啟用自動分配公有 IPv4 地址」設置,用於Scheduling (p. 112)/SlurmQueues (p. 116)/Networking (p. 117)/SubnetIds (p. 118)或通過設置AssignPublicIp (p. 118):true在Scheduling (p. 112)/SlurmQueues (p. 116)/Networking (p. 117)。

48

AWS ParallelCluster AWS ParallelCluster 使用者指南網路組態

• 如果您定義了具有多個網絡接口或網絡接口卡的 p4d 實例類型或其他實例類型,則必須將HeadNode (p. 103)/Networking (p. 105)/ElasticIp (p. 105)至true以提供公開存取。AWS公有 IP 只能分配給使用單個網絡接口啟動的實例。對於此情況,建議您使用NAT 閘道以提供叢集運算節點的公開存取。若需 IP 地址的詳細資訊,請參指派次要私有 IPv4 地址。

如需詳細資訊,請參閱「」啟用網際網路存取在Amazon VPC User Guide。

使用兩個子網路的 AWS ParallelCluster

若要對運算執行個體使用現有的私有子網路,組態需要下列設定:

# Note that all values are only provided as examplesHeadNode: ... Networking: SubnetId: subnet-12345678 # subnet with internet gateway #ElasticIp: true | false | eip-12345678Scheduling: Scheduler: slurm SlurmQueues: - ... Networking: SubnetIds: - subnet-23456789 # subnet with NAT gateway #AssignPublicIp: false

在此配置中,只需要集羣的頭節點分配公有 IP。您可以通過啟用「啟用自動分配公有 IPv4 地址」設置來實現這一目標,用於HeadNode (p. 103)/Networking (p. 105)/SubnetId (p. 105)或者通過在HeadNode (p. 103)/Networking (p. 105)/ElasticIp (p. 105)。

如果您定義了具有多個網絡接口或網絡接口卡的 p4d 實例類型或其他實例類型,則必須將HeadNode (p. 103)/Networking (p. 105)/ElasticIp (p. 105)至true以提供公開存取。AWS公有 IP 只能分配給使用單個網絡接口啟動的實例。若需 IP 地址的詳細資訊,請參指派次要私有 IPv4 地址。

此配置需要NAT 閘道或子網中用於隊列的內部代理,以便為計算實例提供 Internet 訪問權限。

49

AWS ParallelCluster AWS ParallelCluster 使用者指南網路組態

使用 AWS Direct Connect 連接的單一私有子網路中的 AWSParallelCluster

此架構的組態需要下列設定:

# Note that all values are only provided as examplesHeadNode: ... Networking: SubnetId: subnet-34567890 # subnet with proxy Proxy: HttpProxyAddress: http://proxy-address:port Ssh: KeyName: ec2-key-nameScheduling: Scheduler: slurm SlurmQueues: - ... Networking: SubnetIds: - subnet-34567890 # subnet with proxy AssignPublicIp: false Proxy: HttpProxyAddress: http://proxy-address:port

時機Scheduling (p. 112)/SlurmQueues (p. 116)/Networking (p. 117)/AssignPublicIp (p. 118)已設定為false時,必須正確設定子網路,以便對所有流量使用代理。頭部和運算節點都需要 Web 存取。

AWS ParallelCluster取代為AWS Batch排程器當您使用 awsbatch 做為排程器類型時,AWS ParallelCluster 會建立 AWS Batch 受管運算環境。所以此AWS Batch環境管理 Amazon Elastic Container Service (Amazon ECS) 容器執行個體。這些實例在AwsBatchQueues (p. 114)/Networking (p. 114)/SubnetIds (p. 115)參數。適用於AWSBatch若要正確運作,Amazon ECS 容器執行個體需要外部網路存取,以便與 Amazon ECS 服務端點通訊。這轉換成以下案例:

• 為隊列指定的子網 ID 使用NAT 閘道以存取網際網路。建議您使用此方法。• 在隊列子網路中啟動的執行個體具有公有 IP 地址,而且可以透過網際網路閘道來連接網際網路。

50

AWS ParallelCluster AWS ParallelCluster 使用者指南網路組態

此外,如果您對多節點平行任務感興趣(來自AWS Batch文檔):

AWS Batch多節點平行任務使用 Amazon ECSawsvpc網路模式。這會為您的多節點平行任務容器提供與Amazon EC2 執行個體相同的聯網屬性。每個多節點平行任務容器皆會取得自己的彈性網路界面、主要私有IP 地址及內部 DNS 主機名稱。網路界面是在與其主機運算資源相同的 Amazon VPC 子網路中建立。任何套用到您運算資源的安全群組,也會套用在它身上。

使用亞馬遜雲服務器任務網絡時,awsvpc網路模式不提供具有公有 IP 地址的彈性網路界面,以便使用Amazon EC2 啟動類型的任務。若要存取網際網路,使用 Amazon EC2 啟動類型的任務必須在設定為使用NAT 閘道的私有子網路中啟動。

您必須配置NAT 閘道,以便使羣集運行多節點平行任務。

以前的所有配置和注意事項都適用於AWS Batch,太。以下是的範例AWS Batch網路組態。

# Note that all values are only provided as examplesHeadNode: ... Networking: SubnetId: subnet-12345678 # subnet with internet gateway, NAT gateway or proxy #ElasticIp: true | false | eip-12345678 #Proxy: #HttpProxyAddress: http://proxy-address:port Ssh: KeyName: ec2-key-nameScheduling: Scheduler: awsbatch AwsBatchQueues: - ... Networking: SubnetIds: - subnet-23456789 # subnet with internet gateway, NAT gateway or proxy #AssignPublicIp: true | false

在 中Scheduling (p. 112)/AwsBatchQueues (p. 114)/Networking (p. 114)區段中,SubnetIds (p. 115)是列表類型,但目前只支持一個子網。

如需詳細資訊,請參閱下列主題:

51

AWS ParallelCluster AWS ParallelCluster 使用者指南網路組態

• AWS Batch託管運算環境• AWS Batch多節點平行任務• 使用 awsvpc 網絡模式進行亞馬遜彈性雲服務器任務聯網

AWS ParallelCluster位於無網路存取的單一子網路

沒有 Internet 訪問的子網不允許入站或出站連接到互聯網。這一個AWS ParallelCluster配置可以幫助與安全相關的客户進一步增強AWS ParallelCluster的費用。AWS ParallelCluster節點是從AWSParallelClusterAMI,包括運行沒有 Internet 訪問權限的羣集所需的所有軟件。這樣AWS ParallelCluster可以建立和管理具有無法存取網際網路的節點的集羣。

在本節中,您將學會如何設定羣集。您還可以瞭解在沒有互聯網訪問的情況下運行集羣的限制。

設定 VPC 端點

為了確保羣集正常運行,羣集節點必須能夠與多個AWSService (服務)

創建並配置以下VPC 端點,以便羣集節點可以與AWS無互聯網連接的服務:

Commercial and AWS GovCloud (US) partitions

服務 服務名稱 類型

Amazon CloudWatch 通過亞馬遜。區區區區.log 界面

AWS CloudFormation 通過亞馬遜。區區區區.cloud 界面

Amazon EC2 通過亞馬遜。區區區區.EC2 界面

Simple Storage Service(Amazon S3)

通過亞馬遜。區區區區.s3 閘道

52

AWS ParallelCluster AWS ParallelCluster 使用者指南網路組態

服務 服務名稱 類型

Amazon DynamoDB 通過亞馬遜。區區區區.dynamodb 閘道

AWS Secrets Manager** 通過亞馬遜。區區區區.ecretsManager

界面

China partition

服務 服務名稱 類型

Amazon CloudWatch 通過亞馬遜。區區區區.log 界面

AWS CloudFormation 亞馬遜。區區區區.cloud 界面

Amazon EC2 亞馬遜。區區區區.EC2 界面

Simple Storage Service(Amazon S3)

通過亞馬遜。區區區區.s3 閘道

Amazon DynamoDB 通過亞馬遜。區區區區.dynamodb 閘道

AWS Secrets Manager** 通過亞馬遜。區區區區.ecretsManager

界面

** 此終端節點僅在DirectoryService (p. 138),否則它是可選的。

VPC 中的所有實例都必須具有適當的安全組才能與終端進行通信。您可以通過將安全組添加到AdditionalSecurityGroups (p. 105)在下方HeadNode (p. 103)和AdditionalSecurityGroups (p. 118)在下方SlurmQueues (p. 116)配置。例如,如果在未明確指定安全組的情況下建立 VPC 端點,則會是與端點關聯的默認安全組。通過將預設安全組添加到AdditionalSecurityGroups中,您可以啟用羣集和終端之間的通信。

禁用路由 53 並使用 EC2 主機名

建立 Surm 叢集時,AWS ParallelCluster創建一個專用 Route 53 託管區域,用於解析自定義計算節點主機名,例如{queue_name}-{st|dy}-{compute_resource}-{N}。由於 Route 53 不支持 VPC終端節點,因此必須禁用此功能。此外,AWS ParallelCluster必須配置為使用默認的 EC2 主機名,例如ip-1-2-3-4。將以下設置應用於您的羣集配置:

...Scheduling: ... SlurmSettings: Dns: DisableManagedDns: true UseEc2Hostnames: true

Warning

對於使用SlurmSettings (p. 125)/Dns (p. 126)/DisableManagedDns (p. 126)和UseEc2Hostnames (p. 126)設定為true, 泥漿NodeName未通過 DNS 解析。使用泥漿NodeHostName反之。

叢集組態

53

AWS ParallelCluster AWS ParallelCluster 使用者指南網路組態

瞭解如何將集羣配置為在沒有連接到 Internet 的子網中運行。

此架構的組態需要下列設定:

# Note that all values are only provided as examples...HeadNode: ... Networking: SubnetId: subnet-1234567890abcdef0 # the VPC of the subnet needs to have VPC endpoints AdditionalSecurityGroups: - sg-abcdef01234567890 # optional, the security group that enables the communication between the cluster and the VPC endpointsScheduling: Scheduler: slurm # Cluster in a subnet without internet access is supported only when the scheduler is Slurm. SlurmSettings: Dns: DisableManagedDns: true UseEc2Hostnames: true SlurmQueues: - ... Networking: SubnetIds: - subnet-1234567890abcdef0 # the VPC of the subnet needs to have VPC endpoints attached AdditionalSecurityGroups: - sg-1abcdef01234567890 # optional, the security group that enables the communication between the cluster and the VPC endpoints

• SubnetId(s) (p. 105):沒有互聯網訪問的子網。

若要啟用AWS ParallelCluster和AWS服務,子網的 VPC 必須附加 VPC 終端節點。建立叢集前,請確定已禁用自動指派公有 IPv4 地址,以確保pcluster命令具有對羣集的訪問權限。

• AdditionalSecurityGroups (p. 105):啟用羣集和 VPC 終端節點之間通信的安全組。

可選:• 如果在未明確指定安全組的情況下建立 VPC 端點,則會關聯預設的 VPC 安全組。因此,請將預設安全

組提供給AdditionalSecurityGroups。• 如果在創建羣集和/或 VPC 終端節點時使用了自定義安全組,AdditionalSecurityGroups只要自定

義安全組啟用羣集和 VPC 終端節點之間的通信,則不必要。• Scheduler (p. 113):叢集調度器。

slurm是唯一有效的值。只有 Surm 調度程序支持子網中沒有互聯網訪問權限的羣集。• SlurmSettings (p. 125):泥漿設置。

請參前一節禁用路由 53 並使用 EC2 主機名。

限制

• 通過 SSH 或 NICE DCV 連接到頭節點:連接到羣集時,請確保連接的客户端可以通過其私有 IP 地址到達羣集的頭節點。如果客户端與頭節點不在同一 VPC 中,請在 VPC 的公有子網中使用代理實例。此要求適用於 SSH 和 DCV 連接。如果子網沒有互聯網訪問權限,則無法訪問頭節點的公有 IP。所以此pclusterssh和dcv-connect命令使用公有 IP(如果存在)或私有 IP。建立叢集前,請確定已禁用自動指派公有IPv4 地址,以確保pcluster命令具有對羣集的訪問權限。

以下範例顯示如何連接到運行在羣集頭節點中的 DCV 會話。您可以通過代理 EC2 執行個體連接。該實例充當 PC 的 NICE DCV 服務器和私有子網中頭節點的客户端。

54

AWS ParallelCluster AWS ParallelCluster 使用者指南自訂引導操作

通過公有子網路中的代理執行個體通過 DCV 進行 Connect:

1. 在公有子網中創建 EC2 實例,該實例與集羣子網位於同一 VPC 中。2. 確保您的 EC2 實例上安裝了 NICE DCV 客户端和服務器。3. 附加AWS ParallelCluster用户策略添加到代理 EC2 實例。如需詳細資訊,請參閱 AWS

ParallelCluster示例用户策略 (p. 26)。4. 安裝AWS ParallelCluster位於代理 EC2 執行個體上。5. 通過 DCV Connect 到代理 EC2 實例。6. 使用pcluster dcv-connect命令連接到子網內的集羣,而無需 Internet 訪問。

• 與其他互動AWS服務:只有嚴格要求的服務AWS ParallelCluster在上方列出。如果您的集羣必須與其他服務交互,請創建相應的 VPC 終端節點。

自訂引導操作AWS ParallelCluster可以在節點啟動後運行任意代碼(OnNodeStart)或者節點配置正確完成時(OnNodeConfigured。在大多數情況下,此程式碼會存放在 Amazon Simple Storage Service (AmazonS3) 中,並通過 HTTPS 連接進行訪問。代碼運行為root並且可以是集羣作業系統所支援的任何指令碼語言。通常,代碼位於Bash或者蟒蛇。

OnNodeStart動作會在任何節點部署引導操作啟動之前會呼叫,例如配置 NAT、Amazon Elastic BlockStore (Amazon EBS) 或排程器。OnNodeStart引導操作可能包括修改儲存體、添加額外使用者以及添加套件。

OnNodeConfigured操作在節點引導進程完成後調用。OnNodeConfigured操作用於在實例被認為完全配置和完成之前發生的最後一個操作。一些OnNodeConfigured動作包括更改排程器設定、修改儲存體以及修改套件。您可以在配置期間指定引數,以將這些引數傳遞至指令碼。

如果自定義動作失敗,則實例引導也會失敗。成功是以結束碼零 (0) 表示。任何其他退出代碼都表示實例引導失敗。

您可以為頭節點和每個隊列指定不同的腳本,在HeadNode /CustomActions (p. 109)和Scheduling / SlurmQueues / CustomActions (p. 123)組態區段。

Note

之前AWS ParallelCluster版本 3.0,則無法為頭節點和計算節點指定不同的腳本。請參閱 從移動AWS ParallelCluster2.x 至 3.x (p. 17)。

組態

以下配置設置用於定義OnNodeStart和OnNodeConfigured動作和引數。

HeadNode: [...] CustomActions: OnNodeStart: # Script URL. This is run before any of the bootstrap scripts are run Script: s3://bucket-name/on-node-start.sh # s3:// | https:// # Arguments to be passed to the script Args: - arg1 - arg2 OnNodeConfigured: # Script URL. This is run after all the bootstrap scripts are run

55

AWS ParallelCluster AWS ParallelCluster 使用者指南自訂引導操作

Script: s3://bucket-name/on-node-configured.sh # s3:// | https:// # Arguments to be passed to the script Args: - arg1 - arg2 # Bucket permissions Iam: S3Access: - BucketName: bucket_name EnableWriteAccess: falseScheduling: Scheduler: slurm [...] SlurmQueues: - Name: queue1 [...] CustomActions: OnNodeStart: Script: s3://bucket-name/on-node-start.sh # s3:// | https:// Args: - arg1 - arg2 OnNodeConfigured: Script: s3://bucket-name/on-node-configured.sh # s3:// | https:// Args: - arg1 - arg2 Iam: S3Access: - BucketName: bucket_name EnableWriteAccess: false

Arguments (引數)

Note

InAWS ParallelCluster2 x$1參數是保留的參數,用於存儲自定義腳本的 URL。如果要重新使用為AWS ParallelCluster2.x 帶AWS ParallelCluster3.x 你需要通過考慮參數的轉移來調整它們。請參閱從移動AWS ParallelCluster2.x 至 3.x (p. 17)。

範例

以下步驟建立一個簡單的指令碼,以在節點配置後執行,該指令碼會安裝R, curl和wget軟件包在羣集的節點中。

1. 建立指令碼。

#!/bin/bashecho "The script has $# arguments"for arg in "$@"do echo "arg: ${arg}"done

yum -y install "${@:1}"

2. 以正確許可將具有正確許可的指令碼上傳至 Amazon S3。如果公共讀取權限不適合您,請使用Iam /S3Access區段HeadNode(HeadNode 區段 (p. 103))和Scheduling / SlurmQueues(Scheduling區段 (p. 112))組態區段如需詳細資訊,請參使用 Amazon S3 (p. 204)。

$ aws s3 cp --acl public-read /path/to/myscript.sh s3://<bucket-name>/myscript.sh

56

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

Important

如果在 Windows 上編輯指令碼,則必須先將行結從 CRLF 更改為 LF,然後才能將指令碼上傳至Amazon S3。

3. 更新AWS ParallelCluster配置以包含新的OnNodeConfigured動作。

CustomActions: OnNodeConfigured: Script: https://<bucket-name>.s3.<region>.amazonaws.com/myscript.sh Args: - "R" - "curl" - "wget"

如果存儲體沒有公開讀取許可,請使用s3作為 URL 協議。

CustomActions: OnNodeConfigured: Script: s3://<bucket-name>/myscript.sh Args: - "R" - "curl" - "wget"

4. 啟動叢集。

pcluster create-cluster --cluster-name mycluster \ --region <region> --cluster-configuration config-file.yaml

5. 驗證輸出。

$ less /var/log/cfn-init.log

2021-09-03 10:43:54,588 [DEBUG] Command runpostinstall output: The script has 3 argumentsarg: Rarg: curlarg: wgetLoaded plugins: dkms-build-requires, priorities, update-motd, upgrade-helperPackage R-3.4.1-1.52.amzn1.x86_64 already installed and latest versionPackage curl-7.61.1-7.91.amzn1.x86_64 already installed and latest versionPackage wget-1.18-4.29.amzn1.x86_64 already installed and latest versionNothing to do

AWS ParallelCluster 支援的排程器支援的排程器AWS ParallelCluster

AWS ParallelCluster支援Slurm和AWS Batch調度器,使用Scheduler (p. 113)設定。

主題• Slurm Workload Manager (slurm) (p. 58)• AWS Batch (awsbatch) (p. 65)

57

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

Slurm Workload Manager (slurm)如需 Slurm 的相關資訊,請參https://slurm.schedmd.com。如需下載,請參https://www.schedmd.com/downloads.php。如需來源碼,請參閱https://github.com/SchedMD/slurm。

AWS ParallelCluster3.1.2 版使用泥漿 21.08.6。AWS ParallelCluster3.1.1 版使用泥漿 21.08.5。AWSParallelCluster3.0.0 版使用泥漿 20.11.8。AWS ParallelCluster版本使用泥漿 20.11.7。AWSParallelCluster2.10.4 版使用 20.02.7 的泥漿。AWS ParallelCluster版本在 2.9.0 和 2.10.3 之間使用泥漿20.02.4。AWS ParallelCluster版本在 2.6 和 2.8.1 之間使用泥漿 19.05.5.AWS ParallelCluster2.5.0 和 2.5.1版本使用 19.05.3-2。AWS ParallelCluster2.3.1 和 2.4.1 之間的版本使用 18.08.6-2。AWS ParallelCluster版本使用泥漿 16.05.3-1。

主題• 多個佇列的組態檔案 (p. 58)• Slurm多隊列模式的指南 (p. 59)

多個佇列的組態檔案

多個佇列的組態檔案

搭配AWS ParallelCluster版本 3,您可以通過設置Scheduler (p. 113)至slurm並指定多個隊列SlurmQueues (p. 116)在組態檔案中。在此模式下,不同的實例類型並存在於ComputeResources (p. 119)區段中的組態檔案。ComputeResources (p. 119)將根據需要向上或縮小SlurmQueues (p. 116)。目前,您可以指定最多五 (5)ComputeResources (p. 119)每個排列,最多十 (10)SlurmQueues (p. 116)。每個指定隊列對應於Slurm Workload Manager。如需詳細資訊,請參閱 Slurm Workload Manager (slurm) (p. 58)。

節點計數

中的每個計算資源ComputeResources (p. 119)必須有唯一的Name (p. 120)、InstanceType (p. 120)、MinCount (p. 120),和MaxCount (p. 120)。MinCount (p. 120)和MaxCount (p. 120)具有默認值,用於定義ComputeResources (p. 119)以獲取組態檔案。您也可以指定自己的值MinCount (p. 120)和MaxCount (p. 120)。中的每個計算資源ComputeResources (p. 119)是由編號從 1 到MinCount (p. 120)和動態節點的值編號為MinCount (p. 120)設置為MaxCount (p. 120)。

範例組態

以下是的範例排程 (p. 112)區段查看羣集組態檔案。在此配置中,有兩個名為queue1和queue2,並且每個隊列都有ComputeResources (p. 119)使用指定的MaxCount (p. 120)。

Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ComputeResources: - InstanceType: c5.xlarge MaxCount: 5 Name: c5xlarge - InstanceType: c4.xlarge MaxCount: 5 Name: c4xlarge - Name: queue2 ComputeResources: - InstanceType: c5.xlarge MaxCount: 5 Name: c5xlarge

58

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

HostName

啟動到計算隊列中的實例是動態分配的。每個節點都會生成 HostName。HostName 的格式如下:

$HOSTNAME=$QUEUE-$STATDYN-$COMPUTE_RESOURCE-$NODENUM

• $QUEUE是組態檔案的名稱。例如,如果SlurmQueues (p. 116)部分有一個條目,其中包含Name (p. 117)設置為」queue-name」然後」$QUEUE」是」queue-name」.

• $STATDYN是st對於靜態節點,或dy用於動態節點。• $COMPUTE_RESOURCE是Name (p. 120)的ComputeResource (p. 119)對應於此節點。• $NODENUM是節點的編號。$NODENUM的值介於 1 (1) 之間,MinCount (p. 120)對於靜態節點以及介於

一 (1) 和MaxCount (p. 120)-MinCount (p. 120)用於動態節點。

從上面的示例配置文件中,queue1和運算資源c5xlarge有一個主機名:queue1-dy-c5xlarge-1。

主機名和完全限定域名 (FQDN) 都是使用 Amazon Route 53 託管區域創建的。FQDN 是$HOSTNAME.$CLUSTERNAME.pcluster,其中$CLUSTERNAME是集的名稱。

Slurm多隊列模式的指南以下各節提供了有關使用具有擴展體繫結構的 Slurm 集羣的一般概述。

概觀

擴展體繫結構基於Slurm的雲計劃指南和省電插件。如需有關節能插件的詳細資訊,請參Slurm節能指南。在體繫結構中,可能為羣集提供的資源通常在Slurm配置為雲節點。

雲節點生命週期

雲節點在整個生命週期中輸入以下幾種狀態(如果不是全部):POWER_SAVING、POWER_UP(pow_up),ALLOCATED(alloc)和POWER_DOWN(pow_dn。在某些情況下,雲節點可能會進入OFFLINE狀態。下面的列表詳細介紹了雲節點生命週期中這些狀態的幾個方面。

• 中的節點POWER_SAVINGstate顯示為~後綴(例如idle~) 在sinfo。在此狀態下,沒有 EC2 實例支持該節點。但是,Slurm仍然可以將作業分配給節點。

• 一個節點轉換為POWER_UPstate顯示為#後綴(例如idle#) 在sinfo。節點會自動轉換為POWER_UP狀態,何時Slurm將作業分配給POWER_SAVING狀態。

或者,節點也可以轉換到POWER_UP狀態手動使用scontrol update nodename=nodenamestate=power_up命令。在這個階段,ResumeProgram,則啟動和配置 EC2 實例,節點會轉換到POWER_UP狀態。

• 當前可供使用的節點出現沒有後綴(例如idle) 在sinfo。在節點設置並加入羣集後,該節點就可以運行作業。在此階段,節點配置正確,可供使用。

作為一般規則,我們建議 EC2 實例的數量與可用節點數量相同。在大多數情況下,靜態節點在創建羣集後可用。

• 正在轉換為POWER_DOWNstate顯示為%後綴(例如idle%) 在sinfo。動態節點自動輸入POWER_DOWN狀態後ScaledownIdletime (p. 125)。相比之下,在大多數情況下,靜態節點不會關閉電源。但是,節點可以放置在POWER_DOWN狀態手動使用scontrol update nodename=nodenamestate=powering_down命令。在此狀態下,與節點關聯的實例將被終止,並且節點設置回POWER_SAVING狀態,並且可用於ScaledownIdletime (p. 125)。

所以此ScaledownIdletime (p. 125)設置將保存到Slurm配置SuspendTimeout設定。• 脱機的節點顯示為*後綴(例如down*) 在sinfo。節點將脱機,如果Slurm控制器無法聯繫該節點,或者

如果靜態節點被禁用並終止後備實例。

考慮以下所示的節點狀態sinfo範例。

59

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST efa up infinite 4 idle~ efa-dy-efacompute1-[1-4] efa up infinite 1 idle efa-st-efacompute1-1 gpu up infinite 1 idle% gpu-dy-gpucompute1-1 gpu up infinite 9 idle~ gpu-dy-gpucompute1-[2-10] ondemand up infinite 2 mix# ondemand-dy-ondemandcompute1-[1-2] ondemand up infinite 18 idle~ ondemand-dy-ondemandcompute1-[3-10],ondemand-dy-ondemandcompute2-[1-10] spot* up infinite 13 idle~ spot-dy-spotcompute1-[1-10],spot-dy-spotcompute2-[1-3] spot* up infinite 2 idle spot-st-spotcompute2-[1-2]

所以此spot-st-spotcompute2-[1-2]和efa-st-efacompute1-1節點已經設置了備份實例,可供使用。所以此ondemand-dy-ondemandcompute1-[1-2]節點位於POWER_UP狀態,並應該會在幾分鐘內提供。所以此gpu-dy-gpucompute1-1節點位於POWER_DOWN狀態,並將其轉換為POWER_SAVING狀態後ScaledownIdletime (p. 125)(默認為 10 分鐘)。

所有其他節點都位於POWER_SAVING狀態,沒有 EC2 實例支持它們。

使用可用節點

可用節點由 EC2 實例提供支援。默認情況下,節點名稱可用於直接 SSH 到實例中(例如ssh efa-st-efacompute1-1。可以使用scontrol show nodes nodename命令並檢查NodeAddr欄位。

對於無法使用的節點,NodeAddr字段不應指向正在運行的 EC2 實例。相反,它應該與節點名稱相同。

Job 狀態和提交

在大多數情況下提交的作業會立即分配給系統中的節點,如果所有節點都已分配,則將其置於待定狀態。

如果為作業分配的節點包含POWER_SAVING狀態時,作業以CF, 或CONFIGURING狀態。此時,作業將等待POWER_SAVING狀態轉換為POWER_UP狀態並變為可用。

在為作業分配的所有節點都可用後,作業將進入RUNNING(R狀態。

默認情況下,所有作業都會提交到默認隊列(Slurm。這是由一個*後綴在隊列名稱之後。您可以使用-p作業提交選項。

所有節點都配置了以下功能,這些功能可用於作業提交命令:

• 實例類型(例如c5.xlarge)• 節點類型(這是dynamic或者static。)

您可以查看特定節點的要素,方法是使用scontrol show nodes nodename命令並檢查AvailableFeatures列表。

考慮羣集的初始狀態,您可以通過運行sinfo命令。

$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST efa up infinite 4 idle~ efa-dy-efacompute1-[1-4] efa up infinite 1 idle efa-st-efacompute1-1 gpu up infinite 10 idle~ gpu-dy-gpucompute1-[1-10] ondemand up infinite 20 idle~ ondemand-dy-ondemandcompute1-[1-10],ondemand-dy-ondemandcompute2-[1-10] spot* up infinite 13 idle~ spot-dy-spotcompute1-[1-10],spot-dy-spotcompute2-[1-3] spot* up infinite 2 idle spot-st-spotcompute2-[1-2]

請注意:spot是預設的隊列。它由*後置詞。

60

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

將作業提交到默認隊列中的一個靜態節點(spot。

$ sbatch --wrap "sleep 300" -N 1 -C static

將作業提交到EFAqueue.

$ sbatch --wrap "sleep 300" -p efa -C dynamic

將作業提交給八 (8)c5.2xlarge節點和兩個 (2)t2.xlarge節點ondemandqueue.

$ sbatch --wrap "sleep 300" -p ondemand -N 10 -C "[c5.2xlarge*8&t2.xlarge*2]"

將作業提交到gpuqueue.

$ sbatch --wrap "sleep 300" -p gpu -G 1

考慮任務的狀態,使用squeue命令。

$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 12 ondemand wrap ubuntu CF 0:36 10 ondemand-dy-ondemandcompute1-[1-8],ondemand-dy-ondemandcompute2-[1-2] 13 gpu wrap ubuntu CF 0:05 1 gpu-dy-gpucompute1-1 7 spot wrap ubuntu R 2:48 1 spot-st-spotcompute2-1 8 efa wrap ubuntu R 0:39 1 efa-dy-efacompute1-1

工作 7 和 8(在spot和efa隊列)已在運作中(R。作業 12 和 13 仍在配置(CF),可能等待實例變為可用。

# Nodes states corresponds to state of running jobs $ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST efa up infinite 3 idle~ efa-dy-efacompute1-[2-4] efa up infinite 1 mix efa-dy-efacompute1-1 efa up infinite 1 idle efa-st-efacompute1-1 gpu up infinite 1 mix~ gpu-dy-gpucompute1-1 gpu up infinite 9 idle~ gpu-dy-gpucompute1-[2-10] ondemand up infinite 10 mix# ondemand-dy-ondemandcompute1-[1-8],ondemand-dy-ondemandcompute2-[1-2] ondemand up infinite 10 idle~ ondemand-dy-ondemandcompute1-[9-10],ondemand-dy-ondemandcompute2-[3-10] spot* up infinite 13 idle~ spot-dy-spotcompute1-[1-10],spot-dy-spotcompute2-[1-3] spot* up infinite 1 mix spot-st-spotcompute2-1 spot* up infinite 1 idle spot-st-spotcompute2-2

節點狀態和功能

在大多數情況下,節點狀態完全由AWS ParallelCluster根據本主題前面介紹的雲節點生命週期中的特定進程。

但是,AWS ParallelCluster也會替換或終止DOWN和DRAINED狀態和具有運行狀況不佳的備份實例的節點。如需詳細資訊,請參閱 clustermgtd (p. 144)。

分割區狀態

AWS ParallelCluster支持以下分區狀態。一個Slurm分區是AWS ParallelCluster。

61

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

• UP:表示分區處於活動狀態。這是分區的默認狀態。在此狀態下,分區中的所有節點都處於活動狀態並可供使用。

• INACTIVE:表示分區處於非活動狀態。在此狀態下,支持非活動分區節點的所有實例都將終止。不會為非活動分區中的節點啟動新實例。

羣集update-compute-fleet

• 停止計算隊列-執行以下命令時,所有分區都會轉換為INACTIVE狀態,AWS ParallelCluster進程將分區保留在INACTIVE狀態。

$ pcluster update-compute-fleet --cluster-name testSlurm \ --region eu-west-1 --status STOP_REQUESTED

• 啟動計算隊列-執行以下命令時,所有分區最初都會轉換為UP狀態。但是,AWS ParallelCluster進程不會將分區保存在UP狀態。您需要手動更改分區狀態。所有靜態節點會在幾分鐘後變為可用。請注意,將分區設置為UP不會啟動任何動態容量。

$ pcluster update-compute-fleet --cluster-name testSlurm \ --region eu-west-1 --status START_REQUESTED

時機update-compute-fleet運行時,您可以通過運行pcluster describe-compute-fleet命令並檢查Status。以下列出了可能的狀態:

• STOP_REQUESTED:停止計算隊列請求被發送到羣集。• STOPPING:pcluster進程當前正在停止計算隊列。• STOPPED:pcluster進程完成了停止過程,所有分區都在INACTIVE狀態,並終止所有計算實例。• START_REQUESTED:啟動計算隊列請求被發送到羣集。• STARTING:pcluster進程當前正在啟動集。• RUNNING:pcluster進程完成了啟動過程,所有分區都位於UP狀態,並且靜態節點會在幾分鐘後使用。• PROTECTED:此狀態表示某些分區具有一致的引導故障。受影響的分區處於非活動狀態。請調查問題,然

後運行update-compute-fleet以重新啟用車隊。

手動控制隊列

在某些情況下,您可能需要手動控制節點或隊列(稱為Slurm)在羣集中。您可以通過以下常見過程管理羣集中的節點。

• 啟動動態節點的電源POWER_SAVINGstate

執行scontrol update nodename=nodename state=power_up命令或提交佔位符sleep 1作業請求一定數量的節點,然後依賴Slurm以啟動所需數量的節點。

• 關閉動態節點之前的電源ScaledownIdletime (p. 125)

建議您設定動態節點至DOWN使用scontrol update nodename=nodename state=down命令。AWSParallelCluster會自動終止並重置已停止的動態節點。

通常,建議您不要將節點設定為POWER_DOWN執行個體直接使用scontrol updatenodename=nodename state=power_down命令。這是因為AWS ParallelCluster會自動處理斷電過程。

• 禁用隊列(分區)或停止特定分區中的所有靜態節點

將特定隊列設置為INACTIVE使用scontrol update partition=queue name state=inactive命令。執行此操作將終止分區中支持節點的所有實例。

62

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

• 啟用隊列(分區)

將特定隊列設置為UP使用scontrol update partition=queue name state=up命令。

擴展行為和調整

以下為常規擴展工作流的範例:

• 調度程序接收需要兩個節點的作業。• 調度程序將兩個節點轉換為POWER_UP狀態,並調用ResumeProgram與節點名稱(例如queue1-dy-spotcompute1-[1-2]。

• ResumeProgram啟動兩個 EC2 實例,並將queue1-dy-spotcompute1-[1-2], 等待ResumeTimeout(默認時間段為重置節點前 30 分鐘。

• 實例已配置並加入集羣。作業在實例上開始運行。• 作業完成並停止運行。• 在配置SuspendTime已經過去(設置為ScaledownIdletime (p. 125)),調度程序會將實例設置

為POWER_SAVING狀態。然後,調度程序將queue1-dy-spotcompute1-[1-2]添加到POWER_DOWN狀態和調用SuspendProgram與節點名稱相同。

• SuspendProgram被調用為兩個節點。節點保留在POWER_DOWN狀態,例如,通過剩餘idle%對於SuspendTimeout(默認週期為 120 秒(2 分鐘))。Afterclustermgtd檢測到節點正在關閉電源,則會終止備份實例。然後,它轉換queue1-dy-spotcompute1-[1-2]設置為空閒狀態,並重置私有 IP地址和主機名,以便為將來的作業打開電源。

如果出錯並且由於某種原因無法啟動特定節點的實例,則會發生以下情況:

• 調度程序接收需要兩個節點的作業。• 調度程序將兩個雲突發節點轉換到POWER_UP狀態和調用ResumeProgram與節點名,(例如queue1-dy-spotcompute1-[1-2]。

• ResumeProgram僅啟動一 (1) 個 EC2 實例並配置queue1-dy-spotcompute1-1,具有一個(1)個實例,queue1-dy-spotcompute1-2,無法啟動。

• queue1-dy-spotcompute1-1不會受到影響,並在達到POWER_UP狀態。• queue1-dy-spotcompute1-2轉換為POWER_DOWN狀態,並且作業將自動重新獲得,因為Slurm會檢測

到節點故障。• queue1-dy-spotcompute1-2之後變為可用SuspendTimeout(默認值為 120 秒(2 分鐘))。與此

同時,作業將被重新執行,並且可以在另一個節點上開始運行。• 上述過程將重複,直到作業可以在可用節點上運行,而不會發生故障。

有兩個時序參數可以根據需要進行調整:

• ResumeTimeout(默認值為 30 分鐘):ResumeTimeout控制時間Slurm在將節點轉換到關閉狀態之前等待。• 它可能是有用的擴展ResumeTimeout如果您的安裝前/後安裝過程花費了這麼長的時間。• ResumeTimeout也是AWS ParallelCluster如果存在問題,則在替換或重置節點之前等待。如果在啟動

或安裝過程中發生任何錯誤,計算節點會自動終止。AWS ParallelCluster進程在檢測到終止的實例時替換節點。

• SuspendTimeout(默認值為 120 秒(2 分鐘)):SuspendTimeout控制節點返回系統並準備再次使用的速度。• 一個較短的SuspendTimeout意味着節點的重置速度更快,Slurm可以嘗試更頻繁地啟動實例。• 一個更長的SuspendTimeout意味着失敗的節點重置速度更慢。同時,Slurm嘗試使用其他節

點。如果SuspendTimeout超過幾分鐘,Slurm嘗試循環遍歷系統中的所有節點。一個更長

63

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

的SuspendTimeout可能有利於大型系統(超過 1,000 個節點),以減少Slurm當它嘗試經常重新排隊失敗的作業時。

• 請注意:SuspendTimeout不是指時間AWS ParallelCluster等待終止節點的備用實例。備份POWER_DOWN節點將立即終止。終止過程通常會在幾分鐘內完成。但是,在此期間,節點將保留在POWER_DOWN狀態,並且無法使用調度程序。

體繫結構的日誌

以下清單包含密鑰日誌。亞馬遜使用的日誌流名稱CloudWatch日誌的格式為{hostname}.{instance_id}.{logIdentifier},其中logIdentifier跟隨日誌名稱。

• ResumeProgram: /var/log/parallelcluster/slurm_resume.log (slurm_resume)• SuspendProgram: /var/log/parallelcluster/slurm_suspend.log (slurm_suspend)• clustermgtd: /var/log/parallelcluster/clustermgtd.log (clustermgtd)• computemgtd: /var/log/parallelcluster/computemgtd.log (computemgtd)• slurmctld: /var/log/slurmctld.log (slurmctld)• slurmd: /var/log/slurmd.log (slurmd)

常見問題以及如何調試:

啟動、啟動或加入羣集失敗的節點

• 動態節點:• 檢查ResumeProgram日誌以查看ResumeProgram與節點一起調用。如果沒有,請檢查slurmctld日

誌以確定Slurm試圖調用ResumeProgram與節點。請注意,ResumeProgram可能會導致它靜默失敗。• 如果ResumeProgram,請檢查是否為該節點啟動了實例。如果實例沒有啟動,則應該有明確的錯誤消

息,説明實例啟動失敗的原因。• 如果啟動了實例,則可能在引導過程中出現問題。查找相應的私有 IP 地址和實例 ID,請

從ResumeProgram日誌,並查看特定實例的相應引導日誌CloudWatch日誌。• 靜態節點:

• 檢查clustermgtd日誌以查看是否為節點啟動了實例。如果實例未啟動,則實例無法啟動的原因應該存在明確錯誤。

• 如果啟動了實例,則引導過程存在一些問題。查找相應的私有 IP 和實例 ID,請從clustermgtd日誌,並查看特定實例的相應引導日誌CloudWatch日誌。

節點意外替換或終止,節點出現故障

• 意外替換/終止的節點:• 大多數情況下,clustermgtd處理所有節點維護動作。如需檢查clustermgtd替換或終止某個節點,

請檢查clustermgtd日誌。• 如果clustermgtd替換或終止節點,則應該出現一條消息,指出該操作的原因。如果原因與調度程序相

關(例如,節點為DOWN),請檢入slurmctld日誌瞭解更多詳細資訊。如果原因與 EC2 相關,請使用諸如 AmazonCloudWatch或AWSEC2 控制台、CLI 或軟件開發工具包,以檢查該實例的狀態或日誌。例如,您可以檢查實例是否有計劃事件或 EC2 運行狀況檢查失敗。

• 如果clustermgtd沒有終止節點,請檢查computemgtd終止節點,或者如果 EC2 終止了實例以回收競價型實例。

• 節點故障:• 在大多數情況下,如果節點出現故障,則會自動重新調整作業。查看slurmctld日誌以查看作業或節點

失敗的原因,並從那裏評估情況。

替換或終止實例時出現故障,關閉節點電源時出現故障

64

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

• 一般來説,clustermgtd處理所有預期的實例終止操作。查看clustermgtd日誌,瞭解為什麼它無法替換或終止節點。

• 對於動態節點出現故障ScaledownIdletime (p. 125),請查看SuspendProgram日誌以查看slurmctld進程以特定節點作為參數進行調用。注意SuspendProgram實際上並沒有執行任何特定的操作。相反,它只在調用時記錄。所有實例終止和NodeAddr重置完成clustermgtd。Slurm將節點轉換為IDLE之後SuspendTimeout。

其他問題:

• AWS ParallelCluster不會做出任務分配或擴展決策。它只嘗試啟動、終止和維護資源,根據Slurm的説明。

有關作業分配、節點分配和擴展決策的問題,請查看slurmctld日誌錯誤。

AWS Batch (awsbatch)如需 AWS Batch 的資訊,請參閱《AWS Batch》。如需文件,請參AWS Batch使用者指南。

AWS ParallelCluster用於的 CLI 命令AWS BatchImportant

當您使用情況AWS Batch,則不支持 GPU 作業。

當您使用awsbatch調度程序,AWS ParallelCluster用於的 CLI 命令AWS Batch會自動安裝在AWSParallelCluster頭節點。CLI 使用AWS BatchAPI 操作,並允許以下操作:

• 提交和管理任務。• 監控任務、佇列和主機。• 鏡像傳統排程器命令。

主題• awsbsub (p. 65)• awsbstat (p. 67)• awsbout (p. 68)• awsbkill (p. 68)• awsbqueues (p. 69)• awsbhosts (p. 69)

awsbsub

將任務提交至集羣的任務隊列。

awsbsub [-h] [-jn JOB_NAME] [-c CLUSTER] [-cf] [-w WORKING_DIR] [-pw PARENT_WORKING_DIR] [-if INPUT_FILE] [-p VCPUS] [-m MEMORY] [-e ENV] [-eb ENV_DENYLIST] [-r RETRY_ATTEMPTS] [-t TIMEOUT] [-n NODES] [-a ARRAY_SIZE] [-d DEPENDS_ON] [command] [arguments [arguments ...]]

定位引數

command

提交任務 (指定的命令必須可在運算實例上使用) 或要傳輸的文件名稱。另請參閱 --command-file。

65

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

arguments

(選用) 指定命令或命令檔案的引數。

具名引數

-jn JOB_NAME, --job-name JOB_NAME

為任務命名。第一個字元必須是字母或數字。任務名稱可以包含字母 (大小寫)、數字、連字號和底線,最多可達 128 個字元。

-c CLUSTER, --cluster CLUSTER

指定要使用的叢集。-cf, --command-file

指出命令是要傳輸至運算執行個體的檔案。

預設值:False-w WORKING_DIR, --working-dir WORKING_DIR

指定要做為任務工作目錄的資料夾。如果未指定工作目錄,則作業將在job-<AWS_BATCH_JOB_ID>用户主目錄的子文件夾。您可以使用此參數或 --parent-working-dir 參數。

-pw PARENT_WORKING_DIR, --parent-working-dir PARENT_WORKING_DIR

指定任務工作目錄的上層資料夾。如果未指定上層工作目錄,則它會默認為該用户的主目錄。系統會在上層工作目錄中建立一個名為 job-<AWS_BATCH_JOB_ID> 的子資料夾。您可以使用此參數或 --working-dir 參數。

-if INPUT_FILE, --input-file INPUT_FILE

在任務的工作目錄中指定要傳輸至運算執行個體的檔案。您可以指定多個輸入檔案參數。-p VCPUS, --vcpus VCPUS

指定要保留給容器的 vCPU 數目。與搭配使用時–nodes,它會識別每個節點的 vCPUs 數目。

預設值:1-m MEMORY, --memory MEMORY

指定要提供給任務的記憶體的硬性限制 (以 MiB 為單位)。如果您的任務嘗試超過此處指定的記憶體限制,則任務會遭到終止。

預設值:128-e ENV, --env ENV

指定以逗號分隔的清單,其中列出要匯出至任務環境的環境變數名稱。若要匯出所有環境變數,請指定「所有」。請注意,「所有」環境變數的清單不會包含–env-blacklist參數,或者以PCLUSTER_*或者AWS_*prefix.

-eb ENV_DENYLIST, --env-blacklist ENV_DENYLIST

指定以逗號分隔的清單,其中列出不匯出至任務環境的環境變數名稱。根據預設,不會匯出HOME、PWD、USER、PATH、LD_LIBRARY_PATH、TERM 和 TERMCAP。

-r RETRY_ATTEMPTS, --retry-attempts RETRY_ATTEMPTS

指定將任務移至RUNNABLE狀態。您可以指定嘗試 1 至 10 次。如果嘗試次數值大於 1,則在任務失敗時會重試該任務,直到其狀態移至RUNNABLE狀態為指定次數。

預設值:1

66

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

-t TIMEOUT, --timeout TIMEOUT

指定持續時間 (以秒為單位) (從任務嘗試的startedAt在此時間戳記之後AWS Batch將終止您的工作,如果工作尚未完成。逾時值必須至少為 60 秒。

-n NODES, --nodes NODES

指定要為任務保留的節點數目。指定此參數的值,以啟用多節點平行提交。Note

當Scheduler (p. 113)/AwsBatchQueues (p. 114)/CapacityType (p. 114)參數設為SPOT, 多節點平行任務不是支援。此外,必須有一個AWSServiceRoleForEC2Spot服務連結角色。您可以按照下列方式來建立此角色AWS CLI命令

$ aws iam create-service-linked-role --aws-service-name spot.amazonaws.com

如需詳細資訊,請參閱「」Spot 執行個體請求的服務連結角色中的Amazon EC2 Linux 執行個體使用者指南。

-a ARRAY_SIZE, --array-size ARRAY_SIZE

指出陣列的大小。您可指定介於 2 到 10,000 之間的值。如果您對任務指定陣列屬性,它會變成陣列任務。

-d DEPENDS_ON, --depends-on DEPENDS_ON

指定以分號分隔的清單,其中列出任務的相依性。一個任務可以取決於最多 20 個任務。您可以指定SEQUENTIAL類型相依性,無需指定陣列任務的任務 ID。序列相依性允許每個子陣列任務循序完成,從索引 0 開始。您也可以指定 N_TO_N 類型相依性,以及陣列任務的任務 ID。N_TO_N 相依性表示,此任務的每個索引子系必須等待各相依性對應的索引子系完成後,才能開始。此參數的語法為「jobId=<string>,類型 =<string>;...」.

awsbstat

顯示在叢集的任務佇列中提交的任務。

awsbstat [-h] [-c CLUSTER] [-s STATUS] [-e] [-d] [job_ids [job_ids ...]]

定位引數

job_ids

指定以空格分隔的清單,其中列出要在輸出中顯示的任務 ID。如果該任務為任務陣列,則會顯示所有子任務。如果請求單一任務,則會以詳細版本顯示它。

具名引數

-c CLUSTER, --cluster CLUSTER

指出要使用的叢集。-s STATUS, --status STATUS

指定以逗號分隔的清單,其中列出要包含的任務狀態。預設任務狀態為「作用中」。可接受的值為:SUBMITTED、PENDING、RUNNABLE、STARTING、RUNNING、SUCCEEDED、FAILED 和 ALL。

預設:“SUBMITTED,PENDING,RUNNABLE,STARTING,RUNNING”-e, --expand-children

展開具有子項 (陣列和多節點平行) 的任務。

67

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

預設值:False-d, --details

顯示任務詳細資訊。

預設值:False

awsbout

顯示特定任務的輸出。

awsbout [ - h ] [ - c CLUSTER ] [ - hd HEAD ] [ - t TAIL ] [ - s ] [ - sp STREAM_PERIOD ] job_id

定位引數

job_id

指定任務 ID。

具名引數

-c CLUSTER, --cluster CLUSTER

指出要使用的叢集。-hd HEAD, --head HEAD

取得任務輸出的第一個 HEAD 行。-t TAIL, --tail TAIL

取得任務輸出的最後一個 <tail> 行。-s, --stream

取得任務輸出,然後等待產生額外的輸出。此引數可與 –tail 搭配使用,從任務輸出的最新 <tail> 行開始。

預設值:False-sp STREAM_PERIOD, --stream-period STREAM_PERIOD

設定串流期間。

預設值:5

awsbkill

取消或終止叢集中提交的任務。

awsbkill [ - h ] [ - c CLUSTER ] [ - r REASON ] job_ids [ job_ids ... ]

定位引數

job_ids

指定以空格分隔的清單,其中列出要取消或終止的任務 ID。

68

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

具名引數

-c CLUSTER, --cluster CLUSTER

指出要使用的叢集名稱。-r REASON, --reason REASON

指出要附加至任務的訊息,說明任務取消的原因。

預設:”Terminated by the user”

awsbqueues

顯示與叢集相關聯的任務佇列。

awsbqueues [ - h ] [ - c CLUSTER ] [ - d ] [ job_queues [ job_queues ... ]]

位置引數

job_queues

指定以空格分隔的清單,其中列出要顯示的佇列名稱。如果請求單一佇列,則會以詳細版本顯示它。

具名引數

-c CLUSTER, --cluster CLUSTER

指定要使用的叢集名稱。-d, --details

指出是否顯示佇列的詳細資訊。

預設值:False

awsbhosts

顯示屬於叢集運算環境的主機。

awsbhosts [ - h ] [ - c CLUSTER ] [ - d ] [ instance_ids [ instance_ids ... ]]

定位引數

instance_ids

指定空格分隔的執行個體 ID 清單。如果請求單一執行個體,則會以詳細版本顯示它。

具名引數

-c CLUSTER, --cluster CLUSTER

指定要使用的叢集名稱。-d, --details

指出是否顯示主機的詳細資訊。

69

AWS ParallelCluster AWS ParallelCluster 使用者指南標記

預設值:False

AWS ParallelCluster資源和標記搭配AWS ParallelCluster,您可以創建標籤來跟蹤和管理AWS ParallelCluster的費用。您可以定義您需要的標籤AWS CloudFormation創建並傳播到Tags ## (p. 136)的叢集配置文件。您也可以使用AWSParallelCluster自動生成來跟蹤和管理您的資源。

建立叢集時,叢集及其資源會使用AWS ParallelCluster和AWS系統標籤。

AWS ParallelCluster將標籤應用於集羣實例、卷和資源。要標識羣集堆棧,AWS CloudFormation適用AWS系統標籤添加到集羣實例中。為了識別集羣 EC2 啟動模板,EC2 將系統標籤應用於實例。您可以使用這些標籤來檢視和管理AWS ParallelCluster的費用。

您無法修改AWS系統標籤。為了避免影響AWS ParallelCluster功能,請勿修改AWS ParallelCluster標籤。

以下是的範例:AWS系統標籤AWS ParallelCluster資源。您無法修改它們。

"aws:cloudformation:stack-name"="clustername"

以下是的範例:AWS ParallelCluster標記應用於資源。不要修改它們。

"parallelcluster:cluster-name"="clustername"

您可以在AWS Management Console。

檢視標籤

1. 導航 EC2 控制台,位於https://console.aws.amazon.com/ec2/。2. 要查看所有集羣標記,請選擇標籤透過導覽窗格。3. 要按實例查看集羣標籤,請選擇執行個體透過導覽窗格。4. 選取叢集實例。5. 選擇管理標籤選項卡並查看標籤。6. 選擇儲存空間選項卡中的實例詳細信息。7. 選取磁碟區 ID。8. In磁碟區中,選擇一種磁性磁盤區。9. 選擇標籤選項卡並查看標籤。

AWS ParallelCluster頭節點實例標籤

金鑰 標籤值

parallelcluster:cluster-name clustername

Name HeadNode

aws:ec2launchtemplate:id lt-1234567890abcdef0

aws:ec2launchtemplate:version 1

parallelcluster:node-type HeadNode

aws:cloudformation:stack-name clustername

70

AWS ParallelCluster AWS ParallelCluster 使用者指南亞馬遜CloudWatch儀表板

金鑰 標籤值

aws:cloudformation:logical-id HeadNode

aws:cloudformation:stack-id arn:aws:cloudformation:region-id:ACCOUNTID:stack/clustername/1234abcd-12ab-12ab-12ab-1234567890abcdef0

parallelcluster:version 3.1.2

AWS ParallelCluster頭節點根卷標籤

標籤鍵 標籤值

parallelcluster:cluster-name clustername

parallelcluster:node-type HeadNode

parallelcluster:version 3.1.2

AWS ParallelCluster計算節點實例標籤

金鑰 標籤值

parallelcluster:cluster-name clustername

parallelcluster:compute-resource-name compute-resource-name

aws:ec2launchtemplate:id lt-1234567890abcdef0

aws:ec2launchtemplate:version 1

parallelcluster:node-type Compute

parallelcluster:queue-name queue-name

parallelcluster:version 3.1.2

AWS ParallelCluster計算節點根卷標籤

標籤鍵 標籤值

parallelcluster:cluster-name clustername

parallelcluster:compute-resource-name compute-resource-name

parallelcluster:node-type Compute

parallelcluster:queue-name queue-name

parallelcluster:version 3.1.2

亞馬遜CloudWatch儀表板AmazonCloudWatch儀表板會建立叢集時,會建立。這樣可以更輕鬆地監控集羣中的節點,並查看存儲在 Amazon 中的日誌CloudWatch日誌。儀表板的名稱為ClusterName-Region。ClusterName是

71

AWS ParallelCluster AWS ParallelCluster 使用者指南與 Amazon 的整合CloudWatch日誌

您的集名稱,Region (區區)是AWS 區域的羣集。您可以在控制台中訪問儀表板,也可以通過https://console.aws.amazon.com/cloudwatch/home?region=Region#dashboards:name=ClusterName-Region。

有關 Amazon 的更多信息CloudWatch儀錶板,請參閲使用 AmazonCloudWatch儀表板中的亞馬遜CloudWatch使用者指南。

如果您不想建立 AmazonCloudWatch儀錶板,通過設置Monitoring 區段 (p. 135)/儀表板 (p. 136)/CloudWatch (p. 136)/Enabled (p. 121)至false。

與 Amazon 的整合CloudWatch日誌如需有關 的詳細資訊CloudWatch日誌,請參閲亞馬遜CloudWatch日誌使用者指南。設定CloudWatch日誌集成,請參閲Monitoring 區段 (p. 135)。

系統會為每個具有/aws/parallelcluster/cluster-name-<timestamp>(例如,/aws/parallelcluster/testCluster-202202050215。每個日誌 (或一組日誌,如果該路徑包含*)都有一個名為{hostname}.{instance_id}.{logIdentifier}。(例如ip-172-31-10-46.i-02587cf29cc3048f3.nodewatcher。) 日誌數據被發送到CloudWatch由CloudWatch代理人,它運行為root在所有集羣實例上。

AmazonCloudWatch儀錶板會在建立叢集時建立。通過此儀錶板,您可以輕鬆查看存儲在CloudWatch日誌。如需詳細資訊,請參閱 亞馬遜CloudWatch儀表板 (p. 71)。

此清單包含日誌的路徑以及用於這些日誌的 logIdentifier。

• /var/log/cfn-init.log (cfn-init)• /var/log/chef-client.log (chef-client)• /var/log/cloud-init.log (cloud-init)• /var/log/cloud-init-output.log (cloud-init-output)• /var/log/dcv/agent.*.log (dcv-agent)• /var/log/dcv/dcv-xsession.*.log (dcv-xsession)• /var/log/dcv/server.log (dcv-server)• /var/log/dcv/sessionlauncher.log (dcv-session-launcher)• /var/log/dcv/Xdcv.*.log (Xdcv)• /var/log/messages (system-messages)• /var/log/parallelcluster/clustermgtd (clustermgtd)• /var/log/parallelcluster/computemgtd (computemgtd)• /var/log/parallelcluster/pcluster_dcv_authenticator.log (dcv-authenticator)• /var/log/parallelcluster/pcluster_dcv_connect.log (dcv-ext-authenticator)• /var/log/parallelcluster/slurm_resume.log (slurm_resume)• /var/log/parallelcluster/slurm_suspend.log (slurm_suspend)• /var/log/slurmctld.log (slurmctld)• /var/log/slurmd.log (slurmd)• /var/log/supervisord.log (supervisord)• /var/log/syslog (syslog)

集羣中使用AWS Batch存儲到達RUNNING、SUCCEEDED, 或FAILED狀態CloudWatch日誌。日誌叢集是/aws/batch/job,日誌串流名稱格式為jobDefinitionName/default/ecs_task_id。根據預設,這些日誌設定為永遠不會過期,但您可以修改保留期間。如需詳細資訊,請參閱「」更改中的日誌資料保留期CloudWatch日誌中的亞馬遜CloudWatch日誌使用者指南。

72

AWS ParallelCluster AWS ParallelCluster 使用者指南Elastic Fabric Adapter

Elastic Fabric AdapterElastic Fabric Adapter (EFA) 是一種具有 OS-bypass 功能的網路裝置,可與相同子網路上的其他執行個體進行低延遲網路通訊。EFA 是使用 Libfabric 公開,並且可以使用簡訊傳遞界面 (MPI) 供應用程式使用。要將全民教育與AWS ParallelCluster和Slurm調度程序, 設置SlurmQueues (p. 116)/ComputeResources (p. 119)/EFA (p. 120)/Enabled (p. 121)至true。EFA由特定執行個體類型支援 (compute_instance_type (p. 275)的任何一項都是c5n.18xlarge、c5n.metal、g4dn.metal、i3en.24xlarge、i3en.metal、m5dn.24xlarge、m5n.24xlarge、m5zn.12xlarge、m5zn.metal、r5dn.24xlarge、r5n.24xlarge、p3dn.24xlarge,以及p4d.24xlargex86-64 個體,c6gn.16xlarge對於基於 ARM 的重力 2 實例)的特定操作系統(base_os (p. 273)是alinux2、centos7、ubuntu1804, 或ubuntu2004x86-64 個體,alinux2、ubuntu1804, 或ubuntu2004對於基於 ARM 的引力 2 實例)。我們建議您在置放羣組中運行啟用 EFA 的實例。這樣會在單一可用區域的低延遲組中啟動執行個體。如需如何設定置放組的詳細資訊AWS ParallelCluster,請參SlurmQueues (p. 116)/Networking (p. 117)/PlacementGroup (p. 118)。

如需詳細資訊,請參閱「」Elastic Fabric Adapter中的Amazon EC2 Linux 執行個體使用者指南和使用彈性結構適配器和AWS ParallelCluster中的AWS開放原始碼博客。

Note

預設情況下,Ubuntu發行版啟用ptrace(處理程序追蹤) 保護.ptrace保護即被禁用以便 Libfabric 正常運作。如需詳細資訊,請參閱「」停用 ptrace 保護中的Amazon EC2 Linux 執行個體使用者指南。

AWS ParallelCluster API什麼是AWS ParallelClusterAPI?

AWS ParallelClusterAPI 是一個無服務器應用程序,一旦部署到AWS 帳戶將允許編程訪問AWSParallelCluster功能。

AWS ParallelClusterAPI 作為自給自足AWS CloudFormation模板主要由 Amazon API Gateway 端點組成,該端點會公開AWS ParallelCluster功能和AWS Lambda函數,它負責執行調用的功能。

下圖顯示了AWS ParallelClusterAPI 基礎架構。 

73

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster API

74

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster API

AWS ParallelClusterAPI 文件OpenAPI 於描述AWS ParallelClusterAPI 可以從以下地址下載:

https://<REGION>-aws-parallelcluster.s3.<REGION>.amazonaws.com/parallelcluster/<VERSION>/api/ParallelCluster.openapi.yaml

從 OpenAPI 規範文件開始,您可以為AWS ParallelClusterAPI 通過使用眾多可用工具之一,例如SwaggerUI或者雷多克。

如何部署AWS ParallelClusterAPI

若要部署AWS ParallelClusterAPI,您需要成為AWS 帳戶。

部署 API 時使用的模板可以在下列 URL 中找到:

https://<REGION>-aws-parallelcluster.s3.<REGION>.amazonaws.com/parallelcluster/<VERSION>/api/parallelcluster-api.yaml

哪裡<REGION>是AWS 區域,其中 API 需要部署到和<VERSION>是AWS ParallelCluster版本(例如 3.1.2版)。

Docker 映像用於部署AWS Lambda函數實現AWS ParallelCluster功能可在以下網址獲得:https://gallery.ecr.aws/parallelcluster/pcluster-api

Warning

中的任何用户AWS 帳戶,它有權訪問AWS Lambda或 Amazon API Gateway 服務,將自動繼承管理AWS ParallelClusterAPI 資源。

使用部署AWS CLI設定AWS要與 CLI 一起使用的憑據(如果尚未完成)。

aws configure

執行以下命令來部署 API

REGION=<region> API_STACK_NAME=<stack-name>  # This can be any name VERSION=3.1.2 aws cloudformation create-stack \     --region ${REGION} \     --stack-name ${API_STACK_NAME} \     --template-url https://${REGION}-aws-parallelcluster.s3.${REGION}.amazonaws.com/parallelcluster/${VERSION}/api/parallelcluster-api.yaml \     --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND aws cloudformation wait stack-create-complete --stack-name ${API_STACK_NAME} --region ${REGION}

自定義您的部署

API 部署可以通過使用AWS CloudFormation模板公開的參數。要在通過 CLI 部署時配置參數的值,可以使用以下選項:--parameters ParameterKey=KeyName,ParameterValue=Value。

下列參數都是選用的。

• Region (區域)-該Region參數可用於確定 API 是否能夠控制所有AWS 區域(默認值)或單個AWS 區域。請將此值設置為 API 部署到的區域,以限制訪問。

75

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster API

• ParallelClusterFunctionRole-這將覆蓋分配給AWS Lambda函數實現AWS ParallelCluster功能。參數接受IAM 角色的 ARN。這樣的角色需要配置為AWS Lambda作為 IAM 委託人。

• CustomDomain姓名,CustomDomain憑證CustomDomainHostedZoneId-這些參數允許為 Amazon API Gateway 終端節點設置自定義域。CustomDomainName是要使用的網域名稱,CustomDomainCertificate是 ARN 個AWS該域名的託管證書和CustomDomainHostedZoneId是 Route 53 託管區域的 ID,您要建立記錄。

• EnableIamAdminAccess-默認情況下AWS Lambda函數執行AWS ParallelClusterAPI 操作配置為 IAM 角色,該角色會阻止任何特權 IAM 訪問(EnableIamAdminAccess=false。這使得 API 無法執行需要創建 IAM 角色或策略的操作。因此,僅當 IAM 角色作為資源配置的一部分作為輸入提供時,集羣或自定義映像的創建才會成功。

時機EnableIamAdminAccess已設定為true該AWS ParallelClusterAPI 被授予管理部署集羣或生成自定義 AMI 所需的 IAM 角色創建的權限。

Warning

將其設置為 true 會授予 IAM 管理員權限AWS Lambda函數執行AWS ParallelCluster操作。

請參用於管理 IAM 資源的用户策略 (p. 34),瞭解啟用此模式時可解鎖的功能的其他詳細信息。• PermissionsBoundary政策-此參數接受 IAM 策略的 ARN,並且只能在EnableIamAdminAccess已設定

為true。指定 IAM 策略時,授予 API 的 IAM 權限AWS Lambda函數有條件地限製為給定權限邊界的使用。

請參PermissionsBoundary模式 (p. 36)以獲取有關此模式所施加限制的更多詳細資訊。• CreateApiUserRole-默認情況下,部署AWS ParallelClusterAPI 包括創建 IAM 角色,該角色被設置為唯一

授權調用 API 的角色。 Amazon API Gateway 終端節點實際上配置了基於資源的策略,以便僅向創建的用户授予調用權限。 要解除此類限制設置CreateApiUserRole=false,然後向選定的 IAM 用户授予對API 的訪問權限。如需詳細資訊,請參閱「」控制對 API 的呼叫存取權中的Amazon API Gateway 開發人員指南。

Warning

時機CreateApiUserRole=true對 API 終端節點的訪問不受 Amazon API Gateway 資源策略的限制,所有 IAM 角色都具有不受約束execute-api:Invoke權限將能夠訪問AWSParallelCluster功能。如需詳細資訊,請參閱。使用 API Gateway 資源政策控制對 API 的存取中的API Gateway 開發人員指南。Warning

所以此ParallelClusterApiUserRole有權限來調用所有AWS ParallelClusterAPI 操作。若要限制對 API 資源子集的訪問,請參控制誰可以使用 IAM 政策呼叫 API Gateway API 方法中的APIGateway 開發人員指南。

更新 API使用案例 1:升級到更新的AWS ParallelCluster版

選項 1:刪除現有 API,方法是刪除相應的AWS CloudFormation堆棧並部署新的 API,如上所示。

選項 2:通過運行以下説明更新現有 API:

REGION=<region> API_STACK_NAME=<stack-name>  # This needs to correspond to the existing API stack name VERSION=3.1.2 aws cloudformation update-stack \     --region ${REGION} \     --stack-name ${API_STACK_NAME} \       --template-url https://${REGION}-aws-parallelcluster.s3.${REGION}.amazonaws.com/parallelcluster/${VERSION}/api/parallelcluster-api.yaml \

76

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster API

    --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND aws cloudformation wait stack-update-complete --stack-name ${API_STACK_NAME} --region ${REGION}

用例 2:將 API 更新為已部署的AWS ParallelCluster版

AWS ParallelCluster可以定期為 API 部署刷新的 Docker 映像AWS Lambda函數,其中包含更新和修補的依賴關係。這些刷新的圖像不包括在給定AWS ParallelCluster版本。為了將最新的 Docker 映像用於部署版本的 API,您可以運行以下説明:

REGION=<region> API_STACK_NAME=<stack-name> DOCKER_UPDATE_IMAGE_PIPELINE=$(aws cloudformation describe-stacks --region ${REGION} --stack-name ${API_STACK_NAME} --query "Stacks[0].Outputs[?OutputKey=='ParallelClusterDockerUpdateImagePipeline'].OutputValue" --output text) aws imagebuilder start-image-pipeline-execution --region ${REGION} --image-pipeline-arn ${DOCKER_UPDATE_IMAGE_PIPELINE}

這將觸發 EC2 Image Builder 管道的構建,該管道負責獲取最新的可用AWS ParallelCluster部署 API 版本的Docker 映像。

呼叫AWS ParallelClusterAPI所以此AWS ParallelClusterAmazon API Gateway 終端節點配置為AWS_IAM授權類型,因此要求所有請求都使用有效的 IAM 證書簽名 Sigv4(API 參考:發出 HTTP 請求。

使用默認設置部署時,API 調用權限僅授予使用 API 創建的默認 IAM 用户。

要檢索此類用户運行的 ARN,請執行以下操作:

REGION=<region> API_STACK_NAME=<stack-name> aws cloudformation describe-stacks --region ${REGION} --stack-name ${API_STACK_NAME} --query "Stacks[0].Outputs[?OutputKey=='ParallelClusterApiUserRole'].OutputValue" --output text

此類用户的臨時證書可以通過調用STSAssumeRole。

所以此AWS ParallelClusterAPI 端點可以執行下列命令:

REGION=<region> API_STACK_NAME=<stack-name> aws cloudformation describe-stacks --region ${REGION} --stack-name ${API_STACK_NAME} --query "Stacks[0].Outputs[?OutputKey=='ParallelClusterApiInvokeUrl'].OutputValue" --output text

所以此AWS ParallelClusterAPI 可以由任何符合 OpenAPI 規範的 HTTP 客户端調用,這些規範可以在此處找到:

https://<REGION>-aws-parallelcluster.s3.<REGION>.amazonaws.com/parallelcluster/<VERSION>/api/ParallelCluster.openapi.yaml

請求需要按記錄的方式簽署 SIGv4這裡。

目前,我們不提供任何官方 API 客户端實現。但是,API 客户端可以通過使用OpenAPI 生成器。生成客户端後,如果沒有開箱即用,則需要添加 Sigv4 簽名。

77

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster API

Python API 客户端的參考實現可以在AWS ParallelCluster儲存庫。

要實施更高級的訪問控制機制,例如 Amazon Cognito 或 Lambda 授權者,或使用AWS WAF或 API 密鑰請按照Amazon API Gateway 文檔。

Warning

有權調用AWS ParallelClusterAPI 將能夠間接控制所有AWS管理的資源AWS ParallelCluster中的AWS 帳戶。這包括創建AWS由於對用户 IAM 策略的限制,IAM 用户無法直接控制這些資源。例如,創建一個AWS ParallelCluster羣集可能包括部署 Amazon EC2 實例、Amazon Route53、Amazon Elastic File System、Amazon FSX 文件系統文件系統、IAM 角色以及來自其他AWS服務使用AWS ParallelCluster,IAM 用户可能無法直接控制。Warning

建立集羣時AdditionalIamPolicies,則附加策略必須與以下模式之一匹配:

- !Sub arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/parallelcluster*- !Sub arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/parallelcluster/*- !Sub arn:${AWS::Partition}:iam::aws:policy/CloudWatchAgentServerPolicy- !Sub arn:${AWS::Partition}:iam::aws:policy/AmazonSSMManagedInstanceCore- !Sub arn:${AWS::Partition}:iam::aws:policy/AWSBatchFullAccess- !Sub arn:${AWS::Partition}:iam::aws:policy/AmazonS3ReadOnlyAccess- !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSBatchServiceRole- !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role- !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy- !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonEC2SpotFleetTaggingRole- !Sub arn:${AWS::Partition}:iam::aws:policy/EC2InstanceProfileForImageBuilder- !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole

如需要其他政策,您可執行下列操作之一:

• 編輯DefaultParallelClusterIamAdminPolicy在:

https://<REGION>-aws-parallelcluster.s3.<REGION>.amazonaws.com/parallelcluster/<VERSION>/api/parallelcluster-api.yaml

將策略添加到ArnLike/iam:PolicyARN章節。• 忽略指定策略AdditionalIamPolicies,然後手動將策略添加到AWS ParallelCluster在集羣中

創建的實例角色。

訪問 API 日誌和指標API 日誌發佈到亞馬遜CloudWatch與 30 天的保留。若要檢索LogGroup與 API 部署關聯的名稱運行以下命令:

REGION=<region> API_STACK_NAME=<stack-name> aws cloudformation describe-stacks --region ${REGION} --stack-name ${API_STACK_NAME} --query "Stacks[0].Outputs[?OutputKey=='ParallelClusterLambdaLogGroup'].OutputValue" --output text

Lambda 指標、日誌和AWS X-Ray跟蹤日誌也可以通過 Lambda 控制台訪問。要檢索與 API 部署關聯的Lambda 函數的 ARN,請運行以下命令:

78

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 NICE DCV Connect 到頭節點

REGION=<region> API_STACK_NAME=<stack-name> aws cloudformation describe-stacks --region ${REGION} --stack-name ${API_STACK_NAME} --query "Stacks[0].Outputs[?OutputKey=='ParallelClusterLambdaArn'].OutputValue" --output text

通過 NICE DCV Connect 到頭節點NICE DCV 是一項遠端視覺化技術,能夠讓用户安全地連接至遠端高效能伺服器所代管會處理大量圖形的 3D應用程式。如需詳細資訊,請參閱「」NICE DCV。

NICE DCV 軟件會自動安裝在頭節點上,並且可以通過使用Dcv (p. 108)部分中的HeadNode組態。

HeadNode: Dcv: Enabled: true

如需 NICE DCV 工作參數的詳細資訊,請參閲Dcv (p. 108)。若要連接到 NICE DCV 會話,請使用pcluster dcv-connect (p. 93)命令。

NICE DCV 憑證NICE DCV 會自動生成一個自我簽署憑證,以保護 NICE DCV 客户端和 NICE DCV 伺服器之間的流量。

若要以另一個憑證取代預設的自我簽署 NICE DCV 憑證,請先連接到頭節點。然後,在執行 pclusterdcv-connect (p. 93) 命令之前,將憑證和金鑰複製到 /etc/dcv 資料夾。

如需詳細資訊,請參閱「」更改 TLS 憑證中的NICE DCV 工作階段。

NICE DCVNICE DCV 伺服器在 Amazon EC2 實例上運行時不需要授權伺服器。但是,NICE DCV 伺服器必須定期連接至 Amazon S3 存儲段,以判斷是否有可用的有效授權。

AWS ParallelCluster會自動將必要許可新增到頭節點 IAM 策略。使用自定義 IAM 實例策略時,請使用適用於 Amazon EC2 的 DCV中的NICE DCV 工作階段。

如需故障診斷秘訣,請參閱 NICE DCV 中的問題疑難解答 (p. 175)。

使用 pcluster update-clusterInAWS ParallelCluster3.xpcluster update-cluster (p. 92)分析用於創建當前羣集的設置以及配置文件中的問題設置。如果發現任何問題,則會報告這些問題,並顯示修復問題所採取的步驟。例如,如果計算InstanceType (p. 120),則必須先停止計算隊列,然後才能繼續更新。發現此問題時會報告。如果未發現阻塞問題,則啟動更新過程並報告更改。

更新政策定義更新政策:您可以在更新期間變更此設定。

更改此設置後,可以使用pcluster update-cluster (p. 92)。更新政策:如果更改此設置,則不允許更新。

更改此設置後,無法更新集羣。必須恢復更改或者必須刪除羣集(使用pcluster delete-cluster (p. 95)),然後創建一個新集羣(使用pcluster create-cluster (p. 85))在舊集羣的位置。

79

AWS ParallelCluster AWS ParallelCluster 使用者指南使用 pcluster update-cluster

更新政策:更新過程中不會分析此設置。

您可以變更這些設定,並使用pcluster update-cluster (p. 92)。更新政策:必須停止計算隊列才能更改此設置進行更新。

計算隊列存在時,無法更改這些設置。必須恢復更改,或者必須停止計算隊列(使用pclusterupdate-compute-fleet (p. 93)), 更新 (使用pcluster update-cluster (p. 92)),然後創建一個新的計算隊列(使用pcluster update-compute-fleet (p. 93)。

更新政策:無法於更新期間減少此設定。

您可以變更這些設定,但無法於變更這些設定。如果必須減少這些設置,則需要刪除集羣(使用pcluster delete-cluster (p. 95)),然後創建一個新的集羣(使用pcluster create-cluster (p. 85)。

更新政策:要將隊列的大小減少到當前節點數以下,需要首先停止計算隊列。

可以更改這些設置,但如果更改將隊列的大小減少到當前大小以下,則必須停止計算隊列(使用pcluster update-compute-fleet (p. 93)), 更新 (使用pcluster update-cluster (p. 92)),然後創建一個新的計算隊列(使用pcluster update-compute-fleet (p. 93)。

更新政策:減少隊列中靜態節點的數量需要首先停止計算隊列。

這些設置可以更改,但是如果更改將隊列中靜態節點的數量減少到當前大小以下,則必須停止計算隊列(使用pcluster update-compute-fleet (p. 93)), 更新 (使用pcluster update-cluster (p. 92)),然後創建一個新的計算隊列(使用pcluster update-compute-fleet (p. 93)。

更新政策:如果更改此設置,則不允許更新。如果強制更新,新值將被忽略,並使用舊值。

如果尚未刪除現有集羣,則無法更改這些設置。必須恢復更改或者必須刪除羣集(使用pcluster delete-cluster (p. 95)),然後創建一個新集羣(使用pcluster create-cluster (p. 85))在舊集羣的位置。

pcluster update-cluster 範例• 此示例演示了包含一些允許更改的更新,並直接啟動更新。

$ pcluster update-cluster --cluster-name cluster_name --cluster-config ~/.parallelcluster/test_cluster --region us-east-1{ "cluster": { "clusterName": cluster_name, "cloudformationStackStatus": "UPDATE_IN_PROGRESS", "cloudformationStackArn": stack_arn, "region": "us-east-1", "version": "3.1.2", "clusterStatus": "UPDATE_IN_PROGRESS" }, "changeSet": [ { "parameter": "HeadNode.Networking.AdditionalSecurityGroups", "requestedValue": [ "sg-0cd61884c4ad11234" ], "currentValue": [ "sg-0cd61884c4ad16341" ] } ]}

80

AWS ParallelCluster AWS ParallelCluster 使用者指南使用 pcluster update-cluster

• 此示例演示了帶有一些允許更改的 dryrun 更新。Dryrun 在不開始更新的情況下報告更改集非常有用。

$ pcluster update-cluster --cluster-name cluster_name --cluster-config ~/.parallelcluster/test_cluster --region us-east-1 --dryrun true{ "message": "Request would have succeeded, but DryRun flag is set.", "changeSet": [ { "parameter": "HeadNode.Networking.AdditionalSecurityGroups", "requestedValue": [ "sg-0cd61884c4ad11234" ], "currentValue": [ "sg-0cd61884c4ad16341" ] } ]}

• 此示例演示了一個包含阻止更新的一些更改的更新。

$ pcluster update-cluster --cluster-name cluster_name --cluster-config ~/.parallelcluster/test_cluster --region us-east-1{ "message": "Update failure", "updateValidationErrors": [ { "parameter": "HeadNode.Ssh.KeyName", "requestedValue": "mykey_2", "message": "Update actions are not currently supported for the 'KeyName' parameter. Restore 'KeyName' value to 'jenkinsjun'. If you need this change, please consider creating a new cluster instead of updating the existing one.", "currentValue": "mykey_1" }, { "parameter": "Scheduling.SlurmQueues[queue1].ComputeResources[queue1-t2micro].InstanceType", "requestedValue": "c4.xlarge", "message": "All compute nodes must be stopped. Stop the compute fleet with the pcluster update-compute-fleet command", "currentValue": "t2.micro" }, { "parameter": "SharedStorage[ebs1].MountDir", "requestedValue": "/my/very/very/long/shared_dir", "message": "Update actions are not currently supported for the 'MountDir' parameter. Restore 'MountDir' value to '/shared'. If you need this change, please consider creating a new cluster instead of updating the existing one.", "currentValue": "/shared" } ], "changeSet": [ { "parameter": "HeadNode.Networking.AdditionalSecurityGroups", "requestedValue": [ "sg-0cd61884c4ad11234" ], "currentValue": [ "sg-0cd61884c4ad16341" ] }, { "parameter": "HeadNode.Ssh.KeyName", "requestedValue": "mykey_2",

81

AWS ParallelCluster AWS ParallelCluster 使用者指南適用於 的 參考AWS ParallelCluster

"currentValue": "mykey_1" }, { "parameter": "Scheduling.SlurmQueues[queue1].ComputeResources[queue1-t2micro].InstanceType", "requestedValue": "c4.xlarge", "currentValue": "t2.micro" }, { "parameter": "SharedStorage[ebs1].MountDir", "requestedValue": "/my/very/very/long/shared_dir", "currentValue": "/shared" } ]}

適用於 的 參考AWS ParallelCluster主題

• AWS ParallelCluster CLI 命令 (p. 82)• 組態檔案 (p. 101)

AWS ParallelCluster CLI 命令pcluster是初級 AWS ParallelClusterCLI 命令。您使用pcluster,以啟動和管理 HPC 羣集AWS 雲端以及創建和管理自定義 AMI 映像。

pcluster3-config-converter用於轉換AWS ParallelCluster第 2 版的格式轉換為AWS ParallelCluster第 3 版的格式。

pcluster [ -h ] ( list-clusters | create-cluster | delete-cluster | describe-cluster | update-cluster | describe-compute-fleet | update-compute-fleet | delete-cluster-instances | describe-cluster-instances | list-cluster-log-streams | get-cluster-log-events | get-cluster-stack-events | list-images | build-image | delete-image | describe-image | list-image-log-streams | get-image-log-events | get-image-stack-events | list-official-images | configure | dcv-connect | export-cluster-logs | export-image-logs | ssh | version ) ...pcluster3-config-converter [-h] [-c CONFIG_FILE] [-t CLUSTER_TEMPLATE] [-o OUTPUT_FILE] [--force-convert]

主題• pcluster (p. 82)• pcluster3-config-converter (p. 101)

pcluster

pcluster是主要AWS ParallelClusterCLI 命令。您使用pcluster,以啟動和管理 HPC 叢集AWS 雲端。

pcluster [ -h ]

82

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

引數

pcluster command

可能的選擇如下:list-clusters (p. 90) create-cluster (p. 85) delete-cluster (p. 95) describe-cluster (p. 96) update-cluster (p. 92)describe-compute-fleet (p. 97) update-compute-fleet (p. 93) delete-cluster-instances (p. 94) describe-cluster-instances (p. 96) list-cluster-log-streams (p. 89) get-cluster-log-events (p. 86) get-cluster-stack-events (p. 87) list-images (p. 91) build-image (p. 83) delete-image (p. 95) describe-image (p. 97) list-image-log-streams (p. 90) get-image-log-events (p. 87) get-image-stack-events (p. 88) list-official-images (p. 98) configure (p. 84) dcv-connect (p. 93) export-cluster-logs (p. 98) export-image-logs (p. 99) ssh (p. 91) version (p. 100)

子命令:

主題• pcluster build-image (p. 83)• pcluster configure (p. 84)• pcluster create-cluster (p. 85)• pcluster get-cluster-log-events (p. 86)• pcluster get-cluster-stack-events (p. 87)• pcluster get-image-log-events (p. 87)• pcluster get-image-stack-events (p. 88)• pcluster list-cluster-log-streams (p. 89)• pcluster list-clusters (p. 90)• pcluster list-image-log-streams (p. 90)• pcluster list-images (p. 91)• pcluster ssh (p. 91)• pcluster update-cluster (p. 92)• pcluster update-compute-fleet (p. 93)• pcluster dcv-connect (p. 93)• pcluster delete-cluster-instances (p. 94)• pcluster delete-cluster (p. 95)• pcluster delete-image (p. 95)• pcluster describe-cluster-instances (p. 96)• pcluster describe-cluster (p. 96)• pcluster describe-compute-fleet (p. 97)• pcluster describe-image (p. 97)• pcluster list-official-images (p. 98)• pcluster export-cluster-logs (p. 98)• pcluster export-image-logs (p. 99)• pcluster version (p. 100)

pcluster build-image

建立自訂AWS ParallelCluster圖像中的指定區域。

83

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

pcluster build-image [-h] [--suppress-validators SUPPRESS_VALIDATORS [SUPPRESS_VALIDATORS ...]] [--validation-failure-level {INFO,WARNING,ERROR}] [--dryrun DRYRUN] [--rollback-on-failure ROLLBACK_ON_FAILURE] [--region REGION] --image-configuration IMAGE_CONFIGURATION --image-id IMAGE_ID [--debug] [--query QUERY]

具名引數

-h, --help

顯示pcluster build-image。--suppress-validators SUPPRESS_VALIDATORS [SUPPRESS_VALIDATORS ...]

標識一個或多個要禁止的配置驗證器。

格式:(a)ALL|type:[A-Za-z0-9]+)--validation-failure-level {INFO,WARNING,ERROR}

指定將導致創建失敗的最低驗證級別。(預設為)ERROR。)--dryrun DRYRUN

僅執行請求的驗證,而不創建任何資源。它可用於驗證映像配置。(預設為)false。)--rollback-on-failure ROLLBACK_ON_FAILURE

設置後,將在失敗時自動啟動映像堆棧回滾。(預設為)false。)--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用Region (區域) (p. 140)設置,則AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--image-configuration, -c IMAGE_CONFIGURATION

將映像配置文件指定為 YAML 文檔。--image-id, -i IMAGE_ID

指定要構建的映像的 ID。--debug

開啟偵錯記錄--query QUERY

要在輸出時執行的 JMesPath 查詢。

Warning

pcluster build-image使用默認 VPC。如果默認 VPC 已經刪除,也許通過使用AWS ControlTower或者AWS登錄區域,則必須在映像配置文件中指定子網 ID。如需詳細資訊,請參閱「」SubnetId (p. 105)。

pcluster configure

啟動交互式配置嚮導AWS ParallelCluster第 3 版。

84

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

pcluster configure [-h] [--debug] [--region REGION] --config CONFIG

具名引數

-h, --help

顯示所指定的pcluster configure。--debug

開啟偵錯記錄--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用Region (區域) (p. 140)設置,則AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--config CONFIG

輸出生成的配置文件的路徑。

pcluster create-cluster

建立 AWS ParallelCluster 叢集。

pcluster create-cluster [-h] [--region REGION] [--suppress-validators SUPPRESS_VALIDATORS [SUPPRESS_VALIDATORS ...]] [--validation-failure-level {INFO,WARNING,ERROR}] [--dryrun DRYRUN] [--rollback-on-failure ROLLBACK_ON_FAILURE] --cluster-name CLUSTER_NAME --cluster-configuration CLUSTER_CONFIGURATION [--debug] [--query QUERY]

具名引數

-h, --help

顯示所指定的pcluster create-cluster。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用Region (p. 102)設置時,AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--suppress-validators SUPPRESS_VALIDATORS [SUPPRESS_VALIDATORS ...]

標識一個或多個要禁止的配置驗證器。

格式:(a)ALL| 類型:[A-Za-z0-9]+)--validation-failure-level {INFO,WARNING,ERROR}

指定將導致創建失敗的最低驗證級別。(預設為)ERROR。)--dryrun DRYRUN

指定該命令只執行驗證而不創建任何資源。可用於驗證羣集配置。(預設為)false。)--rollback-on-failure ROLLBACK_ON_FAILURE

時機true,會在故障時自動啟動羣集堆棧回滾。(預設為)true。)

85

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

--cluster-name, -n CLUSTER_NAME

指定要創建的叢集名稱。--cluster-configuration, -c CLUSTER_CONFIGURATION

YAML 羣集配置文件。--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster get-cluster-log-events

檢索與日誌流關聯的事件。

pcluster get-cluster-log-events [-h] --cluster-name CLUSTER_NAME --log-stream-name LOG_STREAM_NAME [--region REGION] [--next-token NEXT_TOKEN] [--start-from-head START_FROM_HEAD] [--limit LIMIT] [--start-time START_TIME] [--end-time END_TIME] [--debug] [--query QUERY]

具名引數

-h, --help

顯示所指定的pcluster get-cluster-log-events。--cluster-name, -n CLUSTER_NAME

叢集的名稱。--log-stream-name LOG_STREAM_NAME

指定日誌串流的名稱。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--next-token NEXT_TOKEN

指定用於分頁請求的令牌。--start-from-head START_FROM_HEAD

如果該值為true,則首先返回最早的日誌事件。如果該值為false,則首先會傳回最新的日誌事件。(預設為)false。)

--limit LIMIT

指定傳回的日誌事件數量上限。如果未指定值,則最大值為 1 MB 響應大小(最多 10,000 個日誌事件)的日誌事件數量。

--start-time START_TIME

指定時間範圍的開始時間,以 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ,例如:2021-01-01T20:00:00Z。包括時間戳等於此時間或晚於此時間的事件。

86

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

--end-time END_TIME

指定時間範圍的結束時間,以 ISO 8601 格式(YYYY-MM-DDThh:mm:ssZ,例如:2021-01-01T20:00:00Z。時間戳等於或晚於此時間的事件不包括在內。

--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster get-cluster-stack-events

檢索指定叢集與堆疊相關聯的事件。

pcluster get-cluster-stack-events [-h] --cluster-name CLUSTER_NAME [--region REGION] [--next-token NEXT_TOKEN] [--debug] [--query QUERY]

具名引數

-h, --help

顯示所指定的pcluster get-cluster-stack-events。--cluster-name, -n CLUSTER_NAME

叢集的名稱。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--next-token NEXT_TOKEN

指定用於分頁請求的令牌。--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster get-image-log-events

檢索與映像構建關聯的事件。

pcluster get-image-log-events [-h] --image-id IMAGE_ID --log-stream-name LOG_STREAM_NAME [--region REGION] [--next-token NEXT_TOKEN] [--start-from-head START_FROM_HEAD] [--limit LIMIT] [--start-time START_TIME] [--end-time END_TIME] [--debug] [--query QUERY]

87

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

具名引數

-h, --help

顯示所指定的pcluster get-image-log-events。--image-id, -i IMAGE_ID

圖像的 ID。--log-stream-name LOG_STREAM_NAME

指定日誌串流的名稱。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--next-token NEXT_TOKEN

指定用於分頁請求的令牌。--start-from-head START_FROM_HEAD

如果該值為true,則首先返回最早的日誌事件。如果該值為false,則首先會傳回最新的日誌事件。(預設為)false。)

--limit LIMIT

指定傳回的日誌事件數量上限。如果未指定值,則最大值為 1 MB 響應大小(最多 10,000 個日誌事件)的日誌事件數量。

--start-time START_TIME

指定時間範圍的開始時間,以 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ,例如:2021-01-01T20:00:00Z。包括時間戳等於或晚於此時間的事件。

--end-time END_TIME

指定時間範圍的結束時間,以 ISO 8601 格式(YYYY-MM-DDThh:mm:ssZ,例如:2021-01-01T20:00:00Z。時間戳等於或晚於此時間的事件不包括在內。

--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster get-image-stack-events

檢索指定映像生成的堆疊相關聯的事件。

pcluster get-image-stack-events [-h] --image-id IMAGE_ID [--region REGION] [--next-token NEXT_TOKEN] [--debug] [--query QUERY]

具名引數

-h, --help

顯示所指定的pcluster get-image-stack-events。

88

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

--image-id, -i IMAGE_ID

指定映像之 ID。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--next-token NEXT_TOKEN

指定用於分頁請求的令牌。--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster list-cluster-log-streams

檢索與叢集相關聯的日誌串流清單。

pcluster list-cluster-log-streams [-h] --cluster-name CLUSTER_NAME [--region REGION] [--filters FILTERS [FILTERS ...]] [--next-token NEXT_TOKEN] [--debug] [--query QUERY]

具名引數

-h, --help

顯示所指定的pcluster list-cluster-log-streams。--cluster-name, -n CLUSTER_NAME

叢集的名稱。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--filters FILTERS [FILTERS ...]

指定日誌流的篩選器。格式:Name=a,Values=1 Name=b,Values=2,3。 支援的篩選條件包括:private-dns-name

指定個體私有 DNS 名稱的簡短形式(例如ip-10-0-0-101。node-type

指定節點類型,此過濾器的唯一接受值為HeadNode。--next-token NEXT_TOKEN

指定用於分頁請求的令牌。--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

89

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

pcluster list-clusters

檢索現有叢集的列表。

pcluster list-clusters [-h] [--region REGION] [--next-token NEXT_TOKEN] [--cluster-status {CREATE_IN_PROGRESS,CREATE_FAILED,CREATE_COMPLETE, DELETE_IN_PROGRESS,DELETE_FAILED,UPDATE_IN_PROGRESS, UPDATE_COMPLETE,UPDATE_FAILED} [{CREATE_IN_PROGRESS,CREATE_FAILED,CREATE_COMPLETE, DELETE_IN_PROGRESS,DELETE_FAILED,UPDATE_IN_PROGRESS, UPDATE_COMPLETE,UPDATE_FAILED} ...]] [--debug] [--query QUERY]

具名引數

-h, --help

顯示所指定的pcluster list-clusters。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--next-token NEXT_TOKEN

指定用於分頁請求的令牌。--cluster-status {CREATE_IN_PROGRESS, CREATE_FAILED, CREATE_COMPLETE,DELETE_IN_PROGRESS, DELETE_FAILED, UPDATE_IN_PROGRESS, UPDATE_COMPLETE,UPDATE_FAILED} [{CREATE_IN_PROGRESS, CREATE_FAILED, CREATE_COMPLETE,DELETE_IN_PROGRESS, DELETE_FAILED, UPDATE_IN_PROGRESS, UPDATE_COMPLETE,UPDATE_FAILED} ...]

指定要篩選的羣集狀態列表。(預設為)all。)--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster list-image-log-streams

檢索與映像關聯的日誌流列表。

pcluster list-image-log-streams [-h] --image-id IMAGE_ID [--region REGION] [--next-token NEXT_TOKEN] [--debug] [--query QUERY]

具名引數

-h, --help

顯示所指定的pcluster list-image-log-streams。

90

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

--image-id, -i IMAGE_ID

指定映像之 ID。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--next-token NEXT_TOKEN

指定用於分頁請求的令牌。--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster list-images

檢索現有自定義映像的清單。

pcluster list-images [-h] [--region REGION] [--next-token NEXT_TOKEN] --image-status {AVAILABLE,PENDING,FAILED} [--debug] [--query QUERY]

具名引數

-h, --help

顯示所指定的pcluster list-images。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--next-token NEXT_TOKEN

指定用於分頁請求的令牌。--image-status {AVAILABLE,PENDING,FAILED}

根據提供的狀態過濾圖像。--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster ssh

執行ssh命令,預先填入叢集使用者名稱和 IP 地址。任意引數會附加至ssh命令列。

pcluster ssh [-h] [--debug] [--region REGION] --cluster-name CLUSTER_NAME [--dryrun DRYRUN]

91

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

具名引數

-h, --help

顯示所指定的pcluster ssh。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--cluster-name, -n CLUSTER_NAME

指定要連接的叢集名稱。--dryrun DRYRUN

-打印要執行和退出的命令行。

範例:

$ pcluster ssh --cluster-name mycluster -i ~/.ssh/id_rsa

執行ssh預先填入叢集使用者名稱和 IP 地址的命令:

ssh [email protected] -i ~/.ssh/id_rsa

pcluster update-cluster

更新現有羣集以匹配指定配置文件的設置。

pcluster update-cluster [-h] --cluster-name CLUSTER_NAME [--suppress-validators SUPPRESS_VALIDATORS [SUPPRESS_VALIDATORS ...]] [--validation-failure-level {INFO,WARNING,ERROR}] [--region REGION] [--dryrun DRYRUN] [--force-update FORCE_UPDATE] --cluster-configuration CLUSTER_CONFIGURATION [--debug] [--query QUERY]

具名引數

-h, --help

顯示所指定的pcluster update-cluster。--cluster-name, -n CLUSTER_NAME

叢集的名稱。--suppress-validators SUPPRESS_VALIDATORS [SUPPRESS_VALIDATORS ...]

標識一個或多個要禁止的配置驗證器。

格式:(a)ALL|type:[A-Za-z0-9]+)--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用Region (p. 102)設置時,AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

92

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

--dryrun DRYRUN

僅執行請求的驗證,而不創建任何資源。它可用於驗證映像配置和更新要求。(預設為)false。)--force-update FORCE_UPDATE

通過忽略更新驗證錯誤來強制更新。(預設為)false。)--cluster-configuration, -c CLUSTER_CONFIGURATION

YAML 羣集配置文件。--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster update-compute-fleet

更新叢集計算隊列的狀態。

pcluster update-compute-fleet [-h] --cluster-name CLUSTER_NAME [--region REGION] --status {START_REQUESTED,STOP_REQUESTED,ENABLED,DISABLED} [--debug] [--query QUERY]

具名引數

-h, --help

顯示pcluster update-compute-fleet。--cluster-name, -n CLUSTER_NAME

叢集的名稱。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--status {START_REQUESTED,STOP_REQUESTED,ENABLED,DISABLED}

指定應用於羣集計算隊列的狀態。狀態START_REQUESTED和STOP_REQUESTED對應於 slurm 調度程序,而狀態ENABLED和DISABLED對應至AWS Batch排程器。

--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster dcv-connect

允許通過使用 NICE DCV 通過交互式會話連接到頭節點。

pcluster dcv-connect [-h] [--debug] [--region REGION]

93

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

--cluster-name CLUSTER_NAME [--key-path KEY_PATH] [--show-url]

具名引數

-h, --help

顯示pcluster dcv-connect。--debug

啟用除錯記錄功能。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--cluster-name, -n CLUSTER_NAME

叢集的名稱。--key-path KEY_PATH

指定用於連線的 SSH 金鑰的路徑。--show-url

打印將用於 DCV 連接的 URL 並退出。

pcluster delete-cluster-instances

啟動強制終止所有羣集計算節點。這不適用於AWS Batch叢集。

pcluster delete-cluster-instances [-h] --cluster-name CLUSTER_NAME [--region REGION] [--force FORCE] [--debug] [--query QUERY]

具名引數

-h, --help

顯示pcluster delete-cluster-instances。--cluster-name, -n CLUSTER_NAME

叢集的名稱。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--force FORCE

通過忽略更新驗證錯誤來強制更新。(預設為)false。)--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

94

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

pcluster delete-cluster

開始刪除集羣。

pcluster delete-cluster [-h] --cluster-name CLUSTER_NAME [--region REGION] [--debug] [--query QUERY]

具名引數

-h, --help

顯示pcluster delete-cluster。--cluster-name, -n CLUSTER_NAME

叢集的名稱。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster delete-image

開始刪除自定義AWS ParallelCluster映像。

pcluster delete-image [-h] --image-id IMAGE_ID [--region REGION] [--force FORCE] [--debug] [--query QUERY]

具名引數

-h, --help

顯示pcluster delete-image。--image-id, -i IMAGE_ID

指定要刪除的映像的 ID。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--force FORCE

如果存在使用 AMI 的實例或 AMI 是共享的,則強制刪除。(預設為)false。)--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

95

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

pcluster describe-cluster-instances

描述集羣中的實例。

pcluster describe-cluster-instances [-h] --cluster-name CLUSTER_NAME [--region REGION] [--next-token NEXT_TOKEN] [--node-type {HeadNode,ComputeNode}] [--queue-name QUEUE_NAME] [--debug] [--query QUERY]

具名引數

-h, --help

顯示pcluster describe-cluster-instances。--cluster-name, -n CLUSTER_NAME

叢集的名稱。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--next-token NEXT_TOKEN

指定用於分頁請求的令牌。--node-type {HeadNode,ComputeNode}

指定要列出的節點類型。支援的值為 HeadNode 和 ComputeNode。如果未指定此參數,則HeadNode和ComputeNode實例進行了描述。

--queue-name QUEUE_NAME

指定要列出的叢集名稱。如果未指定此參數,則會描述所有隊列中的實例。--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster describe-cluster

取得叢集的相關詳細資訊。

pcluster describe-cluster [-h] --cluster-name CLUSTER_NAME [--region REGION] [--debug] [--query QUERY]

具名引數

-h, --help

顯示pcluster describe-cluster。--cluster-name, -n CLUSTER_NAME

叢集的名稱。

96

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster describe-compute-fleet

描述計算隊列的狀態。

pcluster describe-compute-fleet [-h] --cluster-name CLUSTER_NAME [--region REGION] [--debug] [--query QUERY]

具名引數

-h, --help

顯示pcluster describe-compute-fleet。--cluster-name, -n CLUSTER_NAME

叢集的名稱。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster describe-image

取得圖像的相關詳細資訊。

pcluster describe-image [-h] --image-id IMAGE_ID [--region REGION] [--debug] [--query QUERY]

具名引數

-h, --help

顯示所指定的pcluster describe-image。--image-id, -i IMAGE_ID

指定映像之 ID。

97

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster list-official-images

描述官方AWS ParallelClusterAMI。

pcluster list-official-images [-h] [--region REGION] [--os OS] [--architecture ARCHITECTURE] [--debug] [--query QUERY]

具名引數

-h, --help

顯示所指定的pcluster list-official-images。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用Region (區域) (p. 140)設置,則AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--os OS

指定用來篩選結果的操作系統。如果未指定此參數,則所有操作系統都會傳回。--architecture ARCHITECTURE

指定用來篩選結果的體繫結構。如果未指定此參數,則所有檔案集都會傳回。--debug

啟用除錯記錄功能。--query QUERY

指定要對輸出執行的 JMesPath 查詢。

pcluster export-cluster-logs

將羣集的日誌導出到本地tar.gz通過傳遞 Amazon S3 存儲桶進行歸檔。

pcluster export-cluster-logs [-h] [--debug] [--region REGION] --cluster-name CLUSTER_NAME --bucket BUCKET [--output-file OUTPUT_FILE] [--bucket-prefix BUCKET_PREFIX] [--keep-s3-objects KEEP_S3_OBJECTS] [--start-time START_TIME] [--end-time END_TIME] [--filters FILTER [FILTER ...]]

98

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

具名引數

-h, --help

顯示所指定的pcluster export-cluster-logs。--debug

啟用除錯記錄功能。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--cluster-name, -n CLUSTER_NAME

叢集的名稱。--bucket BUCKET

指定要匯出叢集日誌數據的 Amazon S3 儲存貯體。它必須與叢集位於同一個區域。--output-file OUTPUT_FILE

指定要將日誌歸檔保存到的文件路徑。如果提供此功能,則日誌將保存在本地。否則,它們將上傳到Amazon S3,並在輸出中返回 URL。默認情況下,將上傳到 Amazon S3。

--bucket-prefix BUCKET_PREFIX

指定傳出的日誌數據儲存在 Amazon S3 儲存貯體中的路徑的前綴。--keep-s3-objects KEEP_S3_OBJECTS

如果true時,將保留導出到 Amazon S3 的導出對象。(預設為)false。)--start-time START_TIME

指定時間範圍的開始時間,以 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ,例如:2021-01-01T20:00:00Z。包括時間戳等於此時間或晚於此時間的日誌事件。如果未指定,則默認值為創建集羣的時間。

--end-time END_TIME

指定收集日誌事件的時間範圍終點,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ,例如:2021-01-01T20:00:00Z')。時間戳等於或晚於此時間的事件不包括在內。時間元素(例如分鐘和秒)可以省略。預設值是目前時間。

--filters FILTER [FILTER ...]

指定日誌的過濾器。格式:Name=a,Values=1 Name=b,Values=2,3。 支援的篩選條件包括:private-dns-name

指定個體私有 DNS 名稱的簡短形式(例如ip-10-0-0-101。node-type

指定節點類型,此過濾器的唯一接受值為HeadNode。

pcluster export-image-logs

將映像生成器堆棧的日誌導出到本地tar.gz通過傳遞 Amazon S3 存儲桶進行歸檔。

pcluster export-image-logs [-h] [--debug] [--region REGION] [--output-file OUTPUT_FILE] [--bucket-prefix BUCKET_PREFIX] [--keep-s3-objects KEEP_S3_OBJECTS] [--start-time START_TIME]

99

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster第 3 版 CLI 命令

[--end-time END_TIME] --image-id IMAGE_ID --bucket BUCKET

具名引數

-h, --help

顯示所指定的pcluster export-image-logs。--debug

啟用除錯記錄功能。--region, -r REGION

指定AWS 區域以使用。區域必須指定,使用AWS_DEFAULT_REGION環境變數,region設置[default]的 區段~/.aws/config文件或--region參數。

--output-file OUTPUT_FILE

指定要將日誌歸檔保存到的文件路徑。如果提供此功能,則日誌將保存在本地。否則,它們將上傳到Amazon S3,並在輸出中返回 URL。默認情況下,將上傳到 Amazon S3。

--bucket-prefix BUCKET_PREFIX

指定傳出的日誌數據儲存在 Amazon S3 儲存貯體中的路徑的前綴。--keep-s3-objects KEEP_S3_OBJECTS

如果true時,將保留導出到 Amazon S3 的導出對象。(預設為)false。)--start-time START_TIME

指定時間範圍的開始時間,以 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ,例如:2021-01-01T20:00:00Z。包括時間戳等於此時間或晚於此時間的日誌事件。如果未指定,則默認值為創建集羣的時間。

--end-time END_TIME

指定收集日誌事件的時間範圍終點,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ,例如:2021-01-01T20:00:00Z')。時間戳等於或晚於此時間的事件不包括在內。時間元素(例如分鐘和秒)可以省略。預設值是目前時間。

--image-id, -i IMAGE_ID

將導出日誌的映像 ID。--bucket BUCKET

指定要匯出映像生成日誌的 Amazon S3 儲存貯體。它必須與圖片位於同一個區域。

pcluster version

顯示 AWS ParallelCluster 的版本。

pcluster version [-h] [--debug]

具名引數

-h, --help

顯示所指定的pcluster version。--debug

啟用除錯記錄功能。

100

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

pcluster3-config-converter讀取AWS ParallelCluster版本 2 配置文件並寫入AWS ParallelCluster版本 3 配置文件。

pcluster3-config-converter [-h] [-c CONFIG_FILE] [-t CLUSTER_TEMPLATE] [-o OUTPUT_FILE] [--force-convert]

具名引數

-h, --help

顯示pcluster3-config-converter。-c CONFIG_FILE, --config-file CONFIG_FILE

指定AWS ParallelCluster要讀取的版本 2 配置文件。-t CLUSTER_TEMPLATE, --cluster-template CLUSTER_TEMPLATE

指定[cluster]區段 (p. 271)要轉換的配置文件。如果未指定,腳本將查找cluster_template (p. 270)參數[global]區段 (p. 270)或搜尋[cluster default]。

-o OUTPUT_FILE, --output-file OUTPUT_FILE

指定AWS ParallelCluster要寫入的版本 3 配置文件。如果未指定此參數,會將配置寫入至標準輸出。--force-convert

即使不支持一個或多個設置,也不建議啟用轉換。

Note

所以此pcluster3-config-converter命令已添加到AWS ParallelCluster3.0.1 版

組態檔案AWS ParallelCluster版本 3 使用 YAML 1.1 文件作為配置參數。

主題• 叢集組態檔案 (p. 101)• 構建映像配置文件 (p. 140)

叢集組態檔案AWS ParallelCluster版本 3 使用單獨的配置文件來控制羣集基礎結構的定義和自定義 AMI 的定義。所有配置文件都使用 YAML 1.1 文件。下面鏈接了每個配置文件的詳細信息。如需組態範例,請參https://github.com/aws/aws-parallelcluster/tree/release-3.0/cli/tests/pcluster/example_configs。

這些對象用於AWS ParallelCluster版本 3 羣集配置。

主題• 羣集配置文件屬性 (p. 102)• Image 區段 (p. 102)• HeadNode 區段 (p. 103)• Scheduling 區段 (p. 112)• SharedStorage 區段 (p. 126)• Iam 區段 (p. 134)

101

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

• Monitoring 區段 (p. 135)• Tags 區段 (p. 136)• AdditionalPackages 區段 (p. 137)• DirectoryService 區段 (p. 137)

羣集配置文件屬性

Region(選用、String)

集羣的區域。例如: us-east-2。

更新政策:如果更改此設置,則不允許更新。 (p. 79)CustomS3Bucket(選用、String)

指定要由叢集使用的現有 Amazon S3 儲存貯體名稱。根據預設,AWS ParallelCluster會建立一個名為parallelcluster-hash-v1-DO-NOT-DELETE。

更新政策:如果更改此設置,則不允許更新。如果強制更新,新值將被忽略,並使用舊值。 (p. 80)AdditionalResources(選用、String)

定義要與範本一同啟動的其他 AWS CloudFormation 範本。此額外範本用於建立屬於叢集以外,但屬於叢集生命週期的資源。

此值必須是公有範本的 HTTPS URL,內含所有提供的參數。

沒有預設值。

更新政策:您可以在更新期間變更此設定。 (p. 79)

Image 區段(必要)定義集的作業系統。

Image (p. 102): Os (p. 102): string CustomAmi (p. 103): string

Image屬性

Os(必要、String)

指定叢集所用的作業系統。支援的值是alinux2、centos7、ubuntu1804,和ubuntu2004

除了下表中提到的不支持的特定區域以外centos7。所有其他項目AWS商業區域支援以下所有作業系統。

分割區 (區域) alinux2 centos7 ubuntu1804 與ubuntu2004

商務 (未具體提及的所有區域) True True True

AWS GovCloud(US-East) (us-gov-east-1)

True False True

AWS GovCloud(美國西部) (us-gov-west-1)

True False True

102

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

分割區 (區域) alinux2 centos7 ubuntu1804 與ubuntu2004

中國 (北京) (cn-north-1) True False True

中國 (寧夏) (cn-northwest-1) True False True

更新政策:如果更改此設置,則不允許更新。 (p. 79)CustomAmi(選用、String)

指定用於頭和運算節點的自訂 AMI ID,而非預設 AMI。

如果自定義 AMI 需要其他權限才能啟動,則必須將這些權限添加到用户和頭節點策略中。

例如,如果自定義 AMI 具有與其關聯的加密快照,則在用户和頭節點策略中都需要以下附加策略:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:ReEncrypt*", "kms:CreateGrant", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:<AWS_REGION>:<AWS_ACCOUNT_ID>:key/<AWS_KMS_KEY_ID>" ] } ]}

更新政策:如果更改此設置,則不允許更新。 (p. 79)

HeadNode 區段(必要)指定頭節點的配定。

HeadNode (p. 103): InstanceType (p. 104): string Networking (p. 105): SubnetId (p. 105): string ElasticIp (p. 105): string/boolean SecurityGroups (p. 105): - string - string AdditionalSecurityGroups (p. 105): - string - string Proxy (p. 105): HttpProxyAddress (p. 105): string DisableSimultaneousMultithreading (p. 105): boolean Ssh (p. 106): KeyName (p. 106): string AllowedIps (p. 106): string LocalStorage (p. 106): RootVolume (p. 106): Size (p. 107): integer

103

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

Encrypted (p. 107): boolean VolumeType (p. 107): string Iops (p. 107): integer Throughput (p. 107): integer DeleteOnTermination (p. 108): boolean EphemeralVolume (p. 108): MountDir (p. 108): string Dcv (p. 108): Enabled (p. 108): boolean Port (p. 108): integer AllowedIps (p. 109): string CustomActions (p. 109): OnNodeStart (p. 109): Script (p. 109): string Args (p. 109): - string - string OnNodeConfigured (p. 109): Script (p. 109): string Args (p. 109): - string - string Iam (p. 109): InstanceRole (p. 110): string InstanceProfile (p. 110): string S3Access (p. 110): - BucketName (p. 110): string EnableWriteAccess (p. 110): boolean KeyName (p. 110): string AdditionalIamPolicies (p. 111): - Policy (p. 111): string Imds (p. 111): Secured (p. 111): boolean

主題• HeadNode 屬性 (p. 104)• Networking (p. 105)• Ssh (p. 106)• LocalStorage (p. 106)• Dcv (p. 108)• CustomActions (p. 109)• Iam (p. 109)• Imds (p. 111)

HeadNode 屬性

InstanceType(必要、String)

指定頭節點的執行個體類型。

指定 Head 節點所用的 Amazon EC2 執行個體類型。實例類型的體繫結構必須與AWS BatchInstanceType (p. 115)或者Slurm InstanceType (p. 120)設定。

如果您定義了具有多個網絡接口或網絡接口卡的 p4d 實例類型或其他實例類型,則必須將ElasticIp (p. 105)至true以提供公開存取。AWS公有 IP 只能分配給使用單個網絡接口啟動的實例。對於此情況,我們建議您使用NAT 閘道以提供叢集運算節點的公有存取。若需 IP 地址的詳細資訊,請參指派次要私有 IPv4 地址。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

104

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

DisableSimultaneousMultithreading(選用、Boolean)

如果true禁用頭節點上的超線程。預設值為 false。

並非所有執行個體類型都可以停用超執行緒。如需支援禁用超線程的執行個體類型清單,請參各執行個體類型的 CPU 核心和每 CPU 核心中的Amazon EC2 Linux 執行個體使用者指南。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

Networking

(必要)定義頭節點的網絡配置。

Networking (p. 105): SubnetId (p. 105): string ElasticIp (p. 105): string/boolean SecurityGroups (p. 105): - string - string AdditionalSecurityGroups (p. 105): - string - string Proxy (p. 105): HttpProxyAddress (p. 105): string

Networking 屬性

SubnetId(必要、String)

指定頭節點佈建所在之現有子網路的 ID。

更新政策:如果更改此設置,則不允許更新。 (p. 79)ElasticIp(選用、String)

建立彈性 IP 地址,或將彈性 IP 地址指派給頭節點。支援的值如下:true、false或現有彈性 IP 地址ID。預設為 false。

更新政策:如果更改此設置,則不允許更新。 (p. 79)SecurityGroups(選用、[String])

要用於頭節點的 Amazon VPC 安全組 ID 的列表。這些安全組替換AWS ParallelCluster如果不包含此屬性,則會創建。

更新政策:如果更改此設置,則不允許更新。 (p. 79)AdditionalSecurityGroups(選用、[String])

要用於頭節點的其他 Amazon VPC 安全組 ID 的列表。

更新政策:如果更改此設置,則不允許更新。 (p. 79)Proxy(選用)

指定頭節點的代理設置。

Proxy (p. 105): HttpProxyAddress (p. 105): string

HttpProxyAddress(選用、String)

定義 HTTP 或 HTTPS 代理伺服器,通常為 https://x.x.x.x:8080。

105

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

沒有預設值。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

Ssh

(選用)定義 SSH 存取頭節點的配置。

Ssh (p. 106): KeyName (p. 106): string AllowedIps (p. 106): string

更新政策:您可以在更新期間變更此設定。 (p. 79)

Ssh屬性

KeyName(選用、String)

指定現有 Amazon EC2 金 key pair,以啟用對頭節點的 SSH 存取。

更新政策:如果更改此設置,則不允許更新。 (p. 79)AllowedIps(選用、String)

指定連線至頭節點的 SSH 連線路的 CIDR 格式 IP 範圍。預設為 0.0.0.0/0。

更新政策:您可以在更新期間變更此設定。 (p. 79)

LocalStorage

(選用)定義頭節點的本地存儲配置。

LocalStorage (p. 106): RootVolume (p. 106): Size (p. 107): integer Encrypted (p. 107): boolean VolumeType (p. 107): string Iops (p. 107): integer Throughput (p. 107): integer DeleteOnTermination (p. 108): boolean EphemeralVolume (p. 108): MountDir (p. 108): string

更新政策:您可以在更新期間變更此設定。 (p. 79)

LocalStorage屬性

RootVolume(必要)

指定頭節點的根卷存儲。

RootVolume (p. 106): Size (p. 107): integer Encrypted (p. 107): boolean VolumeType (p. 107): string Iops (p. 107): integer Throughput (p. 107): integer DeleteOnTermination (p. 108): boolean

106

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

更新政策:您可以在更新期間變更此設定。 (p. 79)Size(選用、Integer)

以 GiB 為單位指定頭節點根磁珠磁盤區的大小。默認大小來自 AMI。使用不同的大小需要 AMI 支持growroot。

更新政策:如果更改此設置,則不允許更新。 (p. 79)Encrypted(選用、Boolean)

指定根磁區是否加密。預設值為 false。

更新政策:如果更改此設置,則不允許更新。 (p. 79)VolumeType(選用、String)

指定Amazon EBS 磁體區類型。支援的值如下:gp2、gp3、io1、io2、sc1、st1,和standard。預設值為 gp2。

如需詳細資訊,請參閱《Linux 執行個體的 Amazon EC2 使用者指南》中的 Amazon EBS 磁碟區類型。

更新政策:如果更改此設置,則不允許更新。 (p. 79)Iops(選用、Integer)

定義io1、io2,和gp3類型磁盤區。

默認值、支持的值和volume_iops至volume_size比率因VolumeType和Size。

更新政策:如果更改此設置,則不允許更新。 (p. 79)VolumeType = io1

預設值Iops= 100

支援的值Iops= 100 至 64000 †

最大Iops至Size比率 = 每 GiB 50 IOPS。5000 IOPS 需要Size至少 100 GiB。VolumeType = io2

預設值Iops= 100

支援的值Iops= 一百至六千 (256000)io2Block Express 磁體積)†

最大Iops至Size比率 = 每 GiB 500 IOPS。5000 IOPS 需要Size至少 10 GiB。VolumeType = gp3

預設值Iops= 3000

支援的值Iops= 三億至十六萬

最大Iops至Size比率 = 每 GiB 500 IOPS。5000 IOPS 需要Size至少 10 GiB。

† 最大 IOPS 僅在建置在 Nitro 系統上的執行個體,用於設定 32,000 IOPS 以上的。其他執行個體保證最高只能保證 32,000 IOPS。舊版本io1磁盤區可能無法達到完整效能,除非您修改磁體積。io2支援塊 Express 磁碟區Iops值高達 256000R5b執行個體類型。如需詳細資訊,請參閱「」io2Block Express 磁碟區中的Amazon EC2 Linux 執行個體使用者指南。

更新政策:您可以在更新期間變更此設定。 (p. 79)Throughput(選用、Integer)

定義的吞吐量gp3磁盤區類型,以 MiB/s 為單位。只有在VolumeType是gp3。預設值為 125。支援的值為:125 —1000 MiB/s

107

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

的率Throughput至Iops可以不超過 0.25。最大吞吐量為 1000 MiB/s 要求Iops設置為至少 4000個。

更新政策:如果更改此設置,則不允許更新。 (p. 79)DeleteOnTermination(選用、Boolean)

指定終止頭節點時是否應刪除根卷。預設值為 true。

更新政策:您可以在更新期間變更此設定。 (p. 79)EphemeralVolume(選用)

指定任何實例存儲卷的詳細信息。如需詳細資訊,請參閱「」執行個體存放區磁碟區中的Amazon EC2Linux 執行個體使用者指南。

EphemeralVolume (p. 108): MountDir (p. 108): string

MountDir(選用、String)

指定實例存儲卷的裝載目錄。預設為 /scratch。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

Dcv

(選用)定義頭節點上運行的 NICE DCV 服務器的配置設置。

Dcv (p. 108): Enabled (p. 108): boolean Port (p. 108): integer AllowedIps (p. 109): string

Important

默認情況下,NICE DCV 端口設置為AWS ParallelCluster對所有 IPv4 地址開放。但是,只有當您具有 NICE DCV 會話的 URL 並在 30 秒內連接到 NICE DCV 會話時,才能連接到 NICE DCV 端口,當 URL 從pcluster dcv connect。使用AllowedIps設定可進一步使用 CIDR 格式的 IP 範圍限制對 NICE DCV 端口的存取,使用Port設置設置非標準端口。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

Dcv 屬性

Enabled(必要、Boolean)

指定是否在頭節點上啟用 NICE DCV。預設值為 false。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

Note

NICE DCV 會自動產生用來保護 NICE DCV 客户端和 NICE DCV 服務器之間流量安全的自我簽署憑證。若要設定您自己的憑證,請參閱NICE DCV 憑證 (p. 254)。

Port(選用、Integer)

指定 NICE DCV 的端口。預設值為 8443。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

108

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

AllowedIps(選用、建議、String)

指定 NICE DCV 連線的 CIDR 格式 IP 範圍。僅在 AWS ParallelCluster 建立安全群組時,才會使用此設定。預設值是 0.0.0.0/0,該值允許從任何網際網路位址存取。

更新政策:您可以在更新期間變更此設定。 (p. 79)

CustomActions

(選用)指定要在頭節點上運行的自定義腳本。

CustomActions (p. 109): OnNodeStart (p. 109): Script (p. 109): string Args (p. 109): - string - string OnNodeConfigured (p. 109): Script (p. 109): string Args (p. 109): - string - string

更新政策:如果更改此設置,則不允許更新。 (p. 79)

CustomActions 屬性

OnNodeStart(選用、String)

指定在啟動任何節點部署引導操作之前在頭節點上運行的腳本。如需詳細資訊,請參閱 自訂引導操作 (p. 55)。Script(必要、String)

指定要使用的檔案。檔案路徑可以以https://或者s3://。Args(選用、[String])

要傳遞到腳本的引數列表。OnNodeConfigured(選用、String)

指定在節點引導操作完成後在頭節點上運行的腳本。如需詳細資訊,請參閱 自訂引導操作 (p. 55)。Script(必要、String)

指定要使用的檔案。檔案路徑可以以https://、s3://, 或file://。Args(選用、[String])

要傳遞給腳本的引數清單。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

Iam

(選用)指定要在頭節點上使用的實例角色或實例配置文件,以覆蓋集羣的默認實例角色或實例配置文件。

Iam (p. 109): InstanceRole (p. 110): string InstanceProfile (p. 110): string S3Access (p. 110): - BucketName (p. 110): string

109

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

EnableWriteAccess (p. 110): boolean KeyName (p. 110): string AdditionalIamPolicies (p. 111): - Policy (p. 111): string

更新政策:您可以在更新期間變更此設定。 (p. 79)

Iam 屬性

InstanceProfile(選用、String)

指定用於覆蓋默認頭節點實例配置文件的實例配置文件。您不能同時指定 InstanceProfile和 InstanceRole。格式是 arn:Partition:iam::Account:instance-profile/InstanceProfileName。

如果指定了這一點,S3Access和AdditionalIamPolicies設置將被忽略。建議您使用AdditionalIamPolicies因為已添加到AWS ParallelCluster通常需要新的權限。

更新政策:如果更改此設置,則不允許更新。 (p. 79)InstanceRole(選用、String)

指定要覆蓋默認頭節點實例角色的實例角色。您不能同時指定 InstanceProfile 和InstanceRole。格式是 arn:Partition:iam::Account:role/RoleName。

如果指定了這一點,S3Access和AdditionalIamPolicies設置將被忽略。建議您使用AdditionalIamPolicies因為已添加到AWS ParallelCluster通常需要新的權限。

更新政策:您可以在更新期間變更此設定。 (p. 79)

S3Access

S3Access(選用)

指定儲存貯體。這用於生成策略以授予對存儲桶的指定訪問權限。如果InstanceProfile或者InstanceRole設定時,即忽略此設定。建議您使用AdditionalIamPolicies因為已添加到AWSParallelCluster通常需要新的權限。

S3Access (p. 110): - BucketName (p. 110): string EnableWriteAccess (p. 110): boolean KeyName (p. 110): string

更新政策:您可以在更新期間變更此設定。 (p. 79)BucketName(必要、String)

儲存貯體的名稱。

更新政策:您可以在更新期間變更此設定。 (p. 79)KeyName(選用、String)

儲存貯體的金鑰。預設值為 *。

更新政策:您可以在更新期間變更此設定。 (p. 79)EnableWriteAccess(選用、Boolean)

指出存放區是否已啟用寫入權限。預設值為 false。

更新政策:您可以在更新期間變更此設定。 (p. 79)

110

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

AdditionalIamPolicies

AdditionalIamPolicies(選用)

針對 Amazon EC2 指定 IAM 政策的 Amazon Resource Names (ARN) 清單。除了要求的許可之外,此清單還會附加到頭節點使用的根角色。AWS ParallelCluster。

IAM 政策名稱及其 ARN 不同。不能使用名稱。如果InstanceProfile或者InstanceRole設定時,即忽略此設定。建議您使用AdditionalIamPolicies因為AdditionalIamPolicies添加到AWSParallelCluster需要,並且InstanceRole必須包含所有需要的權限。所需的許可經常隨發行版本新增功能而變更。

沒有預設值。

AdditionalIamPolicies (p. 111): - Policy (p. 111): string

Policy(選用、[String])

IAM 策略列表。

更新政策:您可以在更新期間變更此設定。 (p. 79)

Imds

(選用)指定執行個體中繼資料服務 (IMDS) 的屬性。如需詳細資訊,請參閱「」執行個體中繼資料服務第 2版中的Amazon EC2 Linux 執行個體使用者指南。

Imds (p. 111): Secured (p. 111): boolean

更新政策:如果更改此設置,則不允許更新。 (p. 79)

Imds屬性

Secured(選用、Boolean)

如果true,將頭節點的 IMDS(以及實例配置文件憑據)的訪問限製為超級用户的子集。

Note

這僅限制羣集頭節點 IMDS 通過 IPv4 IMDS 終端節點訪問。

如果false,則頭節點中的每個用户都可以訪問頭節點的 IMDS。

允許以下用户訪問頭節點的 IMDS:• 根使用者• 叢集管理用户 (pc-cluster-admin)• 操作系統特定的默認用户 (ec2-user在 Amazon Linux 2 上,ubuntu在 Ubuntu 18.04 年,centos第

7 (CentOS 7)

預設為 true。

所以此default用户負責確保羣集具有與之交互所需的權限AWS的費用。如果禁用default用户訪問IMDS,AWS ParallelCluster無法管理計算節點並停止工作。不禁用default用户 IMDS 訪問權限。

當用户被授予對頭節點 IMDS 的訪問權限時,他們可以使用頭節點的實例配置文件 (p. 25)。例如,他們可以使用這些權限啟動 EC2 實例或讀取羣集配置為用於身份驗證的 AD 域的密碼。

111

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

要限制 IMDS 的訪問,AWS ParallelCluster管理iptables。

使用羣集使用者sudo訪問可以有選擇地為其他單個用户啟用或禁用頭節點的 IMDS 訪問,包括default用户,通過運行命令:

$ sudo /opt/parallelcluster/scripts/imds/imds-access.sh --allow <USERNAME>

您可以通過--deny選項。

如果您不知不覺地禁用default用户 IMDS 訪問權限,您可以使用--allow選項。

Note

任何定製iptables規則可能會幹擾用於限制頭節點上 IMDS 訪問的機制。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

Scheduling 區段

(必要)定義要在集羣中使用的作業調度程序以及作業調度程序管理的計算實例的特性。可以使用的兩個作業調度程序是Slurm和AWS Batch,每個都支持不同的設置和屬性。

主題• Scheduling屬性 (p. 113)• AwsBatchQueues (p. 114)• SlurmQueues (p. 116)• SlurmSettings (p. 125)

Scheduling (p. 112): Scheduler (p. 113): slurm SlurmSettings (p. 125): ScaledownIdletime (p. 125): integer Dns (p. 126): DisableManagedDns (p. 126): boolean HostedZoneId (p. 126): string UseEc2Hostnames (p. 126): string SlurmQueues (p. 116): - Name (p. 117): string ComputeSettings (p. 121): LocalStorage (p. 121): RootVolume (p. 122): Size (p. 122): integer Encrypted (p. 122): boolean VolumeType (p. 122): string Iops (p. 122): integer Throughput (p. 123): string EphemeralVolume (p. 123): MountDir (p. 123): string CapacityType (p. 117): string Networking (p. 117): SubnetIds (p. 118): - string AssignPublicIp (p. 118): boolean SecurityGroups (p. 118): - string AdditionalSecurityGroups (p. 118): - string PlacementGroup (p. 118): Enabled (p. 118): boolean

112

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

Id (p. 118): string Proxy (p. 118): HttpProxyAddress (p. 119): string ComputeResources (p. 119): - Name (p. 120): string InstanceType (p. 120): string MinCount (p. 120): integer MaxCount (p. 120): integer SpotPrice (p. 120): float DisableSimultaneousMultithreading (p. 120): boolean Efa (p. 120): Enabled (p. 121): boolean GdrSupport (p. 121): boolean CustomActions (p. 123): OnNodeStart (p. 123): Script (p. 123): string Args (p. 123): - string OnNodeConfigured (p. 124): Script (p. 124): string Args (p. 124): - string Iam (p. 124): InstanceProfile (p. 124): string InstanceRole (p. 124): string S3Access (p. 124): - BucketName (p. 125): string EnableWriteAccess (p. 125): boolean KeyName (p. 125): boolean AdditionalIamPolicies (p. 125): - Policy (p. 125): string Image (p. 119): CustomAmi (p. 119): string

Scheduling (p. 112): Scheduler (p. 113): awsbatch AwsBatchQueues (p. 114): - Name (p. 114): string CapacityType (p. 114): string Networking (p. 114): SubnetIds (p. 115): - string AssignPublicIp (p. 115): boolean SecurityGroups (p. 115): - string AdditionalSecurityGroups (p. 115): - string ComputeResources (p. 115): # this maps to a Batch compute environment (initially we support only 1) - Name (p. 115): string InstanceTypes (p. 115): - string MinvCpus (p. 115): integer DesiredvCpus (p. 116): integer MaxvCpus (p. 116): integer SpotBidPercentage (p. 116): float

Scheduling屬性

Scheduler(必要、String)

指定使用的調度程序。支援的值為 slurm 和 awsbatch。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

113

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

AwsBatchQueues

(選用)設定AWS Batchqueue. 僅支援一個隊列。此區段是必須的Scheduler (p. 113)是awsbatch。

AwsBatchQueues (p. 114): - Name (p. 114): string CapacityType (p. 114): string Networking (p. 114): SubnetIds (p. 115): - string AssignPublicIp (p. 115): boolean SecurityGroups (p. 115): - string AdditionalSecurityGroups (p. 115): - string ComputeResources (p. 115): # this maps to a Batch compute environment (initially we support only 1) - Name (p. 115): string InstanceTypes (p. 115): - string MinvCpus (p. 115): integer DesiredvCpus (p. 116): integer MaxvCpus (p. 116): integer SpotBidPercentage (p. 116): float

更新政策:您可以在更新期間變更此設定。 (p. 79)

AwsBatchQueues屬性

Name(必要、String)

的名稱AWS Batchqueue.

更新政策:如果更改此設置,則不允許更新。 (p. 79)CapacityType(選用、String)

使用的運算資源類型。AWS Batchqueue. 支援的值為 ONDEMAND 或 SPOT。預設值為 ONDEMAND。

Note

時機CapacityType已設定為SPOT,則必須有一個AWSServiceRoleForEC2Spot您帳户中的服務連結角色。您可以按照下列方式來建立此角色。AWS CLI命令

$ aws iam create-service-linked-role --aws-service-name spot.amazonaws.com

如需詳細資訊,請參閱「」Spot 執行個體請求的服務連結角色中的Amazon EC2 Linux 執行個體使用者指南。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)

Networking

(必要)定義AWS Batchqueue.

Networking (p. 114): SubnetIds (p. 115): - string AssignPublicIp (p. 115): boolean SecurityGroups (p. 115):

114

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

- string AdditionalSecurityGroups (p. 115): - string

Networking屬性

SubnetIds(必要、[String])

指定現有子網路的 ID,以便在其中置備AWS Batchqueue. 目前僅支援一個子網。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)AssignPublicIp(選用、String)

建立公有 IP 地址,或將公有 IP 地址指派給AWS Batchqueue. 支援的值為 true 和 false。默認值取決於指定的子網。

更新政策:如果更改此設置,則不允許更新。 (p. 79)SecurityGroups(選用、[String])

用於AWS Batchqueue. 如果未指定安全組,AWS ParallelCluster將創建新的。

更新政策:您可以在更新期間變更此設定。 (p. 79)AdditionalSecurityGroups(選用、[String])

用於AWS Batchqueue.

更新政策:您可以在更新期間變更此設定。 (p. 79)

ComputeResources

(必要)定義ComputeResources組態AWS Batchqueue.

ComputeResources (p. 115): # this maps to a Batch compute environment (initially we support only 1) - Name (p. 115): string InstanceTypes (p. 115): - string MinvCpus (p. 115): integer DesiredvCpus (p. 116): integer MaxvCpus (p. 116): integer SpotBidPercentage (p. 116): float

ComputeResources屬性

Name(必要、String)

運算環境名稱。AWS Batchqueue.

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)InstanceTypes(必要、[String])

要包含在此AWS Batch運算環境。所有實例類型都必須使用x86_64架構。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)MinvCpus(選用、Integer)

用於AWS Batch運算環境。

115

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

更新政策:您可以在更新期間變更此設定。 (p. 79)DesiredVcpus(選用、Integer)

在AWS Batch運算環境。AWS Batch將調整此值介於MinvCpus和MaxvCpus,基於作業隊列中的需求。

更新政策:在更新過程中不會分析此設置。 (p. 254)MaxvCpus(選用、Integer)

用於AWS Batch運算環境。這不能設置為低於DesiredVcpus。

更新政策:無法於更新期間減少此設定。 (p. 80)SpotBidPercentage(選用、Float)

啟動執行個體之前,與該執行個體類型的隨需價格比較時,EC2 Spot 執行個體價格能夠達到的最大百分比。預設值為100(100%). 支持的範圍為1-100。

更新政策:您可以在更新期間變更此設定。 (p. 79)

SlurmQueues

(選用)設定Slurmqueue. 此區段是必須的Scheduler (p. 113)是slurm。

SlurmQueues (p. 116): - Name (p. 117): string ComputeSettings (p. 121): LocalStorage (p. 121): RootVolume (p. 122): Size (p. 122): integer Encrypted (p. 122): boolean VolumeType (p. 122): string Iops (p. 122): integer Throughput (p. 123): string EphemeralVolume (p. 123): MountDir (p. 123): string CapacityType (p. 117): string Networking (p. 117): SubnetIds (p. 118): - string AssignPublicIp (p. 118): boolean SecurityGroups (p. 118): - string AdditionalSecurityGroups (p. 118): - string PlacementGroup (p. 118): Enabled (p. 118): boolean Id (p. 118): string Proxy (p. 118): HttpProxyAddress (p. 119): string ComputeResources (p. 119): - Name (p. 120): string InstanceType (p. 120): string MinCount (p. 120): integer MaxCount (p. 120): integer SpotPrice (p. 120): float DisableSimultaneousMultithreading (p. 120): boolean Efa (p. 120): Enabled (p. 121): boolean GdrSupport (p. 121): boolean CustomActions (p. 123): OnNodeStart (p. 123):

116

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

Script (p. 123): string Args (p. 123): - string OnNodeConfigured (p. 124): Script (p. 124): string Args (p. 124): - string Iam (p. 124): InstanceProfile (p. 124): string InstanceRole (p. 124): string S3Access (p. 124): - BucketName (p. 125): string EnableWriteAccess (p. 125): boolean KeyName (p. 125): boolean AdditionalIamPolicies (p. 125): - Policy (p. 125): string Image (p. 119): CustomAmi (p. 119): string

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)

SlurmQueues屬性

Name(必要、String)

的名稱Slurmqueue.

更新政策:如果更改此設置,則不允許更新。 (p. 79)CapacityType(選用、String)

使用的運算資源類型。Slurmqueue. 支援的值為 ONDEMAND 或 SPOT。預設值為 ONDEMAND。

Note

時機CapacityType已設定為SPOT,則必須有一個AWSServiceRoleForEC2Spot您帳户中的服務連結角色。您可以按照下列方式來建立此角色。AWS CLI命令

$ aws iam create-service-linked-role --aws-service-name spot.amazonaws.com

如需詳細資訊,請參閱「」Spot 執行個體請求的服務連結角色中的Amazon EC2 Linux 執行個體使用者指南。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)

Networking

(必要)定義Slurmqueue.

Networking (p. 117): SubnetIds (p. 118): - string AssignPublicIp (p. 118): boolean SecurityGroups (p. 118): - string AdditionalSecurityGroups (p. 118): - string PlacementGroup (p. 118): Enabled (p. 118): boolean Id (p. 118): string Proxy (p. 118):

117

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

HttpProxyAddress (p. 119): string

Networking屬性

SubnetIds(必要、[String])

指定現有子網路的 ID,以便在其中置備Slurmqueue. 目前僅支援一個子網。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)AssignPublicIp(選用、String)

建立公有 IP 地址,或將公有 IP 地址指派給Slurmqueue. 支援的值為 true 和 false。默認值取決於指定的子網;具有公有 IP 的子網默認為分配公有 IP 地址。

如果您定義了具有多個網絡接口或網絡接口卡的 p4d 實例類型或其他實例類型,則必須將HeadNode (p. 103)/Networking (p. 105)/ElasticIp (p. 105)至true以提供公開存取。AWS公有 IP 只能分配給使用單個網絡接口啟動的實例。對於此情況,我們建議您使用NAT 閘道以提供叢集運算節點的公有存取。在這種情況下,請設定AssignPublicIp至false。若需 IP 地址的詳細資訊,請參指派次要私有 IPv4 地址。

更新政策:如果更改此設置,則不允許更新。 (p. 79)SecurityGroups(選用、[String])

用於Slurmqueue. 如果未指定安全組,AWS ParallelCluster將創建新的。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)AdditionalSecurityGroups(選用、[String])

要用於Slurmqueue.

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)PlacementGroup(選用)

指定放置羣組設置Slurmqueue.

PlacementGroup (p. 118): Enabled (p. 118): boolean Id (p. 118): string

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)Enabled(選用、Boolean)

指示置放羣組是否用於Slurmqueue. 如果未指定,預設值為false。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)Id(選用、String)

現有集羣置放羣組的置放羣組名稱,用於Slurmqueue. 如果沒有指定,AWS ParallelCluster會為每個隊列建立新的叢集置放羣組。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)Proxy(選用)

指定Slurmqueue.

Proxy (p. 118):

118

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

HttpProxyAddress (p. 119): string

更新政策:如果更改此設置,則不允許更新。 (p. 79)HttpProxyAddress(選用、String)

定義 HTTP 或 HTTPS 代理服務器,以便Slurm隊列,通常https://x.x.x.x:8080。

沒有預設值。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)

Image

(選用)指定要用於Slurmqueue. 要對所有節點使用相同的 AMI,請使用CustomAmi (p. 103)設置Image區段 (p. 102)。

Image (p. 119): CustomAmi (p. 119): string

Image屬性

CustomAmi(選用、String)

使用的 AMISlurm隊列而不是默認 AMI。您可以使用 pcluster CLI 命令來檢視默認 AMI 的清單。

pcluster list-official-images

如果自定義 AMI 需要其他權限才能啟動,則必須將這些權限添加到頭節點策略中。

例如,如果自定義 AMI 具有與其關聯的加密快照,則頭節點策略中需要以下附加策略:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:ReEncrypt*", "kms:CreateGrant", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:<AWS_REGION>:<AWS_ACCOUNT_ID>:key/<AWS_KMS_KEY_ID>" ] } ]}

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)

ComputeResources

(必要)定義ComputeResources組態Slurmqueue.

ComputeResources (p. 119):

119

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

- Name (p. 120): string InstanceType (p. 120): string MinCount (p. 120): integer MaxCount (p. 120): integer SpotPrice (p. 120): float DisableSimultaneousMultithreading (p. 120): boolean Efa (p. 120): Enabled (p. 121): boolean GdrSupport (p. 121): boolean

ComputeResources屬性

Name(必要、String)

運算環境名稱。Slurmqueue.

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)DisableSimultaneousMultithreading(選用、Boolean)

如果true,則禁用超線程在Slurmqueue. 預設值為 false。

並非所有執行個體類型都可以停用超執行緒。如需支援禁用超線程的執行個體類型清單,請參各執行個體類型的 CPU 核心和每 CPU 核心中的Amazon EC2 Linux 執行個體使用者指南。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)InstanceType(必要、String)

要使用的執行個體類型。Slurm運算資源。集羣中的所有實例類型都必須使用相同的處理器體繫結構,x86_64或者arm64。

如果您定義了具有多個網絡接口或網絡接口卡的 p4d 實例類型或其他實例類型,則必須將HeadNode (p. 103)/Networking (p. 105)/ElasticIp (p. 105)至true以提供公開存取。AWS公有 IP 只能分配給使用單個網絡接口啟動的實例。對於此情況,我們建議您使用NAT 閘道以提供叢集運算節點的公有存取。若需 IP 地址的詳細資訊,請參指派次要私有 IPv4 地址。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)MinCount(選用、Integer)

The minimum number of instances for the Slurm運算資源。預設為 0。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)MaxCount(選用、Integer)

The maximum number of instances for the Slurm運算資源。預設為 10。

更新政策:要將隊列的大小減少到當前節點數以下,需要首先停止計算隊列。 (p. 80)SpotPrice(選用、Float)

啟動實例之前為 EC2 競價型實例支付的最高價格。預設值為按需價格。

更新政策:您可以在更新期間變更此設定。 (p. 79)Efa(選用)

指定 Elastic Fabric Adapter (EFA) 設置,指定Slurmqueue.

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)

Efa (p. 120):

120

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

Enabled (p. 121): boolean GdrSupport (p. 121): boolean

Enabled(選用、Boolean)

指定已啟用 Elastic Fabric Adapter (EFA)。EFA 由特定執行個體類型支援(c5n.18xlarge、c5n.metal、g4dn.metal、i3en.24xlarge、i3en.metal、m5dn.24xlarge、m5n.24xlarge、m5zn.12xlarge、m5zn.metal、r5dn.24xlarge、r5n.24xlarge、p3dn.24xlarge,和p4d.24xlarge對於 x86-64 實例和c6gn.16xlarge對於特定操作系統上的基於 ARM的重力 2 實例)alinux2、centos7、ubuntu1804, 或ubuntu2004對於 x86-64 實例和alinux2、ubuntu1804, 或ubuntu2004對於基於 ARM 的引力 2 實例)。如需詳細資訊,請參閱 Elastic Fabric Adapter (p. 73)。使用叢集置放羣組以最大限度地減少執行個體之間的延遲。預設值為 false。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)GdrSupport(選用、Boolean)

(選用)從開始AWS ParallelCluster3.0.2 版,則此設定沒有作用。Elastic Fabric Adapter (EFA) 對GpuDirect RDMA(遠程直接內存訪問)的支持始終啟用,如果Slurm計算資源和操作系統。

Note

AWS ParallelCluster3.0.0 到 3.0.1 版:指定啟用了對 GPU 直接 RDMA 的支持Slurm運算資源。Support GpuDirect RDMA 由特定執行個體類型支援 (p4d.24xlarge)在特定操作系統上(Os (p. 102)是alinux2、centos7、ubuntu1804, 或ubuntu2004。預設值為false。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)

ComputeSettings

(必要)定義ComputeSettings組態Slurmqueue.

ComputeSettings屬性

指定ComputeSettings中節點的Slurmqueue.

ComputeSettings (p. 121): LocalStorage (p. 121): RootVolume (p. 122): Size (p. 122): integer Encrypted (p. 122): boolean VolumeType (p. 122): string Iops (p. 122): integer Throughput (p. 123): string EphemeralVolume (p. 123): MountDir (p. 123): string

LocalStorage(選用)

指定LocalStorage中節點的Slurmqueue.

LocalStorage (p. 121): RootVolume (p. 122): Size (p. 122): integer Encrypted (p. 122): boolean VolumeType (p. 122): string Iops (p. 122): integer Throughput (p. 123): string EphemeralVolume (p. 123):

121

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

MountDir (p. 123): string

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)RootVolume(選用)

指定節點的根磁盤區的詳細資訊Slurmqueue.

RootVolume (p. 122): Size (p. 122): integer Encrypted (p. 122): boolean VolumeType (p. 122): string Iops (p. 122): integer Throughput (p. 123): string

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)Size(選用、Integer)

指定根磁盤區大小 (以 GiB 為單位),以 GiB 為單位Slurmqueue. 默認大小來自 AMI。使用不同的大小需要 AMI 支持growroot。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)Encrypted(選用、Boolean)

如果true,則表示Slurm隊列已加密。預設值為 false。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)VolumeType(選用、String)

指定Amazon EBS 磁體區類型中節點的Slurmqueue. 支援的值如下:gp2、gp3、io1、io2、sc1、st1,和standard。預設值為 gp2。

如需詳細資訊,請參閱《Linux 執行個體的 Amazon EC2 使用者指南》中的 Amazon EBS 磁碟區類型。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)Iops(選用、Boolean)

定義io1和io2類型磁盤區。

默認值、支持的值和volume_iops至volume_size率根據VolumeType和Size。VolumeType = io1

預設值Iops= 100

支援的值Iops= 100 至 64000 †

最大volume_iops至volume_size比率 = 每 GiB 50 IOPS。5000 IOPS 需要volume_size至少 100 GiB。

VolumeType = io2

預設值Iops= 100

支援的值Iops= 一百至六千 (256000)io2Block Express 磁體積)†

最大Iops至Size比率 = 每 GiB 500 IOPS。5000 IOPS 需要Size至少 10 GiB。

† 最大 IOPS 僅在建置在 Nitro 系統上的執行個體,用於設定 32,000 IOPS 以上的。其他執行個體保證最高只能保證 32,000 IOPS。舊版本io1磁盤區可能無法達到完整效能,除非您修改磁

122

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

體積。io2Block Express 磁盤區支援volume_iops值高達 256000R5b執行個體類型。如需詳細資訊,請參閱「」io2Block Express 磁碟區中的Amazon EC2 Linux 執行個體使用者指南。

更新政策:您可以在更新期間變更此設定。 (p. 79)Throughput(選用、Integer)

定義的吞吐量gp3磁體類型 (MiB/s)。只有在VolumeType是gp3。預設值為 125。支援的值為:125 —1000 MiB/s

的率Throughput至Iops可以不超過 0.25。最大吞吐量為 1000 MiB/s 要求Iops設置為至少4000 個。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)EphemeralVolume(選用、Boolean)

指定臨時卷的設置。通過將所有實例存儲卷合併到單個邏輯卷中,使用ext4檔案系統。預設為 /scratch。如果實例類型沒有任何實例存儲卷,則不會創建臨時卷。如需詳細資訊,請參閱「」執行個體存放區磁碟區中的Amazon EC2 Linux 執行個體使用者指南。

EphemeralVolume (p. 123): MountDir (p. 123): string

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)MountDir(選用、String)

為每個註釋指定臨時卷的裝載目錄Slurmqueue.

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)

CustomActions

(選用)指定要在節點上運行的自定義腳本Slurmqueue.

CustomActions (p. 123): OnNodeStart (p. 123): Script (p. 123): string Args (p. 123): - string OnNodeConfigured (p. 124): Script (p. 124): string Args (p. 124): - string

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)

CustomActions屬性

OnNodeStart(選用、String)

指定要在Slurm隊列,然後再啟動任何節點部署引導操作。如需詳細資訊,請參閱 自訂引導操作 (p. 55)。Script(必要、String)

指定要使用的檔案。檔案路徑可以以https://或者s3://。Args(選用、[String])

要傳遞到腳本的引數列表。

123

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

OnNodeConfigured(選用、String)

指定要在Slurm隊列中的所有節點引導操作完成後。如需詳細資訊,請參閱 自訂引導操作 (p. 55)。Script(必要、String)

指定要使用的檔案。檔案路徑可以以https://或者s3://。Args(選用、[String])

要傳遞到腳本的引數列表。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)

Iam

(選用)定義可選 IAM 設置Slurmqueue.

Iam (p. 124): S3Access (p. 124): - BucketName (p. 125): string EnableWriteAccess (p. 125): boolean KeyName (p. 125): boolean AdditionalIamPolicies (p. 125): - Policy (p. 125): string InstanceProfile (p. 124): string InstanceRole (p. 124): string

更新政策:您可以在更新期間變更此設定。 (p. 79)

Iam屬性

InstanceProfile(選用、String)

指定一個實例配置文件,以覆蓋Slurmqueue. 您不能同時指定InstanceProfile和InstanceRole。格式是 arn:${Partition}:iam::${Account}:instance-profile/${InstanceProfileName}。

如果指定了這一點,S3Access和AdditionalIamPolicies設置將被忽略。建議您使用AdditionalIamPolicies因為已添加到AWS ParallelCluster通常需要新的權限。

更新政策:您可以在更新期間變更此設定。 (p. 79)InstanceRole(選用、String)

指定一個實例角色,以覆蓋Slurmqueue. 您不能同時指定InstanceProfile和InstanceRole。格式是 arn:${Partition}:iam::${Account}:role/${RoleName}。

如果指定了這一點,S3Access和AdditionalIamPolicies設置將被忽略。建議您使用AdditionalIamPolicies因為已添加到AWS ParallelCluster通常需要新的權限。

更新政策:您可以在更新期間變更此設定。 (p. 79)S3Access(選用)

指定Slurmqueue. 這用於生成策略以授予對存儲桶的指定訪問權限Slurmqueue.

S3Access (p. 124): - BucketName (p. 125): string EnableWriteAccess (p. 125): boolean KeyName (p. 125): boolean

124

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

更新政策:您可以在更新期間變更此設定。 (p. 79)BucketName(必要、String)

儲存貯體的名稱。

更新政策:您可以在更新期間變更此設定。 (p. 79)KeyName(選用、String)

儲存貯體的金鑰。預設值為 *。

更新政策:您可以在更新期間變更此設定。 (p. 79)EnableWriteAccess(選用、Boolean)

指出存放區是否已啟用寫入權限。

更新政策:您可以在更新期間變更此設定。 (p. 79)AdditionalIamPolicies(選用)

針對 Amazon EC2 指定 IAM 政策的 Amazon Resource Names (ARN) 清單。此列表附加到用於Slurm隊列中所需的權限以及AWS ParallelCluster。

IAM 政策名稱及其 ARN 不同。無法使用名稱。InstanceProfile或者InstanceRole設定時,即忽略此設定。建議您使用AdditionalIamPolicies因為AdditionalIamPolicies添加到AWSParallelCluster需要,並且InstanceRole必須包含所有需要的權限。所需的許可經常隨發行版本新增功能而變更。

沒有預設值。

AdditionalIamPolicies (p. 125): - Policy (p. 125): string

Policy(必要、[String])

IAM 策略列表。

更新政策:您可以在更新期間變更此設定。 (p. 79)

SlurmSettings

(選用)定義Slurm,適用於整個集羣。

SlurmSettings (p. 125): ScaledownIdletime (p. 125): integer Dns (p. 126): DisableManagedDns (p. 126): boolean HostedZoneId (p. 126): string UseEc2Hostnames (p. 126): string

SlurmSettings屬性

ScaledownIdletime(選用、Integer)

定義時間量 (以分鐘為單位),運算時間量後Slurm節點終止。

預設值為 10。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)

125

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

Dns

(選用)定義Slurm,適用於整個集羣。

Dns (p. 126): DisableManagedDns (p. 126): boolean HostedZoneId (p. 126): string UseEc2Hostnames (p. 126): string

Dns屬性

DisableManagedDns(選用、Boolean)

如果true,則不應該建立叢集的 DNS 項目。根據預設,AWS ParallelCluster會建立 Route 53 託管區域。預設值為 false。如果DisableManagedDns已設定為true,則託管區域不是由AWSParallelCluster。

Warning

羣集需要名稱解析系統才能正常運行。如果DisableManagedDns已設定為true,也必須提供額外的名稱解析系統。

更新政策:如果更改此設置,則不允許更新。 (p. 79)HostedZoneId(選用、String)

定義用於集羣的 DNS 名稱解析的自定義 Route 53 託管區域 ID。

更新政策:如果更改此設置,則不允許更新。 (p. 79)UseEc2Hostnames(選用、String)

指定默認 EC2 主機名的使用。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

SharedStorage 區段

(選用)集羣的共用儲存設定。最多可以為 Lustre 文件系統指定 5 個亞馬遜 EBS、1 個亞馬遜 EFS 和 1 個FSx。

Note

如果AWS Batch用作調度程序,則 FSx for Lustre 僅在羣集頭節點上可用。

SharedStorage (p. 126): - MountDir (p. 127): string Name (p. 127): string StorageType (p. 127): Ebs EbsSettings (p. 127): VolumeType (p. 128): string Iops (p. 128): integer Size (p. 129): integer Encrypted (p. 129): boolean KmsKeyId (p. 129): string SnapshotId (p. 129): string Throughput (p. 129): integer VolumeId (p. 129): string DeletionPolicy (p. 129): string Raid (p. 129): Type (p. 129): string NumberOfVolumes (p. 130): integer

126

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

- MountDir (p. 127): string Name (p. 127): string StorageType (p. 127): Efs EfsSettings (p. 130): ThroughputMode (p. 130): string ProvisionedThroughput (p. 130): integer Encrypted (p. 130): boolean KmsKeyId (p. 130): string PerformanceMode (p. 130): string FileSystemId (p. 131): string - MountDir (p. 127): string Name (p. 127): string StorageType (p. 127): FsxLustre FsxLustreSettings (p. 131): StorageCapacity (p. 131): integer DeploymentType (p. 131): string ImportedFileChunkSize (p. 132): integer DataCompressionType (p. 132): string ExportPath (p. 132): string ImportPath (p. 132): string WeeklyMaintenanceStartTime (p. 132): string AutomaticBackupRetentionDays (p. 133): integer CopyTagsToBackups (p. 133): boolean DailyAutomaticBackupStartTime (p. 133): string PerUnitStorageThroughput (p. 133): integer BackupId (p. 133): string KmsKeyId (p. 133): string FileSystemId (p. 134): string AutoImportPolicy (p. 134): string DriveCacheType (p. 134): string StorageType (p. 134): string

更新政策:您可以在更新期間變更此設定。 (p. 79)

SharedStorage屬性

MountDir(必要、String)

掛載共用存儲區的路徑。

更新政策:如果更改此設置,則不允許更新。 (p. 79)Name(必要、String)

共享存儲區的名稱。更新設置時使用此名稱。

更新政策:如果更改此設置,則不允許更新。 (p. 79)StorageType(必要、String)

共享存儲的類型。支援的值為 Ebs、Efs 和 FsxLustre。

Note

如果AWS Batch用作調度程序,則 FSx for Lustre 僅在羣集頭節點上可用。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

EbsSettings

(選用)Amazon EBS 磁碟區的設定。

EbsSettings (p. 127):

127

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

VolumeType (p. 128): string Iops (p. 128): integer Size (p. 129): integer Encrypted (p. 129): boolean KmsKeyId (p. 129): string SnapshotId (p. 129): string VolumeId (p. 129): string Throughput (p. 129): integer DeletionPolicy (p. 129): string Raid (p. 129): Type (p. 129): string NumberOfVolumes (p. 130): integer

更新政策:更新過程中不會分析此設置。 (p. 80)

EbsSettings屬性

VolumeType(選用、String)

指定Amazon EBS 磁體區類型。支援的值如下:gp2、gp3、io1、io2、sc1、st1,和standard。預設值為 gp2。

如需詳細資訊,請參閱《Linux 執行個體的 Amazon EC2 使用者指南》中的 Amazon EBS 磁碟區類型。

更新政策:如果更改此設置,則不允許更新。 (p. 79)Iops(選用、Integer)

定義io1、io2,和gp3類型磁盤區。

默認值、支持的值和volume_iops至volume_size率根據VolumeType和Size。VolumeType = io1

預設值Iops= 100

支援的值Iops= 100 至 64000 †

最大volume_iops至volume_size比率 = 每 GiB 50 IOPS。5000 IOPS 需要volume_size至少100 GiB。

VolumeType = io2

預設值Iops= 100

支援的值Iops= 一百至六千 (256000)io2Block Express 磁體積)†

最大Iops至Size比率 = 每 GiB 500 IOPS。5000 IOPS 需要Size至少 10 GiB。VolumeType = gp3

預設值Iops= 3000

支援的值Iops= 三億至十六萬

最大Iops至Size比率 = 每 GiB 500 IOPS。5000 IOPS 需要Size至少 10 GiB。

† 最大 IOPS 僅在建置在 Nitro 系統上的執行個體,用於設定 32,000 IOPS 以上的。其他執行個體保證最高只能保證 32,000 IOPS。舊版本io1磁盤區可能無法達到完整效能,除非您修改磁體積。io2Block Express 磁盤區支援volume_iops值高達 256000R5b執行個體類型。如需詳細資訊,請參閱「」io2Block Express 磁碟區中的Amazon EC2 Linux 執行個體使用者指南。

更新政策:您可以在更新期間變更此設定。 (p. 79)

128

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

Size(選用、Integer)

以 GiB 為單位指定磁盤區大小。預設值為 35。

更新政策:如果更改此設置,則不允許更新。 (p. 79)Encrypted(選用、Boolean)

指定磁碟區是否加密。預設值為 true。

更新政策:如果更改此設置,則不允許更新。 (p. 79)KmsKeyId(選用、String)

指定要用於加密的自訂 AWS KMS 金鑰。此設置要求Encrypted設定設為true。

更新政策:如果更改此設置,則不允許更新。 (p. 79)SnapshotId(選用、String)

指定 Amazon EBS 快照 ID,如果您要使用快照作為磁碟區的來源,則指定 Amazon EBS 快照 ID。

更新政策:如果更改此設置,則不允許更新。 (p. 79)VolumeId(選用、String)

指定 Amazon EBS 磁碟區 ID。如果為EbsSettings實例中,只有MountDir參數也可以指定。

更新政策:如果更改此設置,則不允許更新。 (p. 79)Throughput(必要、Integer)

要為磁碟區佈建的輸送量 (MiB/s),最多為 1,000 MiB/ 秒。

只有在VolumeType是gp3。支持的範圍為 125 到 1000,默認值為 125。

更新政策:您可以在更新期間變更此設定。 (p. 79)DeletionPolicy(必要、String)

指定刪除羣集時是否應保留、刪除卷或快照。支援的值是Delete、Retain,和Snapshot。預設值為Delete。

更新政策:您可以在更新期間變更此設定。 (p. 79)

Raid

(選用)定義 RAID 磁區的配定。

Raid (p. 129): Type (p. 129): string NumberOfVolumes (p. 130): integer

更新政策:如果更改此設置,則不允許更新。 (p. 79)

Raid屬性

Type(必要、String)

定義 RAID 陣列的類型。支持的值為「0」(條帶化)和「1」(鏡像)。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

129

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

NumberOfVolumes(選用、Integer)

定義 Amazon EBS 磁盤區的數量,以建立 RAID 陣列。支持的值範圍為 2-5。預設值(當Raid設置)為2。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

EfsSettings

(選用)Amazon EFS 檔案系統的設定。

EfsSettings (p. 130): Encrypted (p. 130): boolean KmsKeyId (p. 130): string PerformanceMode (p. 130): string ThroughputMode (p. 130): string ProvisionedThroughput (p. 130): integer FileSystemId (p. 131): string

更新政策:如果更改此設置,則不允許更新。 (p. 79)

EfsSettings屬性

Encrypted(選用、Boolean)

指定 Amazon EFS 檔案系統是否加密。預設值為 false。

更新政策:如果更改此設置,則不允許更新。 (p. 79)KmsKeyId(選用、String)

指定要用於加密的自訂 AWS KMS 金鑰。此設置要求Encrypted設定設為true。

更新政策:如果更改此設置,則不允許更新。 (p. 79)PerformanceMode(選用、String)

指定 Amazon EFS 檔案系統的效能模式。支援的值為 generalPurpose 和 maxIO。預設值為generalPurpose。如需詳細資訊,請參閱「」效能模式中的Amazon Elastic File System 用户指南。

我們建議對大部分檔案系統使用 generalPurpose 效能模式。

使用 maxIO 效能模式的檔案系統可擴展到更高階的彙總輸出量和每秒操作數。不過,對於大部分檔案操作,代價是延遲會稍微提高。

更新政策:如果更改此設置,則不允許更新。 (p. 79)ThroughputMode(選用、String)

Amazon EFS 檔案系統的吞吐量模式。支援的值為 bursting 和 provisioned。預設值為bursting。時機provisioned被使用,ProvisionedThroughput必須指定。

更新政策:您可以在更新期間變更此設定。 (p. 79)ProvisionedThroughput(必要何時ThroughputMode是provisioned、Integer)

定義 Amazon EFS 檔案系統的佈建輸出量 (MiB/s),以 MiB/s 測量。這對應於ProvisionedThroughputInMibps參數Amazon EFS API 參考。

如果使用此參數,則必須將 ThroughputMode 設為 provisioned。

支持的範圍為1-1024。聯絡 AWS Support 以請求增加限制。

130

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

更新政策:您可以在更新期間變更此設定。 (p. 79)FileSystemId(選用、String)

定義現有檔案系統的 Amazon EFS 檔案系統 ID。

如果指定此項,則只有MountDir您同時可以指定。無其他EfsSettings您同時可以指定。

如果您設定此選項,則它僅支援下列情況的檔案系統:• 在堆疊的可用區域中沒有掛載目標

或• 在堆疊的可用區域中有現有的掛載目標,允許來自 0.0.0.0/0 的傳入和傳出 NFS 流量。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

FsxLustreSettings

(選用)Lustre 檔案系統的 FSx 設定。

FsxLustreSettings (p. 131): StorageCapacity (p. 131): integer DeploymentType (p. 131): string ImportedFileChunkSize (p. 132): integer DataCompressionType (p. 132): string ExportPath (p. 132): string ImportPath (p. 132): string WeeklyMaintenanceStartTime (p. 132): string AutomaticBackupRetentionDays (p. 133): integer CopyTagsToBackups (p. 133): boolean DailyAutomaticBackupStartTime (p. 133): string PerUnitStorageThroughput (p. 133): integer BackupId (p. 133): string # BackupId cannot coexist with some of the fields KmsKeyId (p. 133): string FileSystemId (p. 134): string # FileSystemId cannot coexist with other fields AutoImportPolicy (p. 134): string DriveCacheType (p. 134): string StorageType (p. 134): string

更新政策:您可以在更新期間變更此設定。 (p. 79)

Note

如果AWS Batch用作調度程序,則 FSx for Lustre 僅在羣集頭節點上可用。

FsxLustreSettings屬性

StorageCapacity(必要、Integer)

設定 Lustre 檔案系統 FSx 的儲存容量 (以 GiB 為單位)。StorageCapacity如果您要建立新的檔案系統,則是必需的。請勿包含StorageCapacity如果BackupId或者FileSystemId指定。• 對於 SCRATCH_2 和 PERSISTENT_1 部署類型,有效值為 1200 GiB、2400 GiB,以及以 2400 GiB

遞增的倍數。• 對於 SCRATCH_1 部署類型,有效值為 1200 GiB、2400 GiB,以及以 3600 GiB 遞增的倍數。

更新政策:如果更改此設置,則不允許更新。 (p. 79)DeploymentType(選用、String)

指定 Lustre 檔案系統 FSx 的部署類型。支援的值為 SCRATCH_1、SCRATCH_2 和 PERSISTENT_1。預設值為 SCRATCH_1。

131

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

當您需要暫時儲存和短期處理資料時,請選擇 SCRATCH_1 和 SCRATCH_2 部署類型。SCRATCH_2 部署類型提供傳輸中資料加密,以及高於 SCRATCH_1 的爆增輸送容量。

選擇 PERSISTENT_1 部署類型,以支援長期儲存和工作負載及傳輸中資料加密。若要進一步了解部署類型,請參FSx for Lustre 部署選項中的Amazon FSx for Lustre 用户指南。

傳輸中資料加密會在您從支援此功能的 Amazon EC2 執行個體存取 SCRATCH_2 或 PERSISTENT_1 檔案系統時自動啟用。(預設 = SCRATCH_1)

加密傳輸中的SCRATCH_2和PERSISTENT_1支援的執行個體類型存取時,支援類型AWS 區域。如需進一步了解,加密傳輸中的資料中的Amazon FSx for Lustre 用户指南。

更新政策:如果更改此設置,則不允許更新。 (p. 79)ImportedFileChunkSize(選用、Integer)

對於從資料儲存器匯入的資料,此值會判斷條紋計數以及單一實體磁碟上存放之每個檔案 (MiB) 的資料數上限。單一檔案可分割範圍的磁碟數上限會受組成檔案系統的磁碟總數所限。

預設區塊大小是 1,024 MiB (1 GiB),最大為 512,000 MiB (500 GiB)。Amazon S3 物件大小的上限為 5TB。

更新政策:如果更改此設置,則不允許更新。 (p. 79)DataCompressionType(選用、String)

設定 Lustre 檔案系統的 FSx of Lustre 檔案系統的數據壓縮配置。支援的值為LZ4,這表示使用 LZ4 算法打開了數據壓縮。時機DataCompressionType,則在創建文件系統時將關閉數據壓縮。

如需詳細資訊,請參閱「」光澤資料壓縮。

更新政策:您可以在更新期間變更此設定。 (p. 79)ExportPath(選用、String)

Amazon S3 中匯出 FSx to Lustre 檔案系統根目錄的路徑。只有在ImportPath參數。此路徑必須使用 Amazon S3 儲存體,如ImportPath。您可以提供選用的前綴,供您的 FSx to Lustre 檔案系統匯出新資料和變更資料。如果ExportPath值時,FSx for Lustre 會設定默認的輸出路徑s3://import-bucket/FSxLustre[creation-timestamp]。時間戳記使用 UTC 格式,例如 s3://import-bucket/FSxLustre20181105T222312Z。

Amazon S3 匯出儲存貯體和 ImportPath 指定的匯入儲存貯體必須相同。如果您只指定存儲桶名稱,例如s3://import-bucket時,您會獲得檔案系統物件與 Amazon S3 儲存貯體物件的 1:1 映射。此映射表示 Amazon S3 中的輸入資料會在匯出時覆寫。如果在導出路徑中提供自定義前綴,例如s3://import-bucket/[custom-optional-prefix]時,FSx for Lustre 會將您的檔案系統內容匯出到Amazon S3 儲存貯體的匯出前綴。

更新政策:如果更改此設置,則不允許更新。 (p. 79)ImportPath(選用、String)

Amazon S3 儲存貯體的路徑 (包括選用的前綴),供您用做 FSx to Lustre 檔案系統的資料儲存貯體。FSx for Lustre 檔案系統的根目錄會映射到您選取的 Amazon S3 儲存貯體根目錄。例如,s3://import-bucket/optional-prefix。如果您在 Amazon S3 儲存貯體名稱後面指定前綴,檔案系統只會載入具有該前綴的物件索引鍵。

更新政策:如果更改此設置,則不允許更新。 (p. 79)WeeklyMaintenanceStartTime(選用、String)

執行每週維護的偏好開始時間,格式化"d:HH:MM"位於 UTC 時區,其中d是從 1 到 7 的工作日編號,以星期一開始,以星期日結束。此申請需要雙報價。

132

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

更新政策:您可以在更新期間變更此設定。 (p. 79)AutomaticBackupRetentionDays(選用、Integer)

自動備份的保留天數。將此設定為 0 會停用自動備份。支援的範圍為 0-90。預設為 0。僅適用於PERSISTENT_1 部署類型。如需詳細資訊,請參閱「」使用備份中的Amazon FSx for Lustre 用户指南。

更新政策:您可以在更新期間變更此設定。 (p. 79)CopyTagsToBackups(選用、Boolean)

如果true,則應該將 Lustre FSx for Lustre FSx of FSx of Lustre 的標籤複製到備份。此值預設為false。如果它設置為true時,檔案系統的所有標籤都會複製到使用者不指定標籤的所有自動和使用者啟動的備份。如果此值為true,並指定一或多個標籤,只有指定的標籤會複製到備份。如果您在建立使用者啟動的備份時指定一或多個標籤,則無論此值為何,都不會從檔案系統複製任何標籤。僅適用於PERSISTENT_1 部署類型。

更新政策:如果更改此設置,則不允許更新。 (p. 79)DailyAutomaticBackupStartTime(選用、String)

經常性的每日時間,格式為HH:MM。HH是填補零的一天的幾時 (00-23),而MM是填補零的每小時分鐘數(00-59)。例如:05:00指定每天上午 5 點。僅適用於 PERSISTENT_1 部署類型。

更新政策:您可以在更新期間變更此設定。 (p. 79)PerUnitStorageThroughput(的必要項目PERSISTENT_1部署類型、Integer)

描述每 1 TB 儲存體的讀取和寫入輸送量 (MB/s/TiB)。檔案系統輸送量的計算方式是將網路系統儲存容量 (TiB) 乘以 PerUnitStorageThroughput (MB/s/TiB)。對於 2.4 TiB 的檔案系統,佈建 50 MB/s/TiB 的 PerUnitStorageThroughput 可產生 120 MB/s 的檔案系統輸送量。您需要支付佈建輸送量的費用。這會對應於PerUnitStorageThroughput屬性。

可能的值取決於StorageType設定。StorageType = SSD

可能值為 50、100、200。StorageType = HDD

可能的值為 12、40。

更新政策:如果更改此設置,則不允許更新。 (p. 79)BackupId(選用、String)

指定用來從現有備份還原 Lustre 檔案系統 FSx for Lustre 檔案系統的備份 ID。當BackupId設置時,AutoImportPolicy、DeploymentType、ExportPath、KmsKeyId、ImportPath、ImportedFileChunkSize、StorageCapacity,和PerUnitStorageThroughput設定。這些設定是從備份中讀取的。此外,AutoImportPolicy、ExportPath、ImportPath,和ImportedFileChunkSize設定。這會對應於BackupId屬性。

更新政策:如果更改此設置,則不允許更新。 (p. 79)KmsKeyId(選用、String)

的 IDAWS Key Management Service(AWS KMS) 金鑰,針對持久性 FSx in Lustre 檔案系統的資料,針對靜態加密 Lustre 檔案系統的資料。如果未指定,則會使用 Lustre 受管金鑰的 FSx。所以此SCRATCH_1和SCRATCH_2Lustre 檔案系統的 FSx 始終使用 FSx in Lustre 受管金鑰進行靜態加密。如需詳細資訊,請參閱「」加密中的AWS Key Management ServiceAPI 參考。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

133

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

FileSystemId(選用、String)

指定 Lustre 檔案系統的現有 FSx id。

如果指定此選項,則只會使用 FsxLustreSettings 中的 MountDir 和 FileSystemId 設定,並忽略 FsxLustreSettings 中的任何其他設定。

更新政策:如果更改此設置,則不允許更新。 (p. 79)AutoImportPolicy(選用、String)

為 Lustre 檔案系統建立 FSx 時,現有 Amazon S3 物件會顯示為檔案和目錄清單。使用此屬性可選擇當您在連結的 Amazon S3 儲存貯體中添加或修改物件時,FSx to Lustre 如何讓您的檔案和目錄清單保持在最新狀態。AutoImportPolicy可能具有下列值:• NEW-自動導入已打開。FSx for Lustre 會自動匯入任何新增至連結的 Amazon S3 儲存貯體 (目前不存

在 FSx for Lustre 檔案系統中) 的新物件的目錄清單。• NEW_CHANGED-自動導入已打開。選擇此選項後,FSx for Lustre 會自動匯入任何新增至 Amazon S3

儲存貯體的新物件的檔案和目錄清單,以及 Amazon S3 儲存貯體中變更的任何現有物件。• NEW_CHANGED_DELETED-自動導入已打開。選擇此選項後,FSx for Lustre 會自動匯入新增至

Amazon S3 儲存貯體的任何新物件的檔案和目錄清單,內含 Amazon S3 儲存貯體中變更的任何現有物件以及 Amazon S3 儲存貯體中刪除的任何物件。

Note

支援NEW_CHANGED_DELETED新增AWS ParallelCluster3.1.1 版。

如果AutoImportPolicy,則自動導入處於關閉狀態。建立檔案系統時,FSx to Lustre 只會從連結的Amazon S3 儲存貯體更新檔案和目錄清單。選擇此選項後,FSx to Lustre 不會更新任何新增或變更物件的檔案和目錄清單。

如需詳細資訊,請參閱「」自動從您的 S3 存儲桶導入更新中的Amazon FSx for Lustre 用户指南。

更新政策:如果更改此設置,則不允許更新。 (p. 79)DriveCacheType(選用、String)

指定文件系統具有 SSD 驅動器緩存。此選項只能在StorageType設定設為HDD,以及DeploymentType設定設為PERSISTENT_1。這會對應於DriveCache類型屬性。如需詳細資訊,請參閱「」FSx for Lustre 部署選項中的Amazon FSx for Lustre 用户指南。

唯一有效的值為 READ。要禁用 SSD 驅動器緩存,請不要指定DriveCacheType設定。

更新政策:如果更改此設置,則不允許更新。 (p. 79)StorageType(選用、String)

設定您正在建立的 Lustre 檔案系統的 FSx 的儲存類型。有效值為 SSD 和 HDD。• 設為 SSD 以使用固態硬碟儲存體。• 設定為HDD以使用硬碟儲存體。HDD支援。PERSISTENT部署類型。

預設值為 SSD。如需詳細資訊,請參閱「」儲存類型選項中的Amazon FSx for Windows FSx forWindows 用户指南和多種存儲選項中的Amazon FSx for Lustre 用户指南。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

Iam 區段

(選用)指定集羣的 IAM 屬性。

Iam (p. 134):

134

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

Roles (p. 135): LambdaFunctionsRole (p. 135): string PermissionsBoundary (p. 135): string

更新政策:您可以在更新期間變更此設定。 (p. 79)

Iam屬性

PermissionsBoundary(選用、String)

IAM 策略的 ARN,用作由AWS ParallelCluster。如需詳細資訊,請參閱「」IAM 實體的許可界限中的IAM User Guide。格式是 arn:${Partition}:iam::${Account}:policy/${PolicyName}。

更新政策:您可以在更新期間變更此設定。 (p. 79)Roles(選用)

指定集羣使用的 IAM 角色的設置。

更新政策:您可以在更新期間變更此設定。 (p. 79)LambdaFunctionsRole(選用、String)

要用於 IAM 角色的 ARNAWS Lambda。這將覆蓋附加到所有支持的 Lambda 函數的默認角色AWSCloudFormation自訂資源。Lambda 需要配置為允許擔任該角色的委託人。這不會覆 Lambda 用於AWS Batch。格式是 arn:${Partition}:iam::${Account}:role/${RoleName}。

更新政策:您可以在更新期間變更此設定。 (p. 79)

Monitoring 區段

(選用)指定集羣的監視設定。

Monitoring: DetailedMonitoring (p. 135): boolean Logs (p. 135): CloudWatch (p. 136): Enabled (p. 136): boolean RetentionInDays (p. 136): integer DeletionPolicy (p. 136): string Dashboards (p. 136): CloudWatch (p. 136): Enabled (p. 136): boolean

更新政策:您可以在更新期間變更此設定。 (p. 79)

Monitoring屬性

DetailedMonitoring(選用、Boolean)

如果true時,會啟用所有羣集節點的詳細監控。這樣,您就可以在 Amazon EC2 主控台中執行 1 分鐘的監控。預設值為 false。

更新政策:如果更改此設置,則不允許更新。 (p. 79)Logs(選用)

集羣的日誌設置。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

135

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

CloudWatch(選用)

所以此CloudWatch記錄羣集的設置。

更新政策:如果更改此設置,則不允許更新。 (p. 79)Enabled(必要、Boolean)

如果true時,羣集日誌將流式傳輸到CloudWatch日誌。預設值為 true。

更新政策:如果更改此設置,則不允許更新。 (p. 79)RetentionInDays(選用、Integer)

要保留日誌事件的天數。CloudWatch日誌。預設值為 14。支援的值分別為1、3、5、7、14、30、60、90、120、150、180、365、400、545、731、1827,和 3653。

更新政策:您可以在更新期間變更此設定。 (p. 79)DeletionPolicy(選用、String)

指示是否刪除CloudWatch刪除集羣時記錄。可能的值為 Delete 和 Retain。預設值為Retain。

更新政策:您可以在更新期間變更此設定。 (p. 79)Dashboards(選用)

集羣的儀錶板設置。

更新政策:您可以在更新期間變更此設定。 (p. 79)CloudWatch(選用)

所以此CloudWatch儀錶板設置。

更新政策:您可以在更新期間變更此設定。 (p. 79)Enabled(必要、Boolean)

如果true,CloudWatch儀錶板處於啟用狀態。預設值為 true。

更新政策:您可以在更新期間變更此設定。 (p. 79)

Tags 區段

(可選),陣列定義要使用的標籤AWS CloudFormation並傳播到所有羣集資源。如需詳細資訊,請參閱「」AWS CloudFormation資源標籤中的AWS CloudFormation使用者指南。

Tags (p. 136): - Key (p. 136): string Value (p. 137): string

更新政策:如果更改此設置,則不允許更新。 (p. 79)

Tags屬性

Key(必要、String)

定義標籤的名稱。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

136

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

Value(必要、String)

定義標籤值。

更新政策:如果更改此設置,則不允許更新。 (p. 79)

AdditionalPackages 區段

(選用)用於標識要安裝的其他軟件包。

AdditionalPackages (p. 137): IntelSoftware (p. 137): IntelHpcPlatform (p. 137): boolean

更新政策:如果更改此設置,則不允許更新。 (p. 79)

IntelSoftware

(選用)定義英特爾選擇解決方案的配置。

IntelSoftware (p. 137): IntelHpcPlatform (p. 137): boolean

更新政策:如果更改此設置,則不允許更新。 (p. 79)

IntelSoftware屬性

IntelHpcPlatform(選用、Boolean)

如果true,表示最終用户許可協議被接受。這導致 Intel Parallel Studio 安裝在頭節點上,並與運算節點共用。這會在頭節點引導時增加幾分鐘的時間。所以此IntelHpcPlatform設定僅在CentOS7.

更新政策:如果更改此設置,則不允許更新。 (p. 79)

DirectoryService 區段Note

支援DirectoryService新增AWS ParallelCluster3.1.1 版。

(選用)支持多個用户訪問的羣集的目錄服務設置。

AWS ParallelCluster管理支持多個用户訪問具有活動目錄 (AD) 的羣集的權限,通過輕型目錄訪問協議(LDAP)系統安全服務守護程序 (SSSD)。如需詳細資訊,請參閱「」什麼是AWS Directory Service?中的AWS Directory Service管理指南。

我們建議您通過 TLS/SSL 使用 LDAP(簡稱 LDAPS),以確保通過加密通道傳輸任何潛在的敏感信息。

DirectoryService (p. 137): DomainName (p. 138): string DomainAddr (p. 138): string PasswordSecretArn (p. 138): string DomainReadOnlyUser (p. 139): string LdapTlsCaCert (p. 139): string LdapTlsReqCert (p. 139): string LdapAccessFilter (p. 139): string GenerateSshKeysForUsers (p. 140): boolean

137

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

AdditionalSssdConfigs (p. 140): dict

DirectoryService屬性Note

如果您計劃使用AWS ParallelCluster在沒有互聯網訪問的單個子網中,請參閲AWS ParallelCluster位於無網路存取的單一子網路 (p. 52)以獲得額外需求。

DomainName(必要、String)

您使用的身份信息的活動目錄 (AD) 域。此屬性對應於稱為ldap_search_base。

使用 LDAP 客户端在節點上需要的語法(例如,dc=corp,dc=pcluster,dc=com)執行下列動作:• 限制 AD 域中配置多個域的部分。• 更改查詢的範圍。• 添加篩選條件。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)DomainAddr(必要、String)

指向用作 LDAP 服務器的 AD 域控制器的 URI 或 URI。URI 對應於稱為ldap_uri。該值可以是一個逗號分隔的 URI 字符串。要使用 LDAP,您必須添加ldap://添加到每個 URI 的開頭。

範例值:

ldap://192.0.2.0,ldap://203.0.113.0 # LDAPldaps://192.0.2.0,ldaps://203.0.113.0 # LDAPS without support for certificate verificationldaps://abcdef01234567890.corp.pcluster.com # LDAPS with support for certificate verification192.0.2.0,203.0.113.0 # AWS ParallelCluster uses LDAPS by default

如果在證書驗證中使用 LDAPS,則 URI 必須是主機名。

如果在沒有證書驗證或 LDAP 的情況下使用 LDAPS,則 URI 可以是主機名或 IP 地址。

使用 TLS/SSL (LDAP) 上的 LDAP,以避免通過未加密的通道傳輸密碼和其他敏感信息。如果AWSParallelCluster沒有找到協議,它添加ldaps://設定到每個 URI 或主機名的開頭。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)PasswordSecretArn(必要、String)

的 Amazon Resource Name (ARN)AWS Secrets Manager密碼,其中包含密碼。此 ARN 對應於稱為ldap_default_authtok。

LDAP 客户端使用密碼將 AD 域身份驗證為DomainReadOnlyUser請求身份信息時。

當密鑰的值發生變化時,羣集不是自動更新。要更新新密鑰值的集羣,請手動更新集羣或運行以下命令。

$ sudo cinc-client \ --local-mode \ --config /etc/chef/client.rb \ --log_level auto \ --force-formatter \

138

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

--no-color \ --chef-zero-port 8889 \ --json-attributes /etc/chef/dna.json \ --override-runlist aws-parallelcluster-config::directory_service

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)DomainReadOnlyUser(必要、String)

用於在驗證羣集用户登錄時查詢 AD 域的身份信息的標識。它對應於稱為ldap_default_bind_dn。將您的 AD 身份信息用於此值。

以節點上的特定 LDAP 客户端所需的格式指定標識:• 微軟:

cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=pcluster,dc=com

• SimpleAD:

cn=ReadOnlyUser,cn=Users,dc=corp,dc=pcluster,dc=com

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)LdapTlsCaCert(選用、String)

證書包的絕對路徑,其中包含證書鏈中為域控制器頒發證書的每個證書頒發機構的證書。它對應於所謂的 sssd-ldap 參數ldap_tls_cacert。

證書捆綁包是由 PEM 格式的不同證書的串聯組成的文件,也稱為 Windows 中的 DER Base64 格式。它用於驗證作為 LDAP 服務器的 AD 域控制器的標識。

AWS ParallelCluster不負責將證書的初始放置到節點上。作為羣集管理員,您可以在創建羣集後手動在頭節點中配置證書,也可以使用引導腳本 (p. 55)。或者,您可以使用 Amazon Machine Image(AMI),內含頭節點上配置的憑證。

簡易 AD不提供 LDAPS 支持。要瞭解如何將簡單 AD 目錄與AWS ParallelCluster,請參如何為 SimpleAD 配置 LDAPS 端點中的AWS安全部落格。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)LdapTlsReqCert(選用、String)

指定要在 TLS 會話中對服務器證書執行的檢查。它對應於稱為ldap_tls_reqcert。

有效值:never、allow、try、demand 和 hard。

never、allow,和try啟用連接繼續,即使發現證書問題也是如此。

demand和hard啟用在未發現證書問題時繼續通信。

如果羣集管理員使用的值不需要證書驗證成功,則會向管理員返回一條警告消息。因此,我們建議您不要關聯憑證。

預設值為 hard。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)LdapAccessFilter(選用、String)

指定一個篩選器,以將 LDAP 查詢限製為正在查詢的目錄的子集。此屬性對應於稱為ldap_access_filter。您可以使用它將查詢限製為支持大量用户的 AD。

139

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

此過濾器可以阻止用户對集的訪問。但不會影響被阻止用户的發現性。

如果省略此屬性,目錄中的所有用户都可以訪問叢集。

範例:

"!(cn=SomeUser*)" # denies access to every user with alias starting with "SomeUser""(cn=SomeUser*)" # allows access to every user with alias starting with "SomeUser""memberOf=cn=TeamOne,ou=Users,ou=CORP,dc=corp,dc=pcluster,dc=com" # allows access only to users in group "TeamOne".

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)GenerateSshKeysForUsers(選用、Boolean)

定義AWS ParallelCluster在羣集用户首次登錄頭節點後,會為他們生成 SSH 密鑰對。key pair 保存到用户主目錄,位於/home/username/.ssh/。用户可以使用 SSH key pair 進行後續登錄羣集頭節點和計算節點。搭配AWS ParallelCluster,則設計禁用羣集計算節點的登錄。如果用户尚未登錄到頭節點,則不會生成 SSH 密鑰,並且用户將無法登錄到計算節點。

根據預設,AWS ParallelCluster在初始登錄時為每位使用者產生 SSH key pair。

預設為 TRUE。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)AdditionalSssdConfigs(選用、Dict)

鍵值對的字典,其中包含要寫入集羣實例上 SSSD 配置文件的任意 SSSD 參數和值。有關 SSSD 配置文件的完整説明,請參閲sssd和sssd-ldap。

更新政策:必須停止計算隊列才能更改此設置進行更新。 (p. 80)

構建映像配置文件AWS ParallelCluster版本 3 使用 YAML 1.1 文件作為構建映像配置參數。請確認縮進是否正確,以減少配置錯誤。若需詳細資訊,請參 YAML 1.1 規範,https://yaml.org/spec/1.1/。

這些配置文件用於定義自定義AWS ParallelClusterAMI 是使用 EC2 Image Builder 構建的。自定義 AMI 構建過程使用pcluster build-image (p. 83)命令。若需組態檔案範例,請參https://github.com/aws/aws-parallelcluster/tree/release-3.0/cli/tests/pcluster/schemas/test_imagebuilder_schema/test_imagebuilder_schema。

主題• 構建映像配置文件屬性 (p. 140)• Build 區段 (p. 140)• Image 區段 (p. 143)

構建映像配置文件屬性

Region(選用、String)

指定build-imageoperation. 例如: us-east-2。

Build 區段

(必要)指定構建映像的配置。

140

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

Build (p. 140): InstanceType (p. 141): string SubnetId (p. 141): string ParentImage (p. 141): string Iam (p. 141): InstanceRole (p. 142): string InstanceProfile (p. 142): string CleanupLambdaRole (p. 142): string AdditionalIamPolicies (p. 142): - Policy (p. 142): string PermissionsBoundary (p. 142): string Components (p. 142): - Type (p. 142): string Value (p. 142): string Tags (p. 142): - Key (p. 143): string Value (p. 143): string SecurityGroupIds (p. 141): - string UpdateOsPackages (p. 143): Enabled (p. 143): boolean

Build屬性

InstanceType(必要、String)

指定映像所用執行個體的執行個體類型。SubnetId(選用、String)

指定執行個體佈建所在之現有子網路的 ID。提供的子網需要互聯網訪問。

Warning

pcluster build-image使用預設 VPC。如果默認 VPC 已被刪除,也許可以使用AWSControl Tower或者AWS登陸區,則必須指定子網 ID。

ParentImage(必要、String)

指定基礎映像。父映像可以是非AWS ParallelClusterAMI 或官員AWS ParallelCluster相同版本的AMI。您無法使用AWS ParallelCluster官方或自定義 AMIAWS ParallelCluster。格式必須是圖像的ARNarn:Partition:imagebuilder:Region:Account:image/ImageName/ImageVersion或AMI IDami-12345678。

SecurityGroupIds(選用、[String])

指定映像安全組 ID 的清單。

Iam

Iam屬性

(選用)指定映像構建的 IAM 資源。

Iam (p. 141): InstanceRole (p. 142): string InstanceProfile (p. 142): string CleanupLambdaRole (p. 142): string AdditionalIamPolicies (p. 142): - Policy (p. 142): string PermissionsBoundary (p. 142): string

141

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

InstanceProfile(選用、String)

指定一個實例配置文件以覆蓋 EC2 Image Builder 實例的默認實例配置文件。InstanceProfile和InstanceRole和AdditionalIamPolicies無法一起指定。格式是arn:Partition:iam::Account:instance-profile/InstanceProfileName。

InstanceRole(選用、String)

指定一個實例角色以覆蓋 EC2 Image Builder 實例的默認實例角色。InstanceProfile和InstanceRole和AdditionalIamPolicies無法一起指定。格式是arn:Partition:iam::Account:role/RoleName。

CleanupLambdaRole(選用、String)

要用於 IAM 角色的 ARN,AWS Lambda函數支援AWS CloudFormation自定義資源,在構建完成時刪除構建工件。Lambda 需要配置為允許擔任該角色的委託人。格式是arn:Partition:iam::Account:role/RoleName。

AdditionalIamPolicies(選用)

指定附加到用於生成自定義 AMI 的 EC2 Image Builder 實例的其他 IAM 策略。

AdditionalIamPolicies (p. 142): - Policy (p. 142): string

Policy(選用、[String])

IAM 策略列表。格式是 arn:Partition:iam::Account:policy/PolicyName。PermissionsBoundary(選用、String)

IAM 策略的 ARN,用作由AWS ParallelCluster。如需 IAM 許可邊界的詳細信息,請參IAM 實體的許可界限中的IAM User Guide。格式是 arn:Partition:iam::Account:policy/PolicyName。

Components

Components屬性

(選用) 指定 EC2ImageBuilder組件在 AMI 構建過程中使用,以及默認AWS ParallelCluster。此類組件可用於自定義 AMI 構建過程。

Components (p. 142): - Type (p. 142): string Value (p. 142): string

Type(選用、String)

指定組件的類型-值對的類型。類型可以是arn或者script。Value(選用、String)

指定組件的類型-值對的值。當類型為arn,這是 EC2 Image Builder 組件的 ARN。當類型為script,這是指向創建 EC2 Image Builder 組件時要使用的腳本的 https 或 s3 鏈接。

Tags

Tags屬性

(選用)指定要在用於構建 AMI 的資源中設置的標籤列表。

Tags (p. 142):

142

AWS ParallelCluster AWS ParallelCluster 使用者指南組態檔案

- Key (p. 143): string Value (p. 143): string

Key(選用、String)

定義標籤的名稱。Value(選用、String)

定義標籤值。

UpdateOsPackages

UpdateOsPackages屬性

(選用)指定在安裝之前是否更新操作系統AWS ParallelCluster軟體堆棧。

UpdateOsPackages (p. 143): Enabled (p. 143): boolean

Enabled(選用、Boolean)

如果true,則操作系統會更新並重新啟動,然後再安裝AWS ParallelCluster軟體。預設為 false。

Image 區段(必要)定義映像構建的映像屬性。

Image (p. 143): Name (p. 143): string RootVolume (p. 144): Size (p. 144): integer Encrypted (p. 144): boolean KmsKeyId (p. 144): string Tags (p. 143): - Key (p. 143): string Value (p. 144): string

Image屬性

Name(選用、String)

指定 AMI 的名稱。如果未指定,則調用pcluster build-image (p. 83)命令。

Tags

Tags屬性

(選用) 指定圖像的鍵/值對。

Tags (p. 143): - Key (p. 143): string Value (p. 144): string

Key(選用、String)

定義標籤的名稱。

143

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 的運作方式

Value(選用、String)

定義標籤值。

RootVolume

RootVolume屬性

(選用) 指定映像根磁盤區的屬性。

RootVolume (p. 144): Size (p. 144): integer Encrypted (p. 144): boolean KmsKeyId (p. 144): string

Size(選用、Integer)

指定映像的根磁盤區的大小 (以 GiB 為單位)。默認大小為ParentImage (p. 141)加上 27 GiB。Encrypted(選用、Boolean)

指定磁碟區是否加密。預設值為 false。KmsKeyId(選用、String)

指定AWS KMS用於加密磁碟區的密鑰。格式為」arn:Partition:kms:Region:Account:key/KeyId。

AWS ParallelCluster 的運作方式AWS ParallelCluster不但是為了管理叢集而建立,還可當做參考以了解如何利用AWS服務來構建您的 HPC環境。

主題• AWS ParallelCluster流程 (p. 144)

AWS ParallelCluster流程本節適用於使用Slurm。與此調度程序一起使用時,AWS ParallelCluster通過與基礎任務調度程器交互,管理運算節點的配置和移除。

對於基於AWS Batch、AWS ParallelCluster依賴於AWS Batch用於計算節點管理。

clustermgtd

羣集管理守護程序執行以下任務。

• 非活動分區清理• 靜態容量管理:確保靜態容量始終保持正常運行• 將調度程序與 Amazon EC2 同步。• 孤立實例清理• 在 Amazon EC2 終止時恢復計劃程序節點狀態,該狀態發生在掛起工作流程之外• 不正常的 Amazon EC2 實例管理(未通過 Amazon EC2 運行狀況檢查)• 計劃的維護事件管理

144

AWS ParallelCluster AWS ParallelCluster 使用者指南教學課程

• 不正常的調度程序節點管理(未通過計劃程序運行狀況檢查)

computemgtd

計算管理守護程序 (computemgtd) 進程在每個羣集運算節點上運行。計算管理守護程序每隔五 (5) 分鐘確認可以到達頭節點並且運行正常。如果過了五 (5) 分鐘,在此期間無法到達頭節點或運行狀況不佳,計算節點將關閉。

教學課程以下教學課程會讓您了解入門AWS ParallelCluster版本 3,並提供一些常見任務的最佳實務指導。

主題• 在 AWS ParallelCluster 上執行您的第一個任務 (p. 145)• 建置自訂 AWS ParallelCluster AMI (p. 147)• 通過 LDAP 整合 Active Directory (p. 151)• 配置共享存儲加密使用AWS KMS鍵 (p. 164)

在 AWS ParallelCluster 上執行您的第一個任務本教學課程會逐步解說如何在 AWS ParallelCluster 上執行您的第一個 Hello World 任務。如果您尚未完成AWS ParallelCluster,並配置 CLI,請按照設定 AWS ParallelCluster (p. 2),然後繼續學習本教程。

確認安裝首先,我們會驗證AWS ParallelCluster是正確的,包括 Node.js 依賴關係,安裝和配置。

$ node --versionv16.8.0$ pcluster version{ "version": "3.1.2"}

這會傳回 AWS ParallelCluster 的執行版本。

建立您的第一個叢集現在要建立您的第一個叢集。由於本教學課程的工作負載不是效能密集的工作負載,我們可以使用t2.micro 的預設執行個體大小。(對於生產工作負載,您可以選擇最適合您需求的執行個體大小。) 讓我們呼叫您的叢集hello-world。

$ pcluster create-cluster \ --cluster-name hello-world \ --cluster-configuration hello-world.yaml

Note

所以此AWS 區域必須為大多數pcluster命令。如果未在AWS_DEFAULT_REGION環境變量或region設置中的[default]的 區段~/.aws/config文件,然後選擇--region參數必須提供在pcluster命令列。

145

AWS ParallelCluster AWS ParallelCluster 使用者指南在 AWS ParallelCluster 上執行您的第一個任務

如果輸出提供您有關組態的訊息,您將需要執行以下動作來設定AWS ParallelCluster:

$ pcluster configure --config hello-world.yaml

如果pcluster create-cluster (p. 85)命令成功,您會看到類似如下的輸出:

{ "cluster": { "clusterName": "hello-world", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:xxx:stack/xxx", "region": "...", "version": "...", "clusterStatus": "CREATE_IN_PROGRESS" }}

使用以下動作來監控叢集的建立:

$ pcluster describe-cluster --cluster-name hello-world

所以此clusterStatus報告」CREATE_IN_PROGRESS」,同時建立叢集。所以此clusterStatus轉換為」CREATE_COMPLETE成功建立叢集時。輸出還為我們提供了publicIpAddress和privateIpAddress我們的頭節點。

登錄到您的頭節點使用 OpenSSH pem 檔案來登入頭部節點。

$ pcluster ssh --cluster-name hello-world -i /path/to/keyfile.pem

登入之後,執行命令 sinfo 來驗證您的運算節點是否已設置和設定。

$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTqueue1* up infinite 10 idle~ queue1-dy-queue1t2micro-[1-10]

輸出顯示我們的叢集中有一個隊列,最多有十個節點。

使用 Surm 執行您的第一個任務接著,我們建立一個任務,它會休眠一會兒,然後輸出其自己的主機名稱。建立稱為 hellojob.sh 的檔案,其中具有以下內容。

#!/bin/bashsleep 30echo "Hello World from $(hostname)"

接著,使用 sbatch 來提交任務,並驗證它是否執行。

$ sbatch hellojob.shSubmitted batch job 2

現在,您可以檢視佇列並檢查此任務的狀態。在後台啟動新 Amazon EC2 執行個體的設置。您可以使用sinfo命令。

146

AWS ParallelCluster AWS ParallelCluster 使用者指南建置自訂 AWS ParallelCluster AMI

$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 2 queue1 hellojob ec2-user CF 3:30 1 queue1-dy-queue1t2micro-1

輸出顯示任務已提交給queue1。等待 30 秒讓任務完成,然後再次執行 squeue。

$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)

現在佇列中沒有任何任務,我們可以在目前的目錄中檢查輸出。

$ ls -ltotal 8-rw-rw-r-- 1 ec2-user ec2-user 57 Sep 1 14:25 hellojob.sh-rw-rw-r-- 1 ec2-user ec2-user 43 Sep 1 14:30 slurm-2.out

在輸出中,我們看到一個」out「文件。我們可以看到來自任務的輸出:

$ cat slurm-2.outHello World from queue1-dy-queue1t2micro-1

輸出也會顯示我們的任務已在執行個體 queue1-dy-queue1t2micro-1 上成功執行。

在剛創建的羣集中,只有主目錄在羣集的所有節點之間共享。

如果您的應用程序需要共享軟件、庫或數據,請考慮以下選項:

• 建置AWS ParallelCluster已啟用包含您的軟件的自定義 AMI,如建置自訂 AWS ParallelClusterAMI (p. 147)。

• 使用存儲信息 (p. 126)選項中的AWS ParallelCluster配置文件來指定共享文件系統並將已安裝的軟件存儲在指定的裝載位置。

• 使用自訂引導操作 (p. 55)自動執行集羣中每個節點的引導過程。

建置自訂 AWS ParallelCluster AMIImportant

如果您建置自訂 AMI,您必須重複執行用於建立自訂 AMI 的步驟,使用每個新的AWSParallelCluster釋放。

繼續閲讀之前,我們建議您先檢查自訂引導操作 (p. 55)一節,以判斷您想做的修改是否可編成指令碼,並且支援用於未來的AWS ParallelCluster版本。

儘管建置自訂 AMI 不是理想動作,但仍有些案例會建置AWS ParallelCluster是必要的。本教學課程會逐步引導您建置適用於這些方案的自訂 AMI。

如何自訂 AWS ParallelCluster AMI有兩種方式可以建置自訂AWS ParallelClusterAMI。這兩種方法之一是使用AWS ParallelClusterCLI。另一種方法需要您建置新 AMI,該 AMI 可在AWS帳户。

自訂方法• 建置自訂 AWS ParallelCluster AMI (p. 148)• 修改 AWS ParallelCluster AMI (p. 150)

147

AWS ParallelCluster AWS ParallelCluster 使用者指南建置自訂 AWS ParallelCluster AMI

建置自訂 AWS ParallelCluster AMI

如果您已有適當的自訂 AMI 和軟體,您可以應用AWS ParallelCluster在它的頂部。AWS ParallelCluster依賴EC2 映像建置器服務來建置自訂 AMI。如需詳細資訊,請參閲 。Image Builder 用户指南。

重點:

• 這個過程將需要大約 1 小時。這個時間可能會有所不同,如果有額外Build > Components (p. 142)以在構建時安裝。

• AMI 將使用主要組件的版本進行標記,例如內核、調度程序、EFA 驅動程序等,其中的一個子集也將在AMI 描述中報告。

• 開始於AWS ParallelCluster3.0.0 可以使用一組新的 CLI 命令來管理映像的整個生命週期,build-image、list-images、describe-image和delete-image命令。

• 此方法是可重複的,您可以重新執行它以保持 AMI 更新(例如操作系統更新),並在更新現有集羣期間使用新映像。

步驟:

1. 設定AWS 帳戶憑據,以便AWS ParallelCluster客户端可以調用AWSAPI 操作會代表您執行。所需的權限集記錄在AWS Identity and Access Management角色AWS ParallelCluster3.x (p. 25)。

2. 創建基本的映像構建器配置文件,方法是指定InstanceType用於構建映像和ParentImage用作創建AMI 的起點(請參閲映像設定 (p. 140)以獲取其他可選的構建參數)。

Build: InstanceType: <BUILD_INSTANCE_TYPE> ParentImage: <BASE_AMI_ID>

3. 使用命令pcluster build-image (p. 83)建置AWS ParallelClusterAMI 從您提供的基本 AMI 開始:

pcluster build-image --image-id IMAGE_ID --image-configuration IMAGE_CONFIG.yaml --region REGION

Warning

pcluster build-image會使用預設 VPC。如果已刪除預設 VPC,可能會使用AWS ControlTower或者AWS登錄區域,則必須在映像配置文件中指定子網 ID。如需詳細資訊,請參閱「」SubnetId (p. 105)。

有關其他參數,請參閲 pcluster 構建映像命令。上一個命令會執行以下操作:• 建立CloudFormation堆棧基於映像配置。堆棧將創建所有 EC2ImageBuilder構建所需的資源。• 其中創建的資源,將有官方ImageBuilder AWS ParallelCluster組件,其頂部的自定義ImageBuilder可以

指定組件。• EC2ImageBuilder啟動一個構建實例,在其中應用AWS ParallelCluster食譜並安裝AWS ParallelCluster

軟件堆棧並執行必要的配置任務。• 實例將停止,並從中創建一個新的 AMI。• 將從新創建的 AMI 啟動另一個實例。在測試階段,EC2ImageBuilder將運行最終定義在ImageBuilder元

件• 如果構建成功,堆棧將被刪除。如果構建失敗,堆棧將保留以供檢查。

4. 您可以監視生成過程的狀態,執行以下命令,並在構建完成後檢索 AMI ID。

pcluster describe-image --image-id IMAGE_ID --region REGION

5. 若要建立您的集羣,請在CustomAmi (p. 119)字段中的集羣配置中。

故障診斷和監控 AMI 建立過程

148

AWS ParallelCluster AWS ParallelCluster 使用者指南建置自訂 AWS ParallelCluster AMI

映像創建大約需要 1 小時。您可以監控執行pcluster describe-image (p. 97)命令或使用日誌檢索命令跟蹤進度。

pcluster describe-image --image-id IMAGE_ID --region REGION

如前所述,build-image命令會建立AWS CloudFormation堆棧,包含構建映像所需的所有 EC2 資源並啟動 EC2 Image Builder 進程。

正確的執行之後build-image命令,則可以檢索CloudFormation堆疊事件通過使用pcluster get-image-stack-events (p. 88)(您可以使用--query參數來查看最新的事件。如需有關篩選的詳細資訊,請參閱《AWS Command Line Interface 使用者指南》中的篩選 AWS CLI 輸出。

$ pcluster get-image-stack-events --image-id IMAGE_ID --region REGION --query "events[0]"{ "eventId": "ParallelClusterImage-CREATE_IN_PROGRESS-2021-07-28T08:41:46.626Z", "physicalResourceId": "arn:aws:imagebuilder:eu-west-1:xxx:image/parallelclusterimage-myimage/3.1.2/1", "resourceStatus": "CREATE_IN_PROGRESS", "resourceStatusReason": "Resource creation Initiated", "resourceProperties": "{\"InfrastructureConfigurationArn\":\"arn:aws:imagebuilder:eu-west-1:xxx:infrastructure-configuration/parallelclusterimage-3cbb8760-ef7f-11eb-a4c0-02abee05253b\",\"ImageRecipeArn\":\"arn:aws:imagebuilder:eu-west-1:xxx:image-recipe/parallelclusterimage-myimage/3.1.2\",\"DistributionConfigurationArn\":\"arn:aws:imagebuilder:eu-west-1:xxx:distribution-configuration/parallelclusterimage-3cbb8760-ef7f-11eb-a4c0-02abee05253b\",\"Tags\":{\"parallelcluster:image_name\":\"myimage\",\"parallelcluster:image_id\":\"myimage\"}}", "stackId": "arn:aws:cloudformation:eu-west-1:xxx:stack/alinux2-image/3cbb8760-ef7f-11eb-a4c0-02abee05253b", "stackName": "myimage", "logicalResourceId": "ParallelClusterImage", "resourceType": "AWS::ImageBuilder::Image", "timestamp": "2021-07-28T08:41:46.626Z"}

大約 15 分鐘後,堆棧事件將出現與 Image Builder 進程創建相關的日誌事件條目。從這一刻起,可以列出圖像日誌流,並通過使用pcluster list-image-log-streams (p. 90)和pcluster get-image-log-events (p. 87)命令。

$ pcluster list-image-log-streams --image-id IMAGE_ID --region REGION \ --query 'logStreams[*].logStreamName'[ "3.1.2/1"]

$ pcluster get-image-log-events --image-id IMAGE_ID --region REGION \ --log-stream-name 3.1.2/1 --limit 3{ "nextToken": "f/36295977202298886557255241372854078762600452615936671762", "prevToken": "b/36295977196879805474012299949460899222346900769983430672", "events": [ { "message": "ExecuteBash: FINISHED EXECUTION", "timestamp": "2021-07-29T16:11:47.429Z" }, { "message": "Document arn:aws:imagebuilder:eu-west-1:xxx:component/parallelclusterimage-test-c6200fa0-f072-11eb-b9ab-063c2565c5c1/3.1.2/1", "timestamp": "2021-07-29T16:11:47.570Z" }, { "message": "TOE has completed execution successfully", "timestamp": "2021-07-29T16:11:47.672Z"

149

AWS ParallelCluster AWS ParallelCluster 使用者指南建置自訂 AWS ParallelCluster AMI

} ]}

繼續檢查describe-image命令,直到您看到BUILD_COMPLETE狀態。

$ pcluster describe-image --image-id IMAGE_ID --region REGION{ "imageConfiguration": { "url": "https://parallelcluster-ae5a9f1a011e9d83-v1-do-not-delete.s3.eu-west-1.amazonaws.com/parallelcluster/3.1.2/images/alinux2-0729-r13st0t82cuwjvko/configs/image-config.yaml?Signature=..." }, "imageId": "alinux2-0729", "imagebuilderImageStatus": "AVAILABLE", "imageBuildStatus": "BUILD_COMPLETE", ... "ec2AmiInfo": { "amiName": "alinux2-0729 2021-07-29T13-45-08.518Z", "amiId": "ami-05fc2f48ba82e643b", "description": "AWS ParallelCluster AMI for alinux2, kernel-4.14.238-182.422.amzn2.x86_64, lustre-2.10.8-5.amzn2.x86_64, efa-1.13.0-1.amzn2.x86_64, dcv-2021.1.10598-1.el7.x86_64, slurm-20-11-8-1", "state": "AVAILABLE",}

如果您需要幫助來調試 AMI 創建問題,可以創建映像日誌的歸檔。請參閲以下步驟,以啟動此過程。

可以將日誌存檔到 S3 或本地文件中(取決於--output參數)。

$ pcluster export-image-logs --image-id IMAGE_ID --region REGION \ --bucket BUCKET_NAME --bucket-prefix BUCKET_FOLDER{ "url": "https://bucketname.s3.eu-west-1.amazonaws.com/BUCKET-FOLDER/myimage-logs-202109071136.tar.gz?AWSAccessKeyId=..."}

$ pcluster export-image-logs --image-id IMAGE_ID \ --region REGION --bucket BUCKET_NAME --bucket-prefix BUCKET_FOLDER --output-file /tmp/archive.tar.gz{ "path": "/tmp/archive.tar.gz"}

歸檔文件包含CloudWatch記錄與 Image Builder 進程相關的流和AWS CloudFormation堆疊事件。請注意,命令執行可能需要幾分鐘時間。

管理自訂 AMI

開始於AWS ParallelCluster3.0.0 CLI 中添加了一組新命令來構建、監控和管理映像生命週期。請看看羣集命令 (p. 83),以獲取與映像相關命令的詳細資訊。

修改 AWS ParallelCluster AMI

這個方法包括修改一個官方AWS ParallelCluster通過在其上添加自定義 AMI。基座AWS ParallelClusterAMI會使用新的版本進行更新,此 AMI 具有AWS ParallelCluster以在安裝和配置時正常工作。您可以開始以此做為基礎。

重點:

• 此方法比build-image命令,但它是一個手動過程,不可重複。

150

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 LDAP 整合 Active Directory

• 使用此方法,您將失去通過 CLI 提供的日誌檢索和映像生命週期管理命令的所有優勢。

步驟:

1. 查找對應於您使用的特定區域的 AMI。要找到它,你可以使用命令pcluster list-official-images (p. 98)命令與--region參數選擇特定區域,然後--os和--architecture參數,以使用您想要使用的操作系統和架構過濾掉所需的 AMI。從輸出中,您可以檢索 EC2 映像 ID。

2. 在 Amazon EC2/圖像/AMI 控制台中,搜索檢索的 EC2 映像 ID,單擊動作,然後選擇啟動。3. 選擇您的實例類型和屬性,然後啟動您的實例。4. 使用作業系統使用者和 SSH 金鑰來登入執行個體。5. 視需要自訂執行個體。6. 執行下列命令,以備妥執行個體來建立 AMI:

sudo /usr/local/sbin/ami_cleanup.sh

7. 停止執行個體。8. 從執行個體建立新的 AMI。9. 輸入新的 AMI ID,請在CustomAmi (p. 119)字段中的集羣配置中。

通過 LDAP 整合 Active Directory在本教學課程中,您將學習如何建立多用户環境。此環境包括AWS ParallelCluster,它與AWS ManagedMicrosoft AD(活動目錄)corp.pcluster.com。也包含ReadOnly用户和登錄用户。您可以使用自動路徑或手動路徑創建 AD 與 LDAP 集成所需的 VPC、活動目錄 (AD) 和 EC2 實例。創建這些資源後,您將繼續配置和創建與 AD 集成的集羣。建立集羣之後,您將以您建立的用户身份登錄。如需此教學課程中建立的配置詳細資訊,請參閲多用户訪問羣集 (p. 5)與DirectoryService配置區段 (p. 137)。

在本教程中,您創建的羣集通過輕型目錄訪問協議 (LDAP) 與活動目錄 (AD) 通信,以驗證 AD 中定義的用户。LDAP沒有提供加密。為確保潛在敏感信息的安全傳輸,我們強烈建議您對與 ADS 集成的集羣使用 TLS/SSL(簡稱 LDAPS)的 LDAP。如需詳細資訊,請參閱「」啟用服務器端 LDAPS,使用AWS ManagedMicrosoft AD中的AWS Directory Service 管理指南。

本教程的重點是如何創建支持多用户訪問羣集的環境的過程。本教程不重點介紹如何創建和使用AWSDirectory ServiceAD 本身。您需要採取的步驟來設置AWS Managed Microsoft AD僅供測試之用。他們不是,以取代官方文檔和最佳實踐,您可以在AWS Managed Microsoft AD和簡易 AD中的AWS DirectoryService管理指南。

步驟 1:創建 AD 基礎架構選擇自動化選項卡來建立 Active Directory (AD) 基礎架構,其中包含AWS CloudFormation快速創建模板。

選擇手動選項卡手動創建 AD 基礎架構。

Automated

1. 登入AWS Management Console2. 打開鏈接CloudFormation快速建立 (區域-east-1),以便在CloudFormation主控台:

• 具有兩個子網和用於公共訪問的路由的 VPC(如果未指定 VPC)。• AWS Managed Microsoft AD。• 已加入 AD 的 EC2 實例,可用於管理目錄。

3. 在 中快速建立堆疊頁面參數區段中,為下列參數建立密碼:

• AdminPassword

151

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 LDAP 整合 Active Directory

• ReadOnlyPassword (密碼)• UserPassword

適用於KeyPair中,輸入 EC2 金 key pair 對的名稱。

記下密碼。您稍後將在本教學課程中用到它們。4. 通過選中框來確認頁面底部的每個訪問權能。5. 選擇 Create Stack (建立堆疊)。6. 之後CloudFormation堆棧已經達到CREATE_COMPLETE狀態下,選擇輸出選項卡。記下輸出資源名

稱和 ID,因為您需要在後續步驟中使用它們。輸出提供了建立集羣所需的信息:

7. 繼續至步驟 2:建立叢集 (p. 156)。

Manual

1. 創建 AD、添加用户並創建AWS Secrets Manager祕密。

為目錄服務創建一個 VPC,其中包含兩個子網位於不同可用區域中,AWS Managed MicrosoftAD。

Note

• 目錄和域名為corp.pcluster.com。簡短名稱為CORP。• 更改Admin密碼。• AD 至少需要 15 分鐘才能創建。

您可以使用下列 Python 腳本在本地AWS 區域。將此檔案儲存為ad.py並運行它。

import boto3import timefrom pprint import pprint

vpc_name = "PclusterVPC"ad_domain = "corp.pcluster.com"admin_password = "asdfASDF1234"

ec2 = boto3.client("ec2")ds = boto3.client("ds")region = boto3.Session().region_name

# Create the VPC, Subnets, IGW, Routesvpc = ec2.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]vpc_id = vpc["VpcId"]ec2.create_tags(Resources=[vpc_id], Tags=[{"Key": "Name", "Value": vpc_name}])

152

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 LDAP 整合 Active Directory

subnet1 = ec2.create_subnet(VpcId=vpc_id, CidrBlock="10.0.0.0/17", AvailabilityZone=f"{region}a")["Subnet"]subnet1_id = subnet1["SubnetId"]ec2.create_tags(Resources=[subnet1_id], Tags=[{"Key": "Name", "Value": f"{vpc_name}/subnet1"}])ec2.modify_subnet_attribute(SubnetId=subnet1_id, MapPublicIpOnLaunch={"Value": True})subnet2 = ec2.create_subnet(VpcId=vpc_id, CidrBlock="10.0.128.0/17", AvailabilityZone=f"{region}b")["Subnet"]subnet2_id = subnet2["SubnetId"]ec2.create_tags(Resources=[subnet2_id], Tags=[{"Key": "Name", "Value": f"{vpc_name}/subnet2"}])ec2.modify_subnet_attribute(SubnetId=subnet2_id, MapPublicIpOnLaunch={"Value": True})igw = ec2.create_internet_gateway()["InternetGateway"]ec2.attach_internet_gateway(InternetGatewayId=igw["InternetGatewayId"], VpcId=vpc_id)route_table = ec2.describe_route_tables(Filters=[{"Name": "vpc-id", "Values": [vpc_id]}])["RouteTables"][0]ec2.create_route(RouteTableId=route_table["RouteTableId"], DestinationCidrBlock="0.0.0.0/0", GatewayId=igw["InternetGatewayId"])ec2.modify_vpc_attribute(VpcId=vpc_id, EnableDnsSupport={"Value": True})ec2.modify_vpc_attribute(VpcId=vpc_id, EnableDnsHostnames={"Value": True})

# Create the Active Directoryad = ds.create_microsoft_ad( Name=ad_domain, Password=admin_password, Description="ParallelCluster AD", VpcSettings={"VpcId": vpc_id, "SubnetIds": [subnet1_id, subnet2_id]}, Edition="Standard",)directory_id = ad["DirectoryId"]

# Wait for completionprint("Waiting for the directory to be created...")directories = ds.describe_directories(DirectoryIds=[directory_id])["DirectoryDescriptions"]directory = directories[0]while directory["Stage"] in {"Requested", "Creating"}: time.sleep(3) directories = ds.describe_directories(DirectoryIds=[directory_id])["DirectoryDescriptions"] directory = directories[0] dns_ip_addrs = directory["DnsIpAddrs"]

pprint({"directory_id": directory_id, "vpc_id": vpc_id, "subnet1_id": subnet1_id, "subnet2_id": subnet2_id, "dns_ip_addrs": dns_ip_addrs})

下列為 Python 腳本的範例輸出。

{ "directory_id": "d-abcdef01234567890", "dns_ip_addrs": ["192.0.2.254", "203.0.113.237"], "subnet1_id": "subnet-021345abcdef6789", "subnet2_id": "subnet-1234567890abcdef0", "vpc_id": "vpc-021345abcdef6789"}

153

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 LDAP 整合 Active Directory

記下輸出資源名稱和 ID。您將在稍後的步驟中用到它們。2. 創建 EC2 實例,將其加入到您的 AD,然後創建用户。

準備在您的目錄中創建用户並存儲ReadOnlyUser。

a. 請登入 AWS Management Console,並在 https://console.aws.amazon.com/ec2/ 開啟Amazon EC2 主控台。

b. 在 中EC2 儀表板,選擇啟動執行個體。c. 選擇最近的亞馬遜 Linux 2 AMI,t2.micro 執行個體類型。

In設定執行個體詳細資訊中,選擇下列值:

• 網路:PclusterVPC

• 自動指派公有 IP:Enable

• 域加入目錄:corp.pcluster.com

• IAM 角色:創建或選擇一個使用AWS Secrets Manager幫手建議的權限。• 選擇檢討和啟動啟動執行個體。• 記下InstanceId(例如,i-1234567890abcdef0),並等待實例完成啟動。

d. 實例啟動後,使用以下命令連接到實例:

$ INSTANCE_ID="i-1234567890abcdef0"

$ PUBLIC_IP=$(aws ec2 describe-instances \ --instance-ids $INSTANCE_ID \ --query "Reservations[0].Instances[0].PublicIpAddress" \ --output text)

$ ssh -i ~/.ssh/keys/keypair.pem ec2-user@$PUBLIC_IP

安裝必要的軟件並加入領域。

$ sudo yum -y install sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients policycoreutils-python

將取代為您的管理員密碼:

$ ADMIN_PW="asdfASDF1234"

$ echo $ADMIN_PW | sudo realm join -U Admin corp.pcluster.com

輸出:

Password for Admin:

如果上述操作成功,請使用以下命令將用户添加到 AD:

$ echo $ADMIN_PW | adcli create-user -x -U Admin --domain=corp.pcluster.com --display-name=ReadOnlyUser ReadOnlyUser

154

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 LDAP 整合 Active Directory

$ echo $ADMIN_PW | adcli create-user -x -U Admin --domain=corp.pcluster.com --display-name=user000 user000

驗證是否已創建用户:

目錄 ID 是 python 腳本的輸出。

$ DIRECTORY_IP="192.0.2.254"

$ ldapsearch -x -h $DIRECTORY_IP -D Admin -w $ADMIN_PW -b "cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=pcluster,dc=com"

$ ldapsearch -x -h $DIRECTORY_IP -D Admin -w $ADMIN_PW -b "cn=user000,ou=Users,ou=CORP,dc=corp,dc=pcluster,dc=com"

此時,您可以斷開與實例的連接(並終止它)。

當您創建一個使用ad-cli,用户預設為停用。

從本地計算機重置並激活用户密碼:

Note

• ro-p@ssw0rd下面是ReadOnlyUser,通過祕密管理器檢索(如下所述)。• user-p@ssw0rd是羣集用户的密碼,當您連接(ssh)添加到羣集。

所以此directory-id是 python 腳本的輸出。

$ DIRECTORY_ID="d-abcdef01234567890"

$ aws ds reset-user-password \--directory-id $DIRECTORY_ID \--user-name "ReadOnlyUser" \--new-password "ro-p@ssw0rd" \--region "region-id"

$ aws ds reset-user-password \--directory-id $DIRECTORY_ID \--user-name "user000" \--new-password "user-p@ssw0rd" \--region "region-id"

3. 將密碼添加到 Secret Manager Secret Secrets Manager。

現在您已建立了ReadOnlyUser並設置密碼,將其存儲在AWS ParallelCluster用於驗證登錄。

使用「Secrets Manager 建立一個新的密碼,以保存ReadOnlyUser作為值。密鑰值格式必須僅為文本,而不是 JSON。記下未來步驟的 Secret ARN。

$ aws secretsmanager create-secret --name "ADSecretPassword" \--secret-string "ro-p@ssw0rd" \--query ARN \--output text

155

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 LDAP 整合 Active Directory

輸出:

arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-1234

4. 繼續至步驟 2:建立叢集 (p. 156)。

步驟 2:建立叢集環境設置為創建一個可以根據 AD 對用户進行身份驗證的羣集。

創建簡單的羣集配置並提供與 AD 連接相關的設置。如需詳細資訊,請參閱 DirectoryService 區段 (p. 137)。

將示例羣集配置另存為config.yaml文件:

Note

必須更改以下組件。

• KeyName:您的 EC2 密鑰對之一。• SubnetId / SubnetIds:輸出中提供的子網 ID 之一CloudFormation快速創建堆棧(自動教

程)或 python 腳本(手動教程)。• Region:您在其中創建 AD 基礎架構的區域。• DomainAddr:此 IP 地址是 AD 服務的 DNS 地址之一。• PasswordSecretArn:密碼的 ARN,其中包含DomainReadOnlyUser。

HeadNode: InstanceType: t2.micro Ssh: KeyName: keypair Networking: SubnetId: subnet-abcdef01234567890Scheduling: Scheduler: slurm SlurmQueues: - Name: queue0 ComputeResources: - Name: queue0-t2-micro MinCount: 0 MaxCount: 4 InstanceType: t2.micro Networking: SubnetIds: - subnet-abcdef01234567890Region: region-idImage: Os: alinux2DirectoryService: DomainName: dc=corp,dc=pcluster,dc=com DomainAddr: ldap://192.0.2.254,ldap://203.0.113.237 PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-AAAAA DomainReadOnlyUser: cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=pcluster,dc=com AdditionalSssdConfigs: ldap_auth_disable_tls_never_use_in_production: True

使用下列命令建立您的叢集:

156

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 LDAP 整合 Active Directory

$ pcluster create-cluster --cluster-name "ad-cluster" --cluster-configuration "./config.yaml"

輸出:

{ "cluster": { "clusterName": "ad-cluster", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:region-id:123456789012:stack/ad-cluster/1234567-abcd-0123-def0-abcdef0123456", "region": "region-id", "version": "3.1.1", "clusterStatus": "CREATE_IN_PROGRESS" }, "validationMessages": [ { "level": "WARNING", "type": "DomainAddrValidator", "message": "The use of the ldaps protocol is strongly encouraged for security reasons." }, { "level": "WARNING", "type": "LdapTlsReqCertValidator", "message": "For security reasons it's recommended to use hard or demand" } ]}

步驟 3:以用户身份 Connect 至叢集您可以使用下列命令來確定羣集的狀態:

$ pcluster describe-cluster -n ad-cluster --region "region-id" --query "clusterStatus"

輸出:

"CREATE_IN_PROGRESS" / "CREATE_COMPLETE"

當狀態達到"CREATE_COMPLETE",請使用創建的用户名和密碼登錄:

$ HEAD_NODE_IP=$(pcluster describe-cluster -n "ad-cluster" --region "region-id" --query headNode.publicIpAddress | xargs echo)

$ ssh user000@$HEAD_NODE_IP

您可以在不使用密碼的情況下登錄,方法是提供為新用户創建的 SSH 密鑰,/home/user000@HEAD_NODE_IP/.ssh/id_rsa。

如果ssh命令成功,則您已成功連接到羣集,以使用 AD 進行身份驗證的用户身份。

步驟 4:清除1. 從本地計算機中,刪除羣集。

$ pcluster delete-cluster --cluster-name "ad-cluster" --region "region-id"

157

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 LDAP 整合 Active Directory

輸出:

{ "cluster": { "clusterName": "ad-cluster", "cloudformationStackStatus": "DELETE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:region-id:123456789012:stack/ad-cluster/1234567-abcd-0123-def0-abcdef0123456", "region": "region-id", "version": "3.1.1", "clusterStatus": "DELETE_IN_PROGRESS" }}

2. 檢查叢集刪除的狀態。

$ pcluster describe-cluster --cluster-name "ad-cluster" --region "region-id" --query "clusterStatus"

輸出:

"DELETE_IN_PROGRESS"

集羣刪除完成後,繼續執行下一個步驟。

3. 刪除目錄資源。

Automated

刪除 Active Directory

1. 從https://console.aws.amazon.com/cloudformation/2. 選擇堆疊在導覽窗格中。3. 從堆疊清單中,選擇 AD 堆疊,例如pcluster-ad。4. 選擇 Delete (刪除)。

Manual

1. 刪除 EC2 執行個體。

a. 從https://console.aws.amazon.com/ec2/,選擇執行個體在導覽窗格中。b. 從實例列表中選擇您建立的將用户添加到目錄中的執行個體。c. 選擇執行個體狀態,然後終止。

2. 刪除活動目錄資源。

從 python 腳本的輸出中獲取以下資源 IDad.py:

• 廣告編號• AD 子網路 ID• 廣告 VPC ID

a. 使用boto3在 Python 3 環境中刪除資源。

從導入開始:

158

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 LDAP 整合 Active Directory

$ import boto3ds = boto3.client("ds")ec2 = boto3.client("ec2")secret = boto3.client("secretsmanager")region = boto3.Session().region_name

b. 刪除 目錄。

$ ds.delete_directory(DirectoryId="d-abcdef0123456789")

輸出:

{ "DirectoryId": "d-abcdef01234567890", "ResponseMetadata": { "RequestId": "1234567-abcd-0123-def0-abcdef0123456", "HTTPStatusCode": 200, "HTTPHeaders": { "x-amzn-requestid": "1234567-abcd-0123-def0-abcdef0123456", "content-type": "application/x-amz-json-1.1", "content-length": "30", "date": "Mon, 17 Jan 2022 17:25:48 GMT" }, "RetryAttempts": 0 }}

c. 驗證目錄是否已刪除。

最多需要 30 分鐘的時間。

$ ds.describe_directories(DirectoryIds = ["d-abcdef0123456789"])

輸出:

{ "DirectoryDescriptions": [], "ResponseMetadata": { "RequestId": "1234567-abcd-0123-def0-abcdef0123456", "HTTPStatusCode": 200, "HTTPHeaders": { "x-amzn-requestid": "1234567-abcd-0123-def0-abcdef0123456", "content-type": "application/x-amz-json-1.1", "content-length": "28", "date": "Sun, 23 Jan 2022 17:05:07 GMT" }, "RetryAttempts": 0 }}

d. 刪除 VPC 非預設安全閘道。

獲取安全羣組 ID:

$ ec2.describe_security_groups(Filters=[{"Name":"vpc-id","Values":["vpc-021345abcdef6789"]}])

輸出:

159

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 LDAP 整合 Active Directory

{ "SecurityGroups": [{ "Description": "default VPC security group", "GroupName": "default", "IpPermissions": [{ "IpProtocol": "-1", "IpRanges": [], "Ipv6Ranges": [], "PrefixListIds": [], "UserIdGroupPairs": [{ "GroupId": "sg-abcdef01234567890", "UserId": "123456789012" }] }], "OwnerId": "123456789012", "GroupId": "sg-abcdef01234567890", "IpPermissionsEgress": [{ "IpProtocol": "-1", "IpRanges": [{ "CidrIp": "0.0.0.0/0" }], "Ipv6Ranges": [], "PrefixListIds": [], "UserIdGroupPairs": [] }], "VpcId": "vpc-021345abcdef6789" }, { "Description": "launch-wizard-2 created 2022-01-23T08:05:48.031-08:00", "GroupName": "launch-wizard-2", "IpPermissions": [{ "FromPort": 22, "IpProtocol": "tcp", "IpRanges": [{ "CidrIp": "0.0.0.0/0" }], "Ipv6Ranges": [], "PrefixListIds": [], "ToPort": 22, "UserIdGroupPairs": [] }], "OwnerId": "123456789012", "GroupId": "sg-021345abcdef6789", "IpPermissionsEgress": [{ "IpProtocol": "-1", "IpRanges": [{ "CidrIp": "0.0.0.0/0" }], "Ipv6Ranges": [], "PrefixListIds": [], "UserIdGroupPairs": [] }], "VpcId": "vpc-021345abcdef6789" }], "ResponseMetadata": { "RequestId": "1234567-abcd-0123-def0-abcdef0123456", "HTTPStatusCode": 200, "HTTPHeaders": { "x-amzn-requestid": "1234567-abcd-0123-def0-abcdef0123456", "cache-control": "no-cache, no-store", "strict-transport-security": "max-age=31536000; includeSubDomains", "vary": "accept-encoding", "content-type": "text/xml;charset=UTF-8", "content-length": "2806", "date": "Sun, 23 Jan 2022 17:06:39 GMT",

160

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 LDAP 整合 Active Directory

"server": "AmazonEC2" }, "RetryAttempts": 0 }}

刪除安全政府組。

$ ec2.delete_security_group(GroupId="sg-021345abcdef6789")

輸出:

{ "ResponseMetadata": { "RequestId": "06691c7a-f504-4aed-97c4-91abd848b34d", "HTTPStatusCode": 200, "HTTPHeaders": { "x-amzn-requestid": "06691c7a-f504-4aed-97c4-91abd848b34d", "cache-control": "no-cache, no-store", "strict-transport-security": "max-age=31536000; includeSubDomains", "content-type": "text/xml;charset=UTF-8", "content-length": "239", "date": "Sun, 23 Jan 2022 17:39:42 GMT", "server": "AmazonEC2" }, "RetryAttempts": 0 }}

e. 刪除子網(如果不再使用)。

$ ec2.delete_subnet("SubnetId"="subnet-1234567890abcdef")

輸出:

{ "ResponseMetadata": { "RequestId": "1234567-abcd-0123-def0-abcdef0123456", "HTTPStatusCode": 200, "HTTPHeaders": { "x-amzn-requestid": "1234567-abcd-0123-def0-abcdef0123456", "cache-control": "no-cache, no-store", "strict-transport-security": "max-age=31536000; includeSubDomains", "content-type": "text/xml;charset=UTF-8", "content-length": "225", "date": "Mon, 17 Jan 2022 18:10:08 GMT", "server": "AmazonEC2" }, "RetryAttempts": 0 }}

$ ec2.delete_subnet("SubnetId"="subnet-021345abcdef6789")

輸出:

{ "ResponseMetadata": {

161

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 LDAP 整合 Active Directory

"RequestId": "1234567-abcd-0123-def0-abcdef0123456", "HTTPStatusCode": 200, "HTTPHeaders": { "x-amzn-requestid": "1234567-abcd-0123-def0-abcdef0123456", "cache-control": "no-cache, no-store", "strict-transport-security": "max-age=31536000; includeSubDomains", "content-type": "text/xml;charset=UTF-8", "content-length": "225", "date": "Mon, 17 Jan 2022 18:10:08 GMT", "server": "AmazonEC2" }, "RetryAttempts": 0 }}

f. 如果不再使用互聯網網關,請將其分離並刪除。

獲取互聯網網關 ID:

$ ec2.describe_internet_gateways("Filters"=[{"Name":"attachment.vpc-id","Values":["vpc-021345abcdef6789"]}])

輸出:

{ "InternetGateways": [{ "Attachments": [{ "State": "available", "VpcId": "vpc-021345abcdef6789" }], "InternetGatewayId": "igw-abcdef01234567890", "OwnerId": "123456789012", "Tags": [] }], "ResponseMetadata": { "RequestId": "1234567-abcd-0123-def0-abcdef0123456", "HTTPStatusCode": 200, "HTTPHeaders": { "x-amzn-requestid": "1234567-abcd-0123-def0-abcdef0123456", "cache-control": "no-cache, no-store", "strict-transport-security": "max-age=31536000; includeSubDomains", "content-type": "text/xml;charset=UTF-8", "content-length": "649", "date": "Sun, 23 Jan 2022 17:55:22 GMT", "server": "AmazonEC2" }, "RetryAttempts": 0 }}

分離網際網際網路閘道。

$ ec2.detach_internet_gateway(InternetGatewayId="igw-1234567890abcdef", VpcId="vpc-021345abcdef6789")

輸出:

{ "ResponseMetadata": { "RequestId": "1234567-abcd-0123-def0-abcdef0123456", "HTTPStatusCode": 200, "HTTPHeaders": {

162

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 LDAP 整合 Active Directory

"x-amzn-requestid": "1234567-abcd-0123-def0-abcdef0123456", "cache-control": "no-cache, no-store", "strict-transport-security": "max-age=31536000; includeSubDomains", "content-type": "text/xml;charset=UTF-8", "content-length": "243", "date": "Mon, 17 Jan 2022 18:39:39 GMT", "server": "AmazonEC2" }, "RetryAttempts": 0 }}

刪除網際網路閘道。

$ ec2.delete_internet_gateway(InternetGatewayId="igw-1234567890abcdef")

輸出:

{ "ResponseMetadata": { "RequestId": "1234567-abcd-0123-def0-abcdef0123456", "HTTPStatusCode": 200, "HTTPHeaders": { "x-amzn-requestid": "1234567-abcd-0123-def0-abcdef0123456", "cache-control": "no-cache, no-store", "strict-transport-security": "max-age=31536000; includeSubDomains", "content-type": "text/xml;charset=UTF-8", "content-length": "243", "date": "Mon, 17 Jan 2022 18:54:10 GMT", "server": "AmazonEC2" }, "RetryAttempts": 0 }}

g. 如果不再使用 VPC,請將其刪除。

$ ec2.delete_vpc("VpcId"="vpc-021345abcdef6789")

輸出:

{ "ResponseMetadata": { "RequestId": "1234567-abcd-0123-def0-abcdef0123456", "HTTPStatusCode": 200, "HTTPHeaders": { "x-amzn-requestid": "1234567-abcd-0123-def0-abcdef0123456", "cache-control": "no-cache, no-store", "strict-transport-security": "max-age=31536000; includeSubDomains", "content-type": "text/xml;charset=UTF-8", "content-length": "219", "date": "Mon, 17 Jan 2022 19:14:30 GMT", "server": "AmazonEC2" }, "RetryAttempts": 0 }}

163

AWS ParallelCluster AWS ParallelCluster 使用者指南配置共享存儲加密使用AWS KMS鍵

h. 如果不再使用密文管理器密碼,請將其刪除。

$ secret.delete_secret("SecretId"="arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-AAAAA")

輸出:

{ "ARN": "arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-123ABC", "Name": "ADSecretPassword", "DeletionDate": "datetime.datetime(2022, 2, 20, 15, 8, 39, 452000, tzinfo=tzlocal())", "ResponseMetadata": { "RequestId": "1234567-abcd-0123-def0-abcdef0123456", "HTTPStatusCode": 200, "HTTPHeaders": { "date": "Fri, 21 Jan 2022 15:08:39 GMT", "content-type": "application/x-amz-json-1.1", "content-length": "134", "connection": "keep-alive", "x-amzn-requestid": "1234567-abcd-0123-def0-abcdef0123456" }, "RetryAttempts": 0 }}

配置共享存儲加密使用AWS KMS鍵了解如何設定客户託管AWS KMS密鑰來加密和保護您在為AWS ParallelCluster。

AWS ParallelCluster支持以下配置選項:

• SharedStorage (p. 126) / EbsSettings (p. 127) / KmsKeyId (p. 129)• SharedStorage (p. 126) / EfsSettings (p. 130) / KmsKeyId (p. 130)• SharedStorage (p. 126) / FsxLustreSettings (p. 131) / KmsKeyId (p. 133)

您可以使用這些選項提供由客户管理的AWS KMS密鑰,用於 Lustre 共享存儲系統加密的亞馬遜 EBS、亞馬遜 EFS 和 FSX。要使用它們,您必須為以下用途創建和配置 IAM 策略:

• HeadNode (p. 103) / Iam (p. 109) / AdditionalIamPolicies (p. 111) /Policy (p. 111)

• Scheduler (p. 113) / SlurmQueues (p. 116) / Iam (p. 124) /AdditionalIamPolicies (p. 125) / Policy (p. 125)

主題• 建立 政策 (p. 164)• 配置和創建羣集 (p. 165)

建立 政策建立政策

1. 前往 IAM 主控台:https://console.aws.amazon.com/iam/home。

164

AWS ParallelCluster AWS ParallelCluster 使用者指南配置共享存儲加密使用AWS KMS鍵

2. 選擇 Policies (政策)。3. 選擇 Create policy (建立政策)。4. 選擇JSON選項卡並在下列政策中貼上。請務必將所有出現的123456789012與您的AWS賬户 ID 以及關

鍵的 Amazon Resource Name (ARN) 和您自己的名稱。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:ReEncrypt*", "kms:CreateGrant", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:region-id:123456789012:key/abcd1234-ef56-gh78-ij90-abcd1234efgh5678" ] } ]}

5. 在本教學課程中,將政策命名為ParallelClusterKmsPolicy選擇建立政策。6. 請記下政策 ARN。您會需要其來配置您的集羣。

配置和創建羣集以下是一個集羣配置示例,其中包括具有加密功能的 Amazon 彈性塊存儲共享文件系統。

Region: eu-west-1Image: Os: alinux2HeadNode: InstanceType: t2.micro Networking: SubnetId: subnet-abcdef01234567890 Ssh: KeyName: my-ssh-key Iam: AdditionalIamPolicies: - Policy: arn:aws:iam::123456789012:policy/ParallelClusterKmsPolicyScheduling: Scheduler: slurm SlurmQueues: - Name: q1 ComputeResources: - Name: t2micro InstanceType: t2.micro MinCount: 0 MaxCount: 10 Networking: SubnetIds: - subnet-abcdef01234567890 Iam: AdditionalIamPolicies: - Policy: arn:aws:iam::123456789012:policy/ParallelClusterKmsPolicy

165

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 故障診斷

SharedStorage: - MountDir: /shared/ebs1 Name: shared-ebs1 StorageType: Ebs EbsSettings: Encrypted: True KmsKeyId: abcd1234-ef56-gh78-ij90-abcd1234efgh5678

將紅色文本中的項目替換為您自己的值,然後創建一個使用AWS KMS金鑰來加密您在 Amazon EBS 中的數據。

對於 Lustre 文件系統,亞馬遜 EFS 和 FSX 的配置類似。

Amazon EFSSharedStorage組態:

...SharedStorage: - MountDir: /shared/efs1 Name: shared-efs1 StorageType: Efs EfsSettings: Encrypted: True KmsKeyId: abcd1234-ef56-gh78-ij90-abcd1234efgh5678

FSx for LustreSharedStorage組態:

...SharedStorage: - MountDir: /shared/fsx1 Name: shared-fsx1 StorageType: FsxLustre FsxLustreSettings: StorageCapacity: 1200 DeploymentType: PERSISTENT_1 PerUnitStorageThroughput: 200 KmsKeyId: abcd1234-ef56-gh78-ij90-abcd1234efgh5678

AWS ParallelCluster 故障診斷所以此AWS ParallelCluster社區維護了一個 Wiki 頁面,該頁面提供了AWS ParallelCluster GitHub維基。有關已知問題的列表,請參閲已知問題。

主題• 檢索和保留日誌 (p. 167)• 排解叢集部署問題 (p. 167)• 排解擴展問題 (p. 171)• 置放羣組和實例啟動問題 (p. 174)• 無法取代的目錄 (p. 175)• NICE DCV 中的問題疑難解答 (p. 175)• 針對使用AWS Batch整合 (p. 175)• 疑難解答與活動目錄的多用户集成 (p. 175)• 其他支援 (p. 181)

166

AWS ParallelCluster AWS ParallelCluster 使用者指南檢索和保留日誌

檢索和保留日誌AWS ParallelCluster建立 EC2 指標HeadNode和計算實例和存儲。您可以在CloudWatch安慰自訂儀表板。AWS ParallelCluster也會建立叢集CloudWatch日誌組中的日誌流。您可以在CloudWatch安慰自訂儀表板或者日誌群組。所以此監控 (p. 136)羣集配置部分介紹瞭如何修改羣集CloudWatch日誌和儀表板。如需詳細資訊,請參閱 與 Amazon 的整合CloudWatch日誌 (p. 72) 及 亞馬遜CloudWatch儀表板 (p. 71)。

日誌是對問題進行故障排除的有用資源。例如,如果要刪除失敗的集羣,則首先創建集羣日誌的歸檔文件可能會很有用。請遵循下列步驟建立檔案。

您可以將日誌存檔到 S3 或本地文件中(取決於--output-file參數)。

$ pcluster export-cluster-logs --cluster-name mycluster --region eu-west-1 \ --bucket bucketname --bucket-prefix logs{ "url": "https://bucketname.s3.eu-west-1.amazonaws.com/export-log/mycluster-logs-202109071136.tar.gz?..."}

# use the --output-file parameter to save the logs locally$ pcluster export-cluster-logs --cluster-name mycluster --region eu-west-1 \ --bucket bucketname --bucket-prefix logs --output-file /tmp/archive.tar.gz{ "path": "/tmp/archive.tar.gz"}

存檔包含亞馬遜CloudWatch日誌串流AWS CloudFormation堆棧事件,除非在配置或export-cluster-logs命令。命令完成所需的時間取決於羣集中的節點數量,以及CloudWatch日誌。如需有關可用日誌流的詳細資訊,請參與 Amazon 的整合CloudWatch日誌 (p. 72)。

從 3 月 30 日起,AWS ParallelCluster保留CloudWatch默認情況下,刪除集羣時記錄。如果要刪除集羣並保留其日誌,請確保Monitoring > Logs > CloudWatch > DeletionPolicy未設定為Delete在羣集配置中。否則,將此字段的值更改為Retain並執行pcluster update-cluster命令。然後執行pclusterdelete-cluster --cluster-name <cluster_name>刪除集羣,同時保留存儲在 Amazon 中的日誌組CloudWatch。

如果計算節點在啟動後自我終止,並且在CloudWatch中,提交觸發集羣擴展操作的作業。等待實例失敗並檢索實例控制台日誌。

登錄羣集頭節點並獲取計算節點instance-id來自/var/log/parallelcluster/slurm_resume.logfile.

使用下列命令檢索實例控制台日誌。

aws ec2 get-console-output --instance-id i-abcdef01234567890

控制台輸出日誌可幫助您調試計算節點日誌不可用時計算節點故障的根本原因。

排解叢集部署問題如果無法創建集羣並回滾堆棧創建,您可以查看日誌文件以診斷問題。失敗消息可能如下所示:

$ pcluster create-cluster --cluster-name mycluster --region eu-west-1 \ --cluster-configuration cluster-config.yaml{ "cluster": { "clusterName": "mycluster",

167

AWS ParallelCluster AWS ParallelCluster 使用者指南排解叢集部署問題

"cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f01-11ec-a3b9-024fcc6f3387", "region": "eu-west-1", "version": "3.1.2", "clusterStatus": "CREATE_IN_PROGRESS" }}

$ pcluster describe-cluster --cluster-name mycluster --region eu-west-1{ "creationTime": "2021-09-06T11:03:47.696Z", ... "cloudFormationStackStatus": "ROLLBACK_IN_PROGRESS", "clusterName": "mycluster", "computeFleetStatus": "UNKNOWN", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f01-11ec-a3b9-024fcc6f3387", "lastUpdatedTime": "2021-09-06T11:03:47.696Z", "region": "eu-west-1", "clusterStatus": "CREATE_FAILED"}

主題• 檢視AWS CloudFormation上的事件CREATE_FAILED (p. 168)• 使用 CLI 查看日誌流 (p. 169)• 重新創建失敗的羣集rollback-on-failure (p. 171)

檢視AWS CloudFormation上的事件CREATE_FAILED

您可以使用主控台或AWS ParallelCluster要查看的 CLICloudFormation上的事件CREATE_FAILED錯誤來幫助找到根本原因。

主題• 檢視事件CloudFormation安慰 (p. 168)• 使用 CLI 查看和篩選CloudFormation上的事件CREATE_FAILED (p. 169)

檢視事件CloudFormation安慰

若要查看有關原因的詳細資訊"CREATE_FAILED"狀態,則可以使用CloudFormation主控台。

檢視CloudFormation錯誤消息。

1. 登錄到AWS Management Console並導覽至https://console.aws.amazon.com/cloudformation。2. 選取名為區區區。3. 選擇活動選項卡。4. 檢查狀態對於通過滾動瀏覽資源事件列表創建失敗的資源邏輯 ID。如果子任務創建失敗,則向後工作以

查找失敗的資源事件。5. 例如,如果您看到以下狀態消息,則必須使用不超過當前 vCPU 限制的實例類型或請求更多 vCPU 容

量。

2022-02-04 16:09:44 UTC-0800 HeadNode CREATE_FAILED You have requested more vCPU capacity than your current vCPU limit of 0 allows for the instance bucket that the specified instance type belongs to. Please visit http://aws.amazon.com/contact-us/ec2-request to request an adjustment to this limit.

168

AWS ParallelCluster AWS ParallelCluster 使用者指南排解叢集部署問題

(Service: AmazonEC2; Status Code: 400; Error Code: VcpuLimitExceeded; Request ID: a9876543-b321-c765-d432-dcba98766789; Proxy: null).

使用 CLI 查看和篩選CloudFormation上的事件CREATE_FAILED

要診斷集羣創建問題,您可以使用pcluster get-cluster-stack-events (p. 87)命令,通過篩選CREATE_FAILED狀態。如需詳細資訊,請參閱「」篩選AWS CLI產量中的AWS Command Line Interface使用者指南。

$ pcluster get-cluster-stack-events --cluster-name mycluster --region eu-west-1 \ --query 'events[?resourceStatus==`CREATE_FAILED`]' [ { "eventId": "3ccdedd0-0f03-11ec-8c06-02c352fe2ef9", "physicalResourceId": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f02-11ec-a3b9-024fcc6f3387", "resourceStatus": "CREATE_FAILED", "resourceStatusReason": "The following resource(s) failed to create: [HeadNode]. ", "stackId": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f02-11ec-a3b9-024fcc6f3387", "stackName": "mycluster", "logicalResourceId": "mycluster", "resourceType": "AWS::CloudFormation::Stack", "timestamp": "2021-09-06T11:11:51.780Z" }, { "eventId": "HeadNode-CREATE_FAILED-2021-09-06T11:11:50.127Z", "physicalResourceId": "i-04e91cc1f4ea796fe", "resourceStatus": "CREATE_FAILED", "resourceStatusReason": "Received FAILURE signal with UniqueId i-04e91cc1f4ea796fe", "resourceProperties": "{\"LaunchTemplate\":{\"Version\":\"1\",\"LaunchTemplateId\":\"lt-057d2b1e687f05a62\"}}", "stackId": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f02-11ec-a3b9-024fcc6f3387", "stackName": "mycluster", "logicalResourceId": "HeadNode", "resourceType": "AWS::EC2::Instance", "timestamp": "2021-09-06T11:11:50.127Z" } ]

在上一個範例中,故障在HeadNode設定。

使用 CLI 查看日誌流要調試此類問題,您可以列出頭節點可用的日誌流,並使用pcluster list-cluster-log-streams (p. 89)通過篩選node-type,然後分析日誌流內容。

$ pcluster list-cluster-log-streams --cluster-name mycluster --region eu-west-1 \--filters 'Name=node-type,Values=HeadNode'{ "logStreams": [ { "logStreamArn": "arn:aws:logs:eu-west-1:xxx:log-group:/aws/parallelcluster/mycluster-202109061103:log-stream:ip-10-0-0-13.i-04e91cc1f4ea796fe.cfn-init", "logStreamName": "ip-10-0-0-13.i-04e91cc1f4ea796fe.cfn-init", ... }, {

169

AWS ParallelCluster AWS ParallelCluster 使用者指南排解叢集部署問題

"logStreamArn": "arn:aws:logs:eu-west-1:xxx:log-group:/aws/parallelcluster/mycluster-202109061103:log-stream:ip-10-0-0-13.i-04e91cc1f4ea796fe.chef-client", "logStreamName": "ip-10-0-0-13.i-04e91cc1f4ea796fe.chef-client", ... }, { "logStreamArn": "arn:aws:logs:eu-west-1:xxx:log-group:/aws/parallelcluster/mycluster-202109061103:log-stream:ip-10-0-0-13.i-04e91cc1f4ea796fe.cloud-init", "logStreamName": "ip-10-0-0-13.i-04e91cc1f4ea796fe.cloud-init", ... }, ... ]}

可用於查明初始化錯誤的兩個主日誌流如下:

• cfn-init是cfn-init指令碼。首先檢查此日誌串流 您很可能會看到Command chef failed錯誤。查看此行之前的行以瞭解與錯誤消息相關的詳細信息。如需詳細資訊,請參閱「」cfn-init。

• cloud-init是cloud-init。如果您沒有看到任何內容cfn-init,然後嘗試下一步檢查此日誌。

您可以檢索日誌流的內容,方法是使用pcluster get-cluster-log-events (p. 86)(請記錄--limit 5選項來限制檢索的事件數目):

$ pcluster get-cluster-log-events --cluster-name mycluster \ --region eu-west-1 --log-stream-name ip-10-0-0-13.i-04e91cc1f4ea796fe.cfn-init \ --limit 5{ "nextToken": "f/36370880979637159565202782352491087067973952362220945409/s", "prevToken": "b/36370880752972385367337528725601470541902663176996585497/s", "events": [ { "message": "2021-09-06 11:11:39,049 [ERROR] Unhandled exception during build: Command runpostinstall failed", "timestamp": "2021-09-06T11:11:39.049Z" }, { "message": "Traceback (most recent call last):\n File \"/opt/aws/bin/cfn-init\", line 176, in <module>\n worklog.build(metadata, configSets)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py\", line 135, in build\n Contractor(metadata).build(configSets, self)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py\", line 561, in build\n self.run_config(config, worklog)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py\", line 573, in run_config\n CloudFormationCarpenter(config, self._auth_config).build(worklog)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py\", line 273, in build\n self._config.commands)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/command_tool.py\", line 127, in apply\n raise ToolError(u\"Command %s failed\" % name)", "timestamp": "2021-09-06T11:11:39.049Z" }, { "message": "cfnbootstrap.construction_errors.ToolError: Command runpostinstall failed", "timestamp": "2021-09-06T11:11:39.049Z" }, { "message": "2021-09-06 11:11:49,212 [DEBUG] CloudFormation client initialized with endpoint https://cloudformation.eu-west-1.amazonaws.com", "timestamp": "2021-09-06T11:11:49.212Z" }, { "message": "2021-09-06 11:11:49,213 [DEBUG] Signaling resource HeadNode in stack mycluster with unique ID i-04e91cc1f4ea796fe and status FAILURE", "timestamp": "2021-09-06T11:11:49.213Z"

170

AWS ParallelCluster AWS ParallelCluster 使用者指南排解擴展問題

} ]}

在上一個範例中,故障是由於runpostinstall失敗,因此與在OnNodeConfigured的配置參數CustomActions (p. 109)。

重新創建失敗的羣集rollback-on-failure

AWS ParallelCluster建立叢集CloudWatch日誌組中的日誌流。您可以在CloudWatch安慰自訂儀表板或者日誌群組。如需詳細資訊,請參閱 與 Amazon 的整合CloudWatch日誌 (p. 72) 及 亞馬遜CloudWatch儀表板 (p. 71)。如果沒有可用的日誌流,則失敗可能是由CustomActions (p. 109)自定義引導腳本或AMI 相關問題。要診斷這種情況下的創建問題,請使用pcluster create-cluster (p. 85),包括--rollback-on-failure參數設定為false。然後,SSH 進入羣集:

$ pcluster create-cluster --cluster-name mycluster --region eu-west-1 \ --cluster-configuration cluster-config.yaml --rollback-on-failure false { "cluster": { "clusterName": "mycluster", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f01-11ec-a3b9-024fcc6f3387", "region": "eu-west-1", "version": "3.1.2", "clusterStatus": "CREATE_IN_PROGRESS" } } $ pcluster ssh --cluster-name mycluster

登錄到頭節點後,您應該找到三個可用於查明錯誤的主日誌文件。

• /var/log/cfn-init.log是cfn-init指令碼。首先檢查此日誌。你可能會看到一個錯誤,如Commandchef failed在此日誌中。查看此行之前的行以瞭解與錯誤消息相關的詳細信息。如需詳細資訊,請參閱「」cfn-init。

• /var/log/cloud-init.log是cloud-init。如果您沒有看到任何內容cfn-init.log,然後嘗試下一步檢查此日誌。

• /var/log/cloud-init-output.log是運行的命令的輸出cloud-init。這包括cfn-init。在大多數情況下,您不需要查看此日誌來解決這種類型的問題。

排解擴展問題本節與使用AWS ParallelCluster版本 3.0.0 及更高版本的 Slurm 作業調度程序。如需如何設定多個隊列的詳細資訊,請參多個佇列的組態檔案 (p. 58)。

如果您的某個正在運行的集羣遇到問題,請將羣集放在STOPPED狀態,通過在開始故障排除之前運行以下命令。這可以防止產生任何意外的成本。

$ pcluster update-compute-fleet --cluster-name mycluster \ --status STOP_REQUESTED

您可以列出羣集節點中可用的日誌流,方法是使用pcluster list-cluster-log-streams (p. 89)命令並使用private-dns-name其中一個故障節點或頭節點。

$ pcluster list-cluster-log-streams --cluster-name mycluster --region eu-west-1 \

171

AWS ParallelCluster AWS ParallelCluster 使用者指南排解擴展問題

--filters 'Name=private-dns-name,Values=ip-10-0-0-101'

然後,您可以檢索日誌流的內容以通過使用pcluster get-cluster-log-events (p. 86)命令並傳遞--log-stream-name對應於下一節中提到的密鑰日誌之一。

$ pcluster get-cluster-log-events --cluster-name mycluster \--region eu-west-1 --log-stream-name ip-10-0-0-13.i-04e91cc1f4ea796fe.cfn-init

AWS ParallelCluster建立叢集CloudWatch日誌組中的日誌流。您可以在CloudWatch安慰自訂儀表板或者日誌群組。如需詳細資訊,請參閱 與 Amazon 的整合CloudWatch日誌 (p. 72) 及 亞馬遜CloudWatch儀表板 (p. 71)。

用於調試的關鍵日誌下表概要介紹頭節點的密鑰日誌:

• /var/log/cfn-init.log-這是AWS CloudFormation初始化日誌。它包含設置實例時運行的所有命令。它對於初始化問題進行故障排除很有用。

• /var/log/chef-client.log-這是廚師客户端日誌 它包含通過廚師 /CINC 運行的所有命令。它對於初始化問題進行故障排除很有用。

• /var/log/parallelcluster/slurm_resume.log-這是一個ResumeProgram日誌。它啟動動態節點的實例,對於解決動態節點啟動問題非常有用。

• /var/log/parallelcluster/slurm_suspend.log-這是SuspendProgram日誌。它在動態節點的實例終止時調用,並且對於解決動態節點終止問題非常有用。當您檢查此日誌時,還應檢查clustermgtd日誌。

• /var/log/parallelcluster/clustermgtd-這是clustermgtd日誌。它作為管理大多數羣集操作操作的集中式守護進程運行。它對於任何啟動、終止或羣集操作問題進行故障排除非常有用。

• /var/log/slurmctld.log-這是 Slurm 控制守護程序日誌。AWS ParallelCluster不會做出擴展決策。相反,它只是試圖啟動資源來滿足 Surm 的要求。它適用於擴展和分配問題、與作業相關的問題以及任何與計劃程序相關的啟動和終止問題。

以下是計算節點的關鍵日誌:

• /var/log/cloud-init-output.log-這是cloud-init日誌。它包含設置實例時運行的所有命令。它對於初始化問題進行故障排除很有用。

• /var/log/parallelcluster/computemgtd-這是computemgtd日誌。它在每個計算節點上運行,以在極少數事件中監視節點clustermgtd守護進程處於脱機狀態。它對於解決意外終止問題非常有用。

• /var/log/slurmd.log-這是 Slurm 計算守護程序日誌。它對於初始化和計算故障相關問題進行故障排除非常有用。

解決節點初始化問題本節介紹如何解決節點初始化問題。這包括節點無法啟動、啟動或加入羣集的問題。

Head 節點

適用日誌:

• /var/log/cfn-init.log

• /var/log/chef-client.log

• /var/log/parallelcluster/clustermgtd

• /var/log/parallelcluster/slurm_resume.log

172

AWS ParallelCluster AWS ParallelCluster 使用者指南排解擴展問題

• /var/log/slurmctld.log

檢查/var/log/cfn-init.log和/var/log/chef-client.log日誌或相應的日誌流。這些日誌包含設置頭節點時運行的所有操作。安裝過程中發生的大多數錯誤都應該有錯誤消息位於/var/log/chef-client.log日誌。如果OnNodeStart或者OnNodeConfigured腳本在羣集的配置中指定,請仔細檢查腳本是否通過日誌消息成功運行。

創建集羣時,頭節點必須等待計算節點加入羣集,然後才能加入羣集。因此,如果計算節點無法加入叢集,則頭節點也會失敗。根據使用的計算註釋類型,您可以按照下列其中一組程序進行故障診斷:

運算節點

• 適用日誌:• /var/log/cloud-init-output.log

• /var/log/slurmd.log• 如果計算節點已啟動,請首先選中/var/log/cloud-init-output.log,它應該包含類似於/var/log/chef-client.log登錄到前端節點。安裝過程中發生的大多數錯誤都應該有錯誤消息位於/var/log/cloud-init-output.log日誌。如果在羣集配置中指定預安裝或安裝後腳本,請檢查它們是否成功執行。

• 如果您使用的是修改為Slurm配置,那麼可能會有Slurm相關錯誤,阻止計算節點加入羣集。有關調度程序相關的錯誤,請檢查/var/log/slurmd.log日誌。

動態運算節點:

• 搜尋ResumeProgram日誌 (/var/log/parallelcluster/slurm_resume.log),以檢視您的運算節點名稱ResumeProgram曾經與節點調用。(如果ResumeProgram沒有被調用過,您可以檢查slurmctld日誌 (/var/log/slurmctld.log)來確定 Slurm 是否試圖調用ResumeProgram與節點)。

• 請注意,不正確的權限ResumeProgram可能會導致ResumeProgram以靜默方式失敗。如果您使用的是修改為ResumeProgram設置中,請檢查ResumeProgram屬於slurm用户,並具有744(rwxr--r--) 許可。

• 如果ResumeProgram,請檢查是否為該節點啟動了實例。如果沒有啟動實例,您可能會看到一條描述啟動失敗的錯誤消息。

• 如果實例已啟動,則可能在安裝過程中出現問題。您應該看到相應的私有 IP 地址和實例 ID,從ResumeProgram日誌。此外,您還可以查看特定實例的相應安裝日誌。如需有關計算節點故障診斷的詳細資訊,請參下一節。

靜態運算節點:

• 檢查clustermgtd(/var/log/parallelcluster/clustermgtd)日誌以查看是否為節點啟動了實例。如果它們沒有啟動,應該顯示明確的錯誤消息,詳細説明啟動失敗。

• 如果實例已啟動,則在安裝過程中會出現一些問題。您應該看到相應的私有 IP 地址和實例 ID,從ResumeProgram日誌。此外,您可以查看特定實例的相應安裝日誌。

故障排除意外的節點替換和終止本節將繼續探討如何解決與節點相關的問題,特別是當節點被意外替換或終止時。

• 適用日誌:• /var/log/parallelcluster/clustermgtd(頭節點)• /var/log/slurmctld.log(頭節點)• /var/log/parallelcluster/computemgtd(計算節點)

173

AWS ParallelCluster AWS ParallelCluster 使用者指南置放羣組和實例啟動問題

意外替換或終止的節點

• 檢入clustermgtd日誌 (/var/log/parallelcluster/clustermgtd),以查看clustermgtd採取了操作來替換或終止節點。請記錄clustermgtd處理所有正常節點維護操作。

• 如果clustermgtd替換或終止節點時,應該有一條消息,詳細説明為什麼在節點上執行此操作。如果原因與調度程序相關(例如,因為節點位於DOWN),檢入slurmctld日誌瞭解詳細資訊。如果原因與Amazon EC2 相關,則應提供詳細信息,詳細説明需要更換的 Amazon EC2 相關問題。

• 如果clustermgtd沒有終止節點,首先檢查這是否是 Amazon EC2 的預期終止,更具體地説是現貨終止。computemgtd(在 Compute 節點上運行)也可以採取操作來終止節點,如果clustermgtd被確定為不健康。Checkcomputemgtd日誌 (/var/log/parallelcluster/computemgtd),以查看computemgtd終止了節點。

節點失敗

• 檢查slurmctld日誌 (/var/log/slurmctld.log),查看作業或節點失敗的原因。請注意,如果節點出現故障,作業將自動重新排隊。

• 如果slurm_resume報告節點已啟動並clustermgtd報告 Amazon EC2 中沒有該節點的相應實例,則該節點在安裝過程中可能會失敗。要從計算中檢索日誌(/var/log/cloud-init-output.log),請執行下列步驟:• 提交工作以讓Slurm啟動一個新的節點。• 節點啟動後,使用此命令啟用終止保護。

aws ec2 modify-instance-attribute --instance-id i-xyz --disable-api-termination

• 使用此命令從節點檢索控制台輸出。

aws ec2 get-console-output --instance-id i-xyz --output text

替換、終止或關閉有問題的實例和節點• 適用日誌:

• /var/log/parallelcluster/clustermgtd(頭節點)• /var/log/parallelcluster/slurm_suspend.log(頭節點)

• 在大得多的情況下,clustermgtd處理所有預期的實例終止操作。檢入clustermgtd日誌,瞭解為什麼它無法替換或終止節點。

• 對於動態節點出現故障SlurmSettings## (p. 125)中,檢入SuspendProgram日誌以查看SuspendProgram被稱為slurmctld將特定節點作為參數。請記錄SuspendProgram實際上並沒有執行任何操作。相反,它只在調用時記錄。所有實例終止和NodeAddr重置通過clustermgtd。Surm 將節點放回POWER_SAVING狀態後SuspendTimeout自動執行。

排除其他已知節點和作業問題另一種類型的已知問題是AWS ParallelCluster可能無法分配作業或做出擴展決策。有了這種類型的問題,AWSParallelCluster僅根據 Slurm 指令啟動、終止或維護資源。對於這些問題,請檢查slurmctld日誌以對其進行故障排除。

置放羣組和實例啟動問題若要獲得最低的節點間延遲,請使用置放羣組。置放群組可確保您的執行個體位於相同的網路骨幹上。如果發出請求時沒有足夠的實例可用,InsufficientInstanceCapacity錯誤返回。若要在使用叢集置放大組時減少收到此錯誤的可能性,請將Networking## (p. 118)參數設定為true。

如果需要高效能的共用檔案系統,請考慮使用Amazon FSx for Lustre。

174

AWS ParallelCluster AWS ParallelCluster 使用者指南無法取代的目錄

如需詳細資訊,請參閱「」執行個體啟動問題故障診斷和置放羣組角色和限制中的Amazon EC2 Linux 執行個體使用者指南

無法取代的目錄下列目錄會在節點之間共用,且無法取代。

• /home-這包括默認使用者主目錄資料夾 (/home/ec2_user在 Amazon Linux 上,/home/centos在CentOS 上,/home/ubuntu(Ubuntu)。

• /opt/intel-這包括 Intel MPI、Intel Parallel Studio 和相關檔案。• /opt/slurm-這包括 Slurm 工作負載管理器和相關檔案。(有條件,僅在 Scheduler: slurm 的時候。)

NICE DCV 中的問題疑難解答NICE DCV 的日誌被寫入到/var/log/dcv/目錄。查看這些日誌有助於問題故障診斷。

若要運行 NICE DCV,該實例類型應該至少有 1.7 千兆字節 (GiB) RAM。納米和微型實例類型沒有足夠的內存來運行 NICE DCV。

AWS ParallelCluster在日誌組中創建 NICE DCV 日誌流。您可以在CloudWatch安慰自訂儀表板或者日誌群組。如需詳細資訊,請參閱 與 Amazon 的整合CloudWatch日誌 (p. 72) 及 亞馬遜CloudWatch儀表板 (p. 71)。

針對使用AWS Batch整合本節與AWS Batch調度程序集成。

Head 節點問題頭節點相關的設置問題可以通過與Slurm叢集(除外Slurm特定日誌)。有關這些問題的詳細資訊,請參Head 節點 (p. 172)。

運算問題AWS Batch管理服務的擴展和計算方面。如果遇到與計算相關的問題,請參閲AWS Batch 疑難排解文檔以獲取幫助。

Job 失敗如果作業失敗,您可以運行awsbout (p. 243)命令檢索作業輸出。您也可以awsbstat (p. 67)命令獲取亞馬遜存儲的作業日誌的鏈接CloudWatch。

疑難解答與活動目錄的多用户集成本節與 Active Directory (AD) 集成在一起的集成。

如果活動目錄 (AD) 集成功能無法按預期工作,SSSD 日誌可以提供有用的診斷信息。這些日誌位於/var/log/sssd在叢集節點上。默認情況下,它們也存儲在集羣的 AmazonCloudWatch日誌組。

主題• AD 特定故障診斷 (p. 176)• 啟用除錯模式 (p. 176)• 如何從 LDAP 遷移到 LDAP (p. 177)

175

AWS ParallelCluster AWS ParallelCluster 使用者指南疑難解答與活動目錄的多用户集成

• 如何禁用 LDAPS 服務器證書驗證 (p. 177)• 如何使用 SSH 密鑰而不是密碼登錄 (p. 177)• 如何重設使用者密碼 (p. 177)• 如何驗證已加入的域 (p. 177)• 如何排解憑證問題 (p. 178)• 如何驗證與 AD 的集成是否正常 (p. 179)• 如何對登錄計算節點進行故障排除 (p. 179)• 已知問題SimCenter多用户環境中的 StarCCM+ 作業 (p. 180)• 用户名解析的已知問題 (p. 180)• 如何對登錄計算節點進行故障排除 (p. 179)• 已知問題SimCenter多用户環境中的 StarCCM+ 作業 (p. 180)• 如何解決主目錄創建問題 (p. 181)

AD 特定故障診斷本節與特定於 AD 類型的故障排除相關。

簡易 AD

• 所以此DomainReadOnlyUser值必須與用户的 Simple AD 目錄庫搜索相匹配:

cn=ReadOnlyUser,cn=Users,dc=corp,dc=pcluster,dc=com

注意cn為了Users。• 默認管理員使用者為Administrator。• Ldapsearch在用户名之前需要 NetBIOS 名稱。

Ldapsearch語法必須如下:

$ ldapsearch -x -D "corp\\Administrator" -w "Password" -H ldap://192.0.2.103 \ -b "cn=Users,dc=corp,dc=pcluster,dc=com"

AWS Managed Microsoft AD

• 所以此DomainReadOnlyUser值必須與AWS Managed Microsoft AD目錄庫搜尋使用者:

cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=pcluster,dc=com

• 默認管理員使用者為Admin。• Ldapsearch語法必須如下:

$ ldapsearch -x -D "Admin" -w "Password" -H ldap://192.0.2.103 \ -b "ou=Users,ou=CORP,dc=corp,dc=pcluster,dc=com"

啟用除錯模式從 SSSD 調試日誌可以幫助解決問題。要啟用調試模式,您必須使用對羣集配置所做的以下更改來更新羣集:

DirectoryService: AdditionalSssdConfigs:

176

AWS ParallelCluster AWS ParallelCluster 使用者指南疑難解答與活動目錄的多用户集成

debug_level: "0x1ff"

如何從 LDAP 遷移到 LDAP不建議從 LDAP(帶 TLS/SSL 的 LDAP)遷移到 LDAP,因為僅僅 LDAP 不提供任何加密。儘管如此,它可以用於測試目的和故障排除。

通過使用先前的配置定義更新羣集,您可以將羣集還原到以前的配置。

要從 LDAPS 移動到 LDAP,您必須在羣集配置中使用以下更改來更新羣集:

DirectoryService: LdapTlsReqCert: never AdditionalSssdConfigs: ldap_auth_disable_tls_never_use_in_production: True

如何禁用 LDAPS 服務器證書驗證臨時禁用頭節點上的 LDAPS 服務器證書驗證可能非常有用,以便進行測試或故障排除。

通過使用先前的配置定義更新羣集,您可以將羣集還原到以前的配置。

要禁用 LDAPS 服務器證書驗證,您必須在羣集配置中使用以下更改來更新羣集:

DirectoryService: LdapTlsReqCert: never

如何使用 SSH 密鑰而不是密碼登錄SSH 密鑰在/home/$user/.ssh/id_rsa在您首次使用密碼登錄後。要使用 SSH 密鑰登錄,您必須使用您的密碼登錄,在本地複製 SSH 密鑰,然後像往常一樣將其用於 SSH 無密碼:

$ ssh -i $LOCAL_PATH_TO_SSH_KEY $username@$head_node_ip

如何重設使用者密碼對目錄具有寫入權限的用户和角色運行以下命令:

$ aws ds reset-user-password \ --directory-id "d-abcdef01234567890" \ --user-name "USER_NAME" \ --new-password "NEW_PASSWORD" \ --region "region-id"

如需詳細資訊,請參閱「」重設使用者密碼中的AWS Directory Service管理指南。

如何驗證已加入的域以下命令必須從已加入域的實例運行,而不是頭節點。

$ realm list corp.pcluster.com \ type: kerberos \ realm-name: CORP.PCLUSTER.COM \ domain-name: corp.pcluster.com \ configured: kerberos-member \ server-software: active-directory \

177

AWS ParallelCluster AWS ParallelCluster 使用者指南疑難解答與活動目錄的多用户集成

client-software: sssd \ required-package: oddjob \ required-package: oddjob-mkhomedir \ required-package: sssd \ required-package: adcli \ required-package: samba-common-tools \ login-formats: %U \ login-policy: allow-realm-logins

如何排解憑證問題當 LDAPS 通信無法正常工作時,可能是由於 TLS 通信中的錯誤造成的,而這又可能是由於證書問題造成的。

有關憑證的備註:

• 集羣配置中指定的證書LdapTlsCaCert必須是 PEM 證書捆綁包,其中包含為域控制器頒發證書的整個授權證書 (CA) 鏈的證書。

• PEM 證書包是由 PEM 證書串聯組成的文件。• PEM 格式的證書(通常在 Linux 中使用)等同於 Base64 DER 格式的證書(通常由 Windows 導出)。• 如果域控制器的證書由從屬 CA 頒發,則證書捆綁包必須包含從屬 CA 和根 CA 的證書。

驗證步驟疑難解答:

以下驗證步驟假定命令從羣集頭節點內運行,並且域控制器可以通過SERVER:PORT。

若要解決與證書相關的問題,請按照下列驗證步驟操作:

驗證步驟:

1. 檢查到 AD 域控制器的連接:

驗證您可以連線到域控制器。如果此步驟成功,則與域控制器的 SSL 連接成功,並驗證證書。您的問題與證書無關。

如果此步驟失敗,請繼續進行下一次驗證。

$ openssl s_client -connect SERVER:PORT -CAfile PATH_TO_CA_BUNDLE_CERTIFICATE

2. 檢查憑證:

驗證本地 CA 證書捆綁包可以驗證域控制器提供的證書。如果此步驟成功,則您的問題與證書無關,而是與其他網絡問題有關。

如果此步驟失敗,請繼續進行下一次驗證。

$ openssl verify -verbose -CAfile PATH_TO_CA_BUNDLE_CERTIFICATE PATH_TO_A_SERVER_CERTIFICATE

3. 檢查 AD 域控制器提供的證書:

驗證域控制器提供的證書的內容是否符合預期。如果此步驟成功,您可能遇到用於驗證控制器的 CA 證書的問題,請轉到下一個故障排除步驟。

如果此步驟失敗,您必須更正為域控制器頒發的證書並重新執行故障排除步驟。

$ openssl s_client -connect SERVER:PORT -showcerts

178

AWS ParallelCluster AWS ParallelCluster 使用者指南疑難解答與活動目錄的多用户集成

4. 檢查證書的內容:

驗證域控制器提供的證書的內容是否符合預期。如果此步驟成功,您可能遇到用於驗證控制器的 CA 證書的問題,請轉到下一個故障排除步驟。

如果此步驟失敗,您必須更正為域控制器頒發的證書,然後重新運行故障排除步驟。

$ openssl s_client -connect SERVER:PORT -showcerts

5. 檢查本地 CA 證書包的內容:

驗證用於驗證域控制器證書的本地 CA 證書包的內容是否符合預期。如果此步驟成功,您可能會遇到與域控制器提供的證書有問題。

如果此步驟失敗,您必須更正為域控制器頒發的 CA 證書捆綁包,然後重新運行故障排除步驟。

$ openssl x509 -in PATH_TO_A_CERTIFICATE -text

如何驗證與 AD 的集成是否正常如果以下兩個檢查成功,則與活動目錄 (AD) 的集成正在工作。

檢查:

1. 您可以發現目錄中定義的用户:

從羣集頭節點中,作為ec2-user:

$ getent passwd $ANY_AD_USER

2. 您可以通過 SSH 進入頭節點,提供用户密碼:

$ ssh $ANY_AD_USER@$HEAD_NODE_IP

如果檢查一個失敗,我們期望檢查兩個也失敗。

其他疑難排解檢查:

• 驗證使用者在目錄中。• 啟用除錯記錄功能 (p. 176)。• 考慮暫時禁用加密從 LDAP 過渡到 LDAP (p. 177)排除最不發達國家發展方案的問題.

如何對登錄計算節點進行故障排除本節涉及登錄到與 AD 集成的羣集中的計算節點。

搭配AWS ParallelCluster時,羣集計算節點的密碼登錄將被設計禁用。

所有用户都必須使用自己的 SSH 密鑰登錄到計算節點。

首次登錄後,用户可以在頭節點中檢索其 SSH 密鑰,如果GenerateSshKeysForUsers (p. 140)在羣集配置中啟用。

當用户首次登錄到頭節點時,他們可以檢索作為目錄用户自動生成的 SSH 密鑰。還會為用户創建主目錄。Sudo-user 首次切換到頭節點中的用户時也可能發生這種情況。

179

AWS ParallelCluster AWS ParallelCluster 使用者指南疑難解答與活動目錄的多用户集成

如果用户尚未登錄到頭節點,則不會生成 SSH 密鑰,用户將無法登錄到計算節點。

已知問題SimCenter多用户環境中的 StarCCM+ 作業本節與西門子 Simcenter StarccCM+ 計算流體力學軟件在多用户環境中啟動的作業相關。

如果您運行配置為使用嵌入式英特爾 MPI 的 StarccCM+ v16 作業,默認情況下,MPI 進程將使用 SSH 引導。

由於已知泥漿蟲導致用户名解析錯誤,作業可能會失敗並顯示類似error setting up the bootstrapproxies。

為了防止這種情況發生,強制英特爾 MPI 使用 Slurm 作為 MPI 引導方法。導出環境變數I_MPI_HYDRA_BOOTSTRAP=slurm添加到啟動 StarCCM+ 的作業腳本中,如英特爾 MPI 官方文檔。

用户名解析的已知問題本節與在作業中檢索用户名相關。

由於已知泥漿中的錯誤,則在作業進程中檢索的用户名可能是nobody如果您沒有srun。

例如,如果您執行命令sbatch --wrap 'srun id'作為目錄用户,則返回正確的用户名。但是,如果您運行sbatch --wrap 'id'作為目錄用户,nobody可能會作為使用者名返回。

您可以使用下列變通方法。

1. 啟動任務'srun'而不是'sbatch',如果可能的話。2. 啟用 SSSD 枚舉,方法是設置AdditionalSssd組態 (p. 140)在羣集配置中,如下所示。

AdditionalSssdConfigs: enumerate: true

如何對登錄計算節點進行故障排除本節涉及登錄到與 AD 集成的羣集中的計算節點。

搭配AWS ParallelCluster時,羣集計算節點的密碼登錄將被設計禁用。

所有用户都必須使用自己的 SSH 密鑰登錄到計算節點。

首次登錄後,用户可以在頭節點中檢索其 SSH 密鑰,如果GenerateSshKeysForUsers (p. 140)在羣集配置中啟用。

當用户首次登錄到頭節點時,他們可以檢索作為目錄用户自動生成的 SSH 密鑰。還會為用户創建主目錄。Sudo-user 首次切換到頭節點中的用户時也可能發生這種情況。

如果用户尚未登錄到頭節點,則不會生成 SSH 密鑰,用户將無法登錄到計算節點。

已知問題SimCenter多用户環境中的 StarCCM+ 作業本節與西門子 Simcenter StarccCM+ 計算流體力學軟件在多用户環境中啟動的作業相關。

如果您運行配置為使用嵌入式英特爾 MPI 的 StarccCM+ v16 作業,默認情況下,MPI 進程將使用 SSH 引導。

由於已知泥漿蟲導致用户名解析錯誤,作業可能會失敗並顯示類似error setting up the bootstrapproxies。

180

AWS ParallelCluster AWS ParallelCluster 使用者指南其他支援

為了防止這種情況發生,強制英特爾 MPI 使用 Slurm 作為 MPI 引導方法。導出環境變數I_MPI_HYDRA_BOOTSTRAP=slurm添加到啟動 StarCCM+ 的作業腳本中,如英特爾 MPI 官方文檔。

如何解決主目錄創建問題本節與主目錄創建問題相關。

如果您看到類似於以下示例中所示的錯誤,則當您首次登錄到頭節點時,未為您創建主目錄。或者,當您第一次從 Sudoer 切換到頭節點中的 AD 用户時,沒有為您創建主目錄。

$ ssh AD_USER@$HEAD_NODE_IP/opt/parallelcluster/scripts/generate_ssh_key.sh failed: exit code 1

__| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___|

https://aws.amazon.com/amazon-linux-2/Could not chdir to home directory /home/PclusterUser85: No such file or directory

主目錄創建失敗可能是由oddjob和oddjob-mkhomedir軟件包安裝在羣集頭節點中。

如果沒有主目錄和 SSH 密鑰,用户無法將作業或 SSH 提交到羣集節點。

如果您需要oddjob軟件包,請驗證oddjobd服務正在運行,並刷新 PAM 配置文件以確保已創建主目錄。若要這樣做,請執行頭節點中的命令,如以下範例所示。

sudo systemctl start oddjobdsudo authconfig --enablemkhomedir --updateall

如果您不需要oddjob軟件包,卸載它們並刷新 PAM 配置文件以確保已創建主目錄。若要這樣做,請執行頭節點中的命令,如以下範例所示。

sudo yum remove -y oddjob oddjob-mkhomedirsudo authconfig --enablemkhomedir --updateall

其他支援有關已知問題的列表,請參閲主GitHub維基

或問題(憑證已建立!) 頁面上的名稱有些許差異。有關更緊急的問題,請聯繫AWS Support或開啟新的GitHub問題。

181

AWS ParallelCluster AWS ParallelCluster 使用者指南設定 AWS ParallelCluster

AWS ParallelCluster 第 2 版主題

• 設定 AWS ParallelCluster (p. 182)• 使用 AWS ParallelCluster (p. 198)• AWS ParallelCluster CLI 命令 (p. 256)• 組態 (p. 202)• AWS ParallelCluster 的運作方式 (p. 320)• 教學課程 (p. 330)• 開發 (p. 349)• 對 AWS ParallelCluster 進行故障診斷 (p. 351)

設定 AWS ParallelCluster主題

• 安裝 AWS ParallelCluster (p. 182)• 設定 AWS ParallelCluster (p. 191)• 最佳實務 (p. 195)• 從 CfnCluster 移轉到 AWS ParallelCluster (p. 196)• 支援的區域 (p. 197)

安裝 AWS ParallelClusterAWS ParallelCluster 是以 Python 套件形式散佈,並使用 pip (Python 套件管理工具) 來安裝。如需如何安裝 Python 套件的詳細資訊,請參。安裝套件中的Python 封裝使用者指南。

AWS ParallelCluster 安裝方法:

• 使用虛擬環境 (建議) (p. 182)• 使用 pip (p. 182)

您可以在 GitHub 的發行版本頁面上找到最新 CLI 的版本號。

在這個指南中,命令範例假設您已安裝 Python v3。pip 命令範例使用的是 pip3 版本。

安裝AWS ParallelCluster在虛擬環境中 (建議)建議您在虛擬環境中安裝 AWS ParallelCluster。使用 pip3 嘗試安裝 AWS ParallelCluster 時若遇到問題,則可以在虛擬環境中安裝 AWS ParallelCluster (p. 183),以隔離工具及其依存項目。或者,您可以使用與平常不同的 Python 版本。

安裝AWS ParallelCluster在非虛擬環境中使用 pipLinux、Windows 和 macOS 上 AWS ParallelCluster 的主要分發方法為 pip,亦即 Python 的套件管理員。它提供一個簡單的方法來安裝、升級和移除 Python 套件及其依存項目。

目前 AWS ParallelCluster 版本

182

AWS ParallelCluster AWS ParallelCluster 使用者指南安裝 AWS ParallelCluster

AWS ParallelCluster 會定期更新。若要判斷是否有最新版本,請參閱在 GitHub 上的發佈頁面。

如果您已經有 pip 和支援的 Python 版本,則可以使用以下命令安裝 AWS ParallelCluster。如果您已安裝Python 版本 3+,我們建議您使用 pip3 命令。

$ pip3 install "aws-parallelcluster<3.0" --upgrade --user

安裝後要採取的步驟安裝 AWS ParallelCluster 之後,您可能需要將可執行檔案路徑新增到 PATH 變數。有關平台的特別說明,請參閱以下主題:

• Linux – 新增 AWS ParallelCluster 可執行檔到您的命令列路徑 (p. 186)• macOS – 新增 AWS ParallelCluster 可執行檔到您的命令列路徑 (p. 189)• Windows – 新增 AWS ParallelCluster 可執行檔到您的命令列路徑 (p. 190)

您可以執行 pcluster version 來確認已正確安裝 AWS ParallelCluster。

$ pcluster version2.11.5

AWS ParallelCluster 會定期更新。若要升級到最新版本的 AWS ParallelCluster,請再次執行安裝命令。如需 AWS ParallelCluster 最新版本的詳細資訊,請參閱 AWS ParallelCluster 版本備註。

$ pip3 install "aws-parallelcluster<3.0" --upgrade --user

若要解除安裝 AWS ParallelCluster,請使用 pip uninstall。

$ pip3 uninstall "aws-parallelcluster<3.0"

如果您沒有 Python 和 pip,請使用適用於您環境的程序。

每個環境的詳細説明• 安裝AWS ParallelCluster在虛擬環境中 (建議) (p. 183)• 在 Linux 上安裝 AWS ParallelCluster (p. 185)• 在 macOS 上安裝 AWS ParallelCluster (p. 188)• 在 Windows 上安裝 AWS ParallelCluster (p. 189)

安裝AWS ParallelCluster在虛擬環境中 (建議)建議您安裝AWS ParallelCluster,以避免所需版本與其他pip套件。

先決條件

• 確認已安裝 pip 和 Python。我們建議pip3和 Python 3 版本 3.8 版本。如果您使用的是 Python 2,請使用 pip 來取代 pip3,以及使用 virtualenv 來取代 venv。

在虛擬環境中安裝 AWS ParallelCluster

1. 如果未安裝 virtualenv,請使用 pip3 安裝 virtualenv。如果 python3 -m virtualenv help顯示說明資訊,請前往步驟 2。

183

AWS ParallelCluster AWS ParallelCluster 使用者指南安裝 AWS ParallelCluster

Linux, macOS, or Unix

$ python3 -m pip install --upgrade pip$ python3 -m pip install --user --upgrade virtualenv

執行 exit 以離開目前的終端機視窗,並且開啟一個新的終端機視窗來套用環境的變更。Windows

C:\>pip3 install --user --upgrade virtualenv

執行 exit 以離開目前的命令提示,並且開啟新的命令提示以套用環境的變更。2. 建立虛擬環境並為其命名。

Linux, macOS, or Unix

$ python3 -m virtualenv ~/apc-ve

或者,您可以使用該 -p 選項以指定特定版本的 Python。

$ python3 -m virtualenv -p $(which python3) ~/apc-ve

Windows

C:\>virtualenv %USERPROFILE%\apc-ve

3. 啟用新的虛擬環境。

Linux, macOS, or Unix

$ source ~/apc-ve/bin/activate

Windows

C:\>%USERPROFILE%\apc-ve\Scripts\activate

4. 將 AWS ParallelCluster 安裝到虛擬環境。

Linux, macOS, or Unix

(apc-ve)~$ python3 -m pip install --upgrade "aws-parallelcluster<3.0"

Windows

(apc-ve) C:\>pip3 install --upgrade "aws-parallelcluster<3.0"

5. 確認已正確安裝 AWS ParallelCluster。

Linux, macOS, or Unix

$ pcluster version2.11.5

184

AWS ParallelCluster AWS ParallelCluster 使用者指南安裝 AWS ParallelCluster

Windows

(apc-ve) C:\>pcluster version2.11.5

您可以使用 deactivate 命令來離開虛擬環境。每次您啟動工作階段,都必須重新激活環境 (p. 184)。

若要升級到最新版本的 AWS ParallelCluster,請再次執行安裝命令。

Linux, macOS, or Unix

(apc-ve)~$ python3 -m pip install --upgrade "aws-parallelcluster<3.0"

Windows

(apc-ve) C:\>pip3 install --upgrade "aws-parallelcluster<3.0"

在 Linux 上安裝 AWS ParallelCluster您可以使用 pip (Python 套件管理工具),在大部分的 Linux 發行版本上安裝 AWS ParallelCluster 與其依存項目。首先,判斷是否已安裝 Python 和 pip:

1. 若要判斷 Linux 版本是否包含 Python 和 pip,請執行 pip --version。

$ pip --version

如果您已安裝 pip,請移至使用 pip 安裝 AWS ParallelCluster (p. 182) 主題。否則,請繼續步驟 2。2. 若要判斷是否已安裝 Python,請執行 python --version。

$ python --version

如果已安裝 Python 3 版本 3.6+ 或 Python 2 版本 2.7,請移至使用 pip 安裝 AWSParallelCluster (p. 182) 主題。否則,請安裝 Python (p. 187),然後返回此程序來安裝 pip。

3. 安裝pip通過使用將Python 打包管理機構提供。4. 使用 curl 命令下載安裝指令碼。

$ curl -O https://bootstrap.pypa.io/get-pip.py

5. 執行指令碼和 Python 來下載並安裝最新版本的 pip 及其他必要的支援套件。

$ python get-pip.py --user

$ python3 get-pip.py --user

當您加入 --user 參數,指令碼會將 pip 安裝到路徑 ~/.local/bin。6. 驗證包含pip是您的PATH變量,執行下列動作:

185

AWS ParallelCluster AWS ParallelCluster 使用者指南安裝 AWS ParallelCluster

a. 在您的使用者資料夾中尋找 Shell 的描述檔指令碼。如果您不確定您擁有哪個 Shell,請執行basename $SHELL。

$ ls -a ~. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash – .bash_profile、.profile 或 .bash_login• Zsh – .zshrc• Tcsh – .tcshrc、.cshrc 或 .login

b. 在設定檔尾端新增匯出命令,類似於以下範例。

export PATH=~/.local/bin:$PATH

匯出命令會在現有 PATH 變數的前面插入路徑 (即這個範例中的 ~/.local/bin)。c. 若要讓這些變更生效,請將描述檔重新載入到目前的工作階段。

$ source ~/.bash_profile

7. 確認已正確安裝 pip。

$ pip3 --versionpip 21.3.1 from ~/.local/lib/python3.6/site-packages (python 3.6)

章節• 使用 pip 安裝 AWS ParallelCluster (p. 186)• 新增 AWS ParallelCluster 可執行檔到您的命令列路徑 (p. 186)• 在 Linux 上安裝 Python (p. 187)

使用 pip 安裝 AWS ParallelCluster

使用 pip 來安裝 AWS ParallelCluster。

$ python3 -m pip install "aws-parallelcluster<3.0" --upgrade --user

當您使用 --user 參數時,pip 會將 AWS ParallelCluster 安裝至 ~/.local/bin。

確認已正確安裝 AWS ParallelCluster。

$ pcluster version2.11.5

更新到最新版本的&CLI,再次執行安裝命令。

$ python3 -m pip install "aws-parallelcluster<3.0" --upgrade --user

新增 AWS ParallelCluster 可執行檔到您的命令列路徑

在使用 pip 進行安裝之後,您可能需要將 pcluster 可執行檔新增到作業系統的 PATH 環境變數。

若要確認 pip 已在其中安裝 AWS ParallelCluster 的資料夾,請執行下列命令。

186

AWS ParallelCluster AWS ParallelCluster 使用者指南安裝 AWS ParallelCluster

$ which pcluster/home/username/.local/bin/pcluster

如果您在安裝 AWS ParallelCluster 時省略 --user 參數,則可執行檔可能位於 Python 安裝的 bin 資料夾中。如果您不知道 Python 的安裝位置,請執行此命令。

$ which python/usr/local/bin/python

請注意,輸出可能是符號連結的路徑,而非實際可執行檔。若要查看符號連結指向何處,請執行 ls -al。

$ ls -al $(which python)/usr/local/bin/python -> ~/.local/Python/3.6/bin/python3.6

如果這是您在安裝 AWS ParallelCluster (p. 182)的步驟 3 中新增至路徑的同一個資料夾,則您已完成安裝。否則,您必須再次執行步驟 3a — 3c,將此額外資料夾新增至路徑。

在 Linux 上安裝 Python如果您的發行版本沒有隨附 Python,或者隨附了舊版本,請在安裝 pip 和 AWS ParallelCluster 之前先安裝Python。

在 Linux 上安裝 Python 3

1. 檢查是否已安裝 Python。

$ python3 --version

$ python --version

Note

如果您的 Linux 發行版本隨附 Python,您可能需要安裝 Python 開發人員套件。開發人員套件包含編譯延伸模組和安裝 AWS ParallelCluster 所需的標頭和程式庫。使用您的套件管理員來安裝開發人員套件。它通常命名為 python-dev 或 python-devel。

2. 如果未安裝 Python 2.7 或更高版本,請將 Python 與您的分發套件管理工具一起安裝。命令和套件名稱有所不同:

• 在 Debian 的衍生產品,例如 Ubuntu,使用 apt。

$ sudo apt-get install python3

• 在 Red Hat 和衍生產品,請使用 yum。

$ sudo yum install python3

• 在 SUSE 和衍生產品,請使用 zypper。

$ sudo zypper install python3

3. 若要驗證 Python 是否正確安裝,請開啟命令提示或 Shell,並執行以下命令。

$ python3 --version

187

AWS ParallelCluster AWS ParallelCluster 使用者指南安裝 AWS ParallelCluster

Python 3.8.11

在 macOS 上安裝 AWS ParallelCluster章節

• 先決條件 (p. 188)• 安裝AWS ParallelCluster在 macOS 上使用 pip (p. 188)• 新增 AWS ParallelCluster 可執行檔到您的命令列路徑 (p. 189)

先決條件

• Python 3 第 3.6+ 版或 Python 2 版本 2.7

請檢查 Python 安裝。

$ python --version

如果您的電腦尚未安裝 Python,或是您想要安裝不同版本的 Python,請遵從在 Linux 上安裝 AWSParallelCluster (p. 185)中的程序操作。

安裝AWS ParallelCluster在 macOS 上使用 pip

您也可以直接使用 pip 安裝 AWS ParallelCluster。如果您沒有 pip,請遵循主要安裝主題 (p. 182)中的指示操作。執行 pip3 --version 查看您的 macOS 版本是否已包含 Python 和 pip3。

$ pip3 --version

在 macOS 上安裝 AWS ParallelCluster

1. 下載並安裝最新版的 Python,請從下載頁面的畢通。2. 下載並執行 Python Packaging Authority 提供的 pip3 安裝指令碼。

$ curl -O https://bootstrap.pypa.io/get-pip.py$ python3 get-pip.py --user

3. 使用您剛安裝的 pip3 來安裝 AWS ParallelCluster。如果您使用 Python 版本 3+,我們建議您使用pip3 命令。

$ python3 -m pip install "aws-parallelcluster<3.0" --upgrade --user

4. 確認已正確安裝 AWS ParallelCluster。

$ pcluster version2.11.5

如果找不到此程式,請將它新增到命令列路徑 (p. 189)。

更新到最新版本的&CLI,再次執行安裝命令。

$ pip3 install "aws-parallelcluster<3.0" --upgrade --user

188

AWS ParallelCluster AWS ParallelCluster 使用者指南安裝 AWS ParallelCluster

新增 AWS ParallelCluster 可執行檔到您的命令列路徑

在使用 pip 進行安裝後,您可能需要將 pcluster 程式新增到作業系統的 PATH 環境變數中。程式的位置取決於 Python 的安裝位置。

Example AWS ParallelCluster 安裝位置 - 使用 Python 3.6 和 pip (使用者模式) 的 macOS

~/Library/Python/3.6/bin

請以您的 Python 版本替代上述範例中的版本。

如果您不知道 Python 的安裝位置,請執行 which python。

$ which python3/usr/local/bin/python3

輸出可能是符號連結的路徑,而非實際程式的路徑。執行 ls -al 來查看其指向的路徑。

$ ls -al /usr/local/bin/python3lrwxr-xr-x 1 username admin 36 Mar 12 12:47 /usr/local/bin/python3 -> ../Cellar/python/3.6.8/bin/python3

pip 將程式安裝到包含 Python 應用程式的相同資料夾中。將此資料夾新增至 PATH 變數。

修改PATH變量 (Linux、macOS 或 Unix)

1. 在您的使用者資料夾中尋找 Shell 的描述檔指令碼。如果您不確定您擁有哪個 Shell,請執行 echo$SHELL。

$ ls -a ~. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash – .bash_profile、.profile 或 .bash_login• Zsh – .zshrc• 中華人民共和國–.tcshrc、.cshrc, 或.login

2. 將匯出命令新增至您的描述檔指令碼。

export PATH=~/.local/bin:$PATH

這個命令將路徑 (此範例中的 ~/.local/bin) 新增到目前的 PATH 變數。3. 將設定檔載入到目前工作階段中。

$ source ~/.bash_profile

在 Windows 上安裝 AWS ParallelCluster您可以使用 pip (這是 Python 的套件管理員),在 Windows 上安裝 AWS ParallelCluster。如果您已經有pip,請遵循主要 安裝主題 (p. 182)中的指示操作。

章節• 安裝AWS ParallelCluster使用 Python 和pipWindows 上的 (p. 190)

189

AWS ParallelCluster AWS ParallelCluster 使用者指南安裝 AWS ParallelCluster

• 新增 AWS ParallelCluster 可執行檔到您的命令列路徑 (p. 190)

安裝AWS ParallelCluster使用 Python 和pipWindows 上的Python 軟體基金會為 Windows 提供包含 pip 的安裝程式。

安裝 Python 和 pip (Windows)

1. 下載下載頁面的畢通。2. 執行安裝程式。3. 選擇Add Python 3 to PATH (將 Python 3 新增到 PATH)。4. 選擇 Install Now (立即安裝)。

安裝程式會將 Python 安裝到您的使用者資料夾中,並將其程式資料夾新增到您的使用者路徑。

使用 pip3 安裝 AWS ParallelCluster (Windows)

如果您使用 Python 版本 3+,我們建議您使用 pip3 命令。

1. 開啟命令提示來自啟動選單。2. 使用下列命令確認 Python 和 pip 都已安裝正確。

C:\>py --versionPython 3.8.11C:\>pip3 --versionpip 21.3.1 from c:\python38\lib\site-packages\pip (python 3.8)

3. 使用 pip 安裝 AWS ParallelCluster。

C:\>pip3 install "aws-parallelcluster<3.0"

4. 確認已正確安裝 AWS ParallelCluster。

C:\>pcluster version2.11.5

更新到最新版本的&CLI,再次執行安裝命令。

C:\>pip3 install --user --upgrade "aws-parallelcluster<3.0"

新增 AWS ParallelCluster 可執行檔到您的命令列路徑在使用 pip 安裝 AWS ParallelCluster 之後,請將 pcluster 程式新增至作業系統的 PATH 環境變數。

您可以執行下列命令,找到 pcluster 程式的安裝位置。

C:\>where pclusterC:\Python38\Scripts\pcluster.exe

如果該命令未傳回任何結果,則必須手動新增路徑。使用命令列或 Windows 檔案總管來探索它在您電腦上的安裝位置。典型路徑包括:

• Python 3 和 pip3 – C:\Python38\Scripts\• Python 3 和pip3— user 選項–%APPDATA%\Python\Python38\Scripts

190

AWS ParallelCluster AWS ParallelCluster 使用者指南設定 AWS ParallelCluster

Note

包括版本號碼的資料夾名稱可能有所不同。上述範例顯示 Python38。視需要更換為您所使用的版本編號。

修改 PATH 變數 (Windows)

1. 按下 Windows 鍵並輸入 environment variables。2. 選擇 Edit environment variables for your account (編輯您帳戶的環境變數)。3. 選擇 PATH,然後選擇 Edit (編輯)。4. 新增路徑至 Variable value (變數值) 欄位。例如:C:\new\path

5. 選擇 OK (確定) 兩次以套用新的設定。6. 關閉任何正在執行的命令提示,並重新開啟命令提示字元視窗。

設定 AWS ParallelCluster在安裝 AWS ParallelCluster 之後,請完成以下設定步驟。

首先,設定AWS登入資料。如需詳細資訊,請參閱「」設定AWS CLI中的AWS CLI使用者指南。

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLEAWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault region name [us-east-1]: us-east-1Default output format [None]:

啟動叢集的區域必須至少有一個 Amazon EC2 金 key pair。如需詳細資訊,請參閱《Amazon EC2 Linux 執行個體使用者指南》中的 Amazon EC2 金鑰對。

$ pcluster configure

設定精靈會提示您輸入建立叢集所需的所有資訊。在使用時,序列的詳細資訊會有所不同AWS Batch作為調度程序,而不是使用Slurm。

Note

從 2.11.5, 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。您可以繼續在包括 2.11.4 的版本中使用它們,但它們不符合以後的更新或故障排除支持的資格AWS服務和AWSSupport 團隊。

Slum

從有效列表AWS 區域標識符中,選擇希望運行叢集的區域。Note

顯示的區域列表基於您賬户的分區,僅包括為您的賬户啟用的區域。如需為您的帳户啟用區域的詳細資訊,請參管理AWS 區域中的AWS一般參考。顯示的示例來自AWS全局分區。如果您的帳户在AWS GovCloud (US)分區,則僅列出該分區中的區域(gov-us-east-1和gov-us-west-1。同樣,如果您的帳户位於AWS中國分區,只cn-north-1和cn-northwest-1顯示的資料。如需支援的區域完整清單AWS ParallelCluster,請參支援的區域 (p. 197)。

Allowed values for the AWS ## ID:1. af-south-12. ap-east-13. ap-northeast-14. ap-northeast-25. ap-south-1

191

AWS ParallelCluster AWS ParallelCluster 使用者指南設定 AWS ParallelCluster

6. ap-southeast-17. ap-southeast-28. ca-central-19. eu-central-110. eu-north-111. eu-south-112. eu-west-113. eu-west-214. eu-west-315. me-south-116. sa-east-117. us-east-118. us-east-219. us-west-120. us-west-2AWS ## ID [ap-northeast-1]:

選擇要與叢集搭配使用的排程器。

Allowed values for Scheduler:1. slurm2. awsbatchScheduler [slurm]:

選擇作業系統。

Allowed values for Operating System:1. alinux22. centos73. ubuntu18044. ubuntu2004Operating System [alinux2]:

Note

支援alinux2新增AWS ParallelCluster2.6.0 版。

輸入運算節點叢集的最小和最大大小。這是以執行個體數量為單位測量而得。

Minimum cluster size (instances) [0]:Maximum cluster size (instances) [10]:

輸入頭部和運算節點執行個體類型。對於執行個體類型,您的帳戶執行個體限制足以滿足您的需求。如需詳細資訊,請參閱「」隨需執行個體 限制中的Amazon EC2 Linux 執行個體使用者指南。

Master instance type [t2.micro]: Compute instance type [t2.micro]:

會從在選取的區域中向 Amazon EC2 註冊的金鑰 key pair 中選取金鑰對。

Allowed values for EC2 Key Pair Name:1. prod-uswest1-key2. test-uswest1-keyEC2 Key Pair Name [prod-uswest1-key]:

完成上述步驟之後,決定是否要使用現有的 VPC,還是讓 AWS ParallelCluster 為您建立 VPC。如果您沒有適當設定的 VPC,AWS ParallelCluster 可以建立一個新的 VPC。它會使用相同公用子網路中的頭節點和運算節點,或只使用公用子網路中的頭節點,還有私人子網路中的所有節點。您可能達到區域中的 VPC 數量限制。每個區域的默認限制為五個 VPC。如需此限制和申請提高限制的方法,詳細資訊請參。VPC 和子網路中的Amazon VPC User Guide。

192

AWS ParallelCluster AWS ParallelCluster 使用者指南設定 AWS ParallelCluster

如果您使用AWS ParallelCluster時,您必須決定所有節點是否都應該位於公用子網路中。Important

創建的 VPCAWS ParallelCluster默認情況下不啟用 VPC 流日誌。VPC 流量日誌可讓您捕獲傳入和傳出您 VPC 中網路界面之 IP 流量相關資訊。如需詳細資訊,請參閱《Amazon VPC 使用者指南》https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html中的 VPC 流程日誌。

Automate VPC creation? (y/n) [n]: yAllowed values for Network Configuration:1. Master in a public subnet and compute fleet in a private subnet2. Master and compute fleet in the same public subnetNetwork Configuration [Master in a public subnet and compute fleet in a private subnet]: 1Beginning VPC creation. Please do not leave the terminal until the creation is finalized

如果您沒有建立新的 VPC,您必須選取現有的 VPC。

如果您選擇AWS ParallelCluster建立 VPC,記 VPC ID,以方便您使用AWS CLI以稍後將其刪除。

Automate VPC creation? (y/n) [n]: nAllowed values for VPC ID: # id name number_of_subnets--- --------------------- --------------------------------- ------------------- 1 vpc-0b4ad9c4678d3c7ad ParallelClusterVPC-20200118031893 2 2 vpc-0e87c753286f37eef ParallelClusterVPC-20191118233938 5VPC ID [vpc-0b4ad9c4678d3c7ad]: 1

選取 VPC 之後,您需要決定是否要使用現有的子網路或是建立新的子網路。

Automate Subnet creation? (y/n) [y]: y

Creating CloudFormation stack...Do not leave the terminal until the process has finished

AWS Batch

從有效列表AWS 區域標識符中,選擇希望運行叢集的區域。

Allowed values for AWS ## ID:1. ap-northeast-12. ap-northeast-23. ap-south-14. ap-southeast-15. ap-southeast-26. ca-central-17. eu-central-18. eu-north-19. eu-west-110. eu-west-211. eu-west-312. sa-east-113. us-east-114. us-east-215. us-west-116. us-west-2AWS ## ID [ap-northeast-1]:

選擇要與叢集搭配使用的排程器。

193

AWS ParallelCluster AWS ParallelCluster 使用者指南設定 AWS ParallelCluster

Allowed values for Scheduler:1. slurm2. awsbatchScheduler [awsbatch]:

當選取 awsbatch 做為排程器時,alinux2 會用作為作業系統。

輸入運算節點叢集的最小和最大大小。這是以 vCPU 為單位測量而得。

Minimum cluster size (vcpus) [0]:Maximum cluster size (vcpus) [10]:

會輸入頭部節點實例類型。使用 awsbatch 排程器時,運算節點會使用 optimal 的執行個體類型。

Master instance type [t2.micro]:

會從在選取的區域中向 Amazon EC2 註冊的金鑰 key pair 中選取金鑰對。

Allowed values for EC2 Key Pair Name:1. prod-uswest1-key2. test-uswest1-keyEC2 Key Pair Name [prod-uswest1-key]:

決定是否要使用現有的 VPC 或是讓 AWS ParallelCluster 為您建立 VPC。如果您沒有適當設定的VPC,AWS ParallelCluster 可以建立一個新的 VPC。它會使用相同公用子網路中的頭節點和運算節點,或只使用公用子網路中的頭節點,還有私人子網路中的所有節點。您可能達到區域中的 VPC 數量限制。VPC 的預設數目為五。如需此限制和申請提高限制的方法,詳細資訊請參。VPC 和子網路中的Amazon VPC User Guide。

Important

創建的 VPCAWS ParallelCluster默認情況下不啟用 VPC 流日誌。VPC 流量日誌可讓您捕獲傳入和傳出您 VPC 中網路界面之 IP 流量相關資訊。如需詳細資訊,請參閱《Amazon VPC 使用者指南》https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html中的 VPC 流程日誌。

如果您使用AWS ParallelCluster建立 VPC,決定所有節點是否都應該位於公用子網路中。

Automate VPC creation? (y/n) [n]: yAllowed values for Network Configuration:1. Master in a public subnet and compute fleet in a private subnet2. Master and compute fleet in the same public subnetNetwork Configuration [Master in a public subnet and compute fleet in a private subnet]: 1Beginning VPC creation. Please do not leave the terminal until the creation is finalized

如果您沒有建立新的 VPC,您必須選取現有的 VPC。

如果您選擇AWS ParallelCluster建立 VPC,記 VPC ID,以方便您使用AWS CLI以稍後將其刪除。

Automate VPC creation? (y/n) [n]: nAllowed values for VPC ID: # id name number_of_subnets--- --------------------- --------------------------------- ------------------- 1 vpc-0b4ad9c4678d3c7ad ParallelClusterVPC-20200118031893 2 2 vpc-0e87c753286f37eef ParallelClusterVPC-20191118233938 5VPC ID [vpc-0b4ad9c4678d3c7ad]: 1

194

AWS ParallelCluster AWS ParallelCluster 使用者指南最佳實務

選取 VPC 之後,決定是否要使用現有的子網路或是建立新的子網路。

Automate Subnet creation? (y/n) [y]: y

Creating CloudFormation stack...Do not leave the terminal until the process has finished

當您完成了上述步驟時,簡單的叢集會啟動至 VPC。VPC 使用支持公有 IP 地址的現有子網。子網路的路由表為0.0.0.0/0 => igw-xxxxxx。請注意以下條件:

• VPC 必須具有 DNS Resolution = yes 和 DNS Hostnames = yes。• VPC 也應該具有 DHCP 選項和該區域的正確 domain-name。預設 DHCP 選項集已指定必要

AmazonProvidedDNS。如果指定超過一個網域名稱伺服器,請參DHCP 選項集中的Amazon VPC UserGuide。當使用私人子網路時,請使用 NAT 閘道或內部代理來啟用運算節點的 Web 訪問。如需詳細資訊,請參閱 網路組態 (p. 198)。

當所有設定都包含有效值時,您可以執行建立命令來啟動叢集。

$ pcluster create mycluster

在叢集達到 "CREATE COMPLETE" 狀態之後,您可以使用一般 SSH 用戶端設定來連接至其中。如需連接至 Amazon EC2 執行個體的詳細資訊,請參EC2 使用者指南中的Amazon EC2 Linux 執行個體使用者指南。

若要刪除叢集,請執行下列命令。

$ pcluster delete-cluster --region us-east-1 mycluster

要刪除 VPC 中的網絡資源,您可以刪除 CloudFormation 網絡堆棧。堆疊名稱以」parallelclusternetworking-」,並且包含以「YYYYMDHMMSS」格式的創建時間。您可以使用列表堆疊命令。

$ aws --region us-east-1 cloudformation list-stacks \ --stack-status-filter "CREATE_COMPLETE" \ --query "StackSummaries[].StackName" | \ grep -e "parallelclusternetworking-" "parallelclusternetworking-pubpriv-20191029205804"

堆棧可以使用delete-stack命令。

$ aws --region us-east-1 cloudformation delete-stack \ --stack-name parallelclusternetworking-pubpriv-20191029205804

該 VPCpcluster configure (p. 84)創建不是在 CloudFormation 網絡堆棧中創建的。您可在主控台中,或使用AWS CLI。

$ aws --region us-east-1 ec2 delete-vpc --vpc-id vpc-0b4ad9c4678d3c7ad

最佳實務最佳實踐:主實例類型選擇雖然主節點不執行任何作業,但其功能及其大小對集羣的整體性能至關重要。

195

AWS ParallelCluster AWS ParallelCluster 使用者指南從 CfnCluster 移轉到 AWS ParallelCluster

選擇要用於主節點的實例類型時,您需要評估以下項目:

• 叢集大小主節點協調羣集的擴展邏輯,並負責將新節點附加到調度程序。如果您需要向上和縮小相當數量的節點羣集,那麼您希望為主節點提供一些額外的計算容量。

• 共享檔案系統:當使用共享文件系統在計算節點和主節點之間共享工件時,應考慮到主節點是公開 NFS 服務器的節點。因此,您希望選擇具有足夠網絡帶寬和足夠專用 Amazon EBS 帶寬的實例類型來處理您的工作流程。

最佳實踐:網絡性能有三個提示涵蓋了改善網絡通信的各種可能性。

• 置放置放羣組:叢集置放羣組是單一可用區域中的執行個體邏輯分組。如需置放置放羣組的詳細資訊,請參置放置放羣組中的Amazon EC2 Linux 執行個體使用者指南。您可以將羣集配置為使用自己的置放羣組placement_group = your-placement-group-name或者讓AWS ParallelCluster使用來建立置放置放羣組"compute"具有策略placement_group = DYNAMIC。如需詳細資訊,請參閱「」placement_group (p. 311)對於多個隊列模式,placement_group (p. 284)用於單隊列模式。

• 增強型聯網:考慮選擇支持增強聯網的實例類型。如需詳細資訊,請參閱「」Linux 增強型聯網中的Amazon EC2 Linux 執行個體使用者指南。

• 實例頻寬:帶寬隨實例大小而擴展,請考慮選擇更適合您需求的實例類型,請參閲Amazon EBS – 最佳化執行個體和Amazon EBS 磁碟區類型中的Amazon EC2 Linux 執行個體使用者指南。

從 CfnCluster 移轉到 AWS ParallelClusterAWS ParallelCluster 是加強版本的 CfnCluster。

如果您當前使用 CfnCluster,建議您使用AWS ParallelCluster,然後使用它創建新的羣集。雖然您可以繼續使用 CfnCluster,但是不再開發它,也不會新增任何特性或功能。

下列章節說明 CfnCluster 與 AWS ParallelCluster 之間的主要差異。

AWS ParallelCluster CLI 管理一組不同的叢集

使用cfnclusterCLI 無法使用pclusterCLI。以下命令不適用於 CfnCluster 所建立的叢集:

pcluster listpcluster update cluster_namepcluster start cluster_namepcluster status cluster_name

若要管理您使用 CfnCluster 所建立的叢集,您必須使用 cfncluster CLI。

如果您需要 CfnCluster 套件來管理舊的叢集,建議您從Python 虛擬環境。

AWS ParallelCluster和 CfnCluster 會使用不同的 IAM 自定義策略

先前用於建立 CfnCluster 叢集的自訂 IAM 政策無法與AWS ParallelCluster。如果您需要 AWSParallelCluster 的自訂政策,則必須建立新的自訂政策。參以下資源AWS ParallelCluster指南。

AWS ParallelCluster 和 CfnCluster 會使用不同的組態檔

AWS ParallelCluster 組態檔位於 ~/.parallelcluster 資料夾中。CfnCluster 組態檔位於~/.cfncluster 資料夾中。

如果您想要將現有的 CfnCluster 配置文件與AWS ParallelCluster,則必須完成下列動作:

1. 將組態檔從 ~/.cfncluster/config 移至 ~/.parallelcluster/config。2. 如果您使用 extra_json (p. 281) 組態參數,請將其變更為如下所示。

196

AWS ParallelCluster AWS ParallelCluster 使用者指南支援的區域

CfnCluster 設定:

extra_json = { "cfncluster" : { } }

AWS ParallelCluster 設定:

extra_json = { "cluster" : { } }

在 AWS ParallelCluster 中,ganglia 預設為停用

在 AWS ParallelCluster 中,ganglia 預設為停用。要啟用神經節,請完成以下步驟:

1. 設定 extra_json (p. 281) 參數,如下所示:

extra_json = { "cluster" : { "ganglia_enabled" : "yes" } }

2. 變更頭安全組,以允許連線至連接港口 80。

必須透過新增安全群組規則來修改 parallelcluster-<CLUSTER_NAME>-MasterSecurityGroup-<xxx> 安全群組,以允許公有 IP 到連接埠 80 的傳入連線。如需詳細資訊,請參閱「」新增規則至安全群組中的Amazon EC2 Linux 執行個體使用者指南。

支援的區域AWS ParallelCluster版本 2.x 在以下AWS 區域:

區域名稱 區域

美國東部 (俄亥俄) us-east-2

美國東部 (維吉尼亞北部) us-east-1

美國西部 (加利佛尼亞北部) us-west-1

美國西部 (奧勒岡) us-west-2

非洲 (開普敦) af-south-1

亞太區域 (香港) ap-east-1

亞太區域 (孟買) ap-south-1

亞太區域 (首爾) ap-northeast-2

亞太區域 (新加坡) ap-southeast-1

亞太區域 (雪梨) ap-southeast-2

亞太區域 (東京) ap-northeast-1

加拿大 (中部) ca-central-1

中國 (北京) cn-north-1

中國 (寧夏) cn-northwest-1

歐洲 (法蘭克福) eu-central-1

197

AWS ParallelCluster AWS ParallelCluster 使用者指南使用 AWS ParallelCluster

區域名稱 區域

歐洲 (愛爾蘭) eu-west-1

歐洲 (倫敦) eu-west-2

歐洲 (米蘭) eu-south-1

歐洲 (巴黎) eu-west-3

歐洲 (斯德哥爾摩) eu-north-1

中東 (巴林) me-south-1

南美洲 (聖保羅) sa-east-1

AWS GovCloud (US-East) us-gov-east-1

AWS GovCloud (美國西部) us-gov-west-1

使用 AWS ParallelCluster主題

• 網路組態 (p. 198)• 自訂引導操作 (p. 202)• 使用 Amazon S3 (p. 204)• 使用 競價型執行個體 (p. 204)• AWS Identity and Access Management角色AWS ParallelCluster (p. 206)• AWS ParallelCluster 支援的排程器 (p. 234)• 多隊列模式 (p. 245)• AWS ParallelCluster資源和標記 (p. 246)• 亞馬遜CloudWatch儀表板 (p. 248)• 與卓越亞馬遜整合CloudWatch日誌 (p. 248)• Elastic Fabric Adapter (p. 250)• Intel Select 解決方案 (p. 250)• 啟用 Intel MPI (p. 251)• Intel HPC 平台規格 (p. 252)• Arm 性能庫 (p. 252)• 通過 NICE DCV Connect 到頭節點 (p. 253)• 使用 pcluster update (p. 254)

網路組態AWS ParallelCluster使用 Amazon Virtual Private Cloud (VPC) 進行網路連接。VPC 提供一個靈活且可設定的網路平台,您可以在此平台上部署叢集。

VPC 必須具有 DNS Resolution = yes、DNS Hostnames = yes 及 DHCP 選項,並且具有區域的正確網域名稱。預設 DHCP 選項集已指定必要AmazonProvidedDNS。如果指定超過一個網域名稱伺服器,請參DHCP 選項集中的Amazon VPC User Guide。

AWS ParallelCluster 支援下列高階組態:

198

AWS ParallelCluster AWS ParallelCluster 使用者指南網路組態

• 頭部節點和計算節點均可使用單一子網路。• 兩個子網路,其中頭節點位於公用子網路中,而運算節點位於私有子網路中。子網路可以是新網路或現有

子網路。

不論是否使用公有 IP 定址,所有這些組態都可以運作。AWS ParallelCluster也可以部署為使用 HTTP 代理來處理所有AWS請求。這些組態的組合會產生許多部署案例。例如,您可以將單個公有子網配置為所有存取透過網際網路傳入。或者,您可以使用AWS Direct Connect和 HTTP 代理的所有流量。

請參閱以下架構圖,以取得其中某些案例的示意圖:

單一公有子網路中的 AWS ParallelCluster此架構的組態需要下列設定:

[vpc public]vpc_id = vpc-xxxxxxmaster_subnet_id = subnet-<public>use_public_ips = true

此 use_public_ips (p. 317) 設定無法設定為 false,因為網際網路閘道要求所有執行個體都具有全域唯一的 IP 位址。如需詳細資訊,請參閱「」啟用網際網路存取在Amazon VPC User Guide。

使用兩個子網路的 AWS ParallelCluster

若要為運算執行個體建立新的私有子網路,組態需要下列設定:

請注意,所有值均僅以示例形式提供。

199

AWS ParallelCluster AWS ParallelCluster 使用者指南網路組態

[vpc public-private-new]vpc_id = vpc-xxxxxxmaster_subnet_id = subnet-<public>compute_subnet_cidr = 10.0.1.0/24

若要使用現有的私有網路,組態需要下列設定:

[vpc public-private-existing]vpc_id = vpc-xxxxxxmaster_subnet_id = subnet-<public>compute_subnet_id = subnet-<private>

這兩種配置都需要NAT 閘道或內部 PROXY,以啟用運算執行個體的 Web 存取。

使用 AWS Direct Connect 連接的單一私有子網路中的 AWSParallelCluster

此架構的組態需要下列設定:

[cluster private-proxy]proxy_server = http://proxy.corp.net:8080

[vpc private-proxy]vpc_id = vpc-xxxxxxmaster_subnet_id = subnet-<private>use_public_ips = false

200

AWS ParallelCluster AWS ParallelCluster 使用者指南網路組態

當 use_public_ips 設為 false 時,必須正確設定 VPC 來使用代理處理所有流量。頭節點和運算節點都需要 Web 存取。

AWS ParallelCluster取代為awsbatch排程器當您使用 awsbatch 做為排程器類型時,AWS ParallelCluster 會建立 AWS Batch 受管運算環境。所以此AWS Batch環境負責管理 Amazon Elastic Container Service (Amazon ECS),這些是在compute_subnet。適用於AWS Batch若要正確運作,Amazon ECS 容器執行個體需要外部網路存取,以便與 Amazon ECS 服務端點通訊。這轉換成以下案例:

• 所以此compute_subnet使用 NAT 網關來存取網際網路。(我們建議此方法。)• compute_subnet 中啟動的執行個體具有公有 IP 地址,而且可以透過網際網路閘道來連接網際網路。

此外,如果您對多節點平行任務感興趣 (從AWS Batch檔案):

AWS Batch多節點平行任務使用 Amazon ECSawsvpc網路模式,這使得多節點平行任務容器具有與Amazon EC2 執行個體相同的聯網屬性。每個多節點平行任務容器皆會取得自己的彈性網路界面、主要私有IP 地址及內部 DNS 主機名稱。網路界面是在與主機運算資源相同的 Amazon VPC 子網路中建立。任何套用到您運算資源的安全群組,也會套用在它身上。

使用亞馬遜雲服務器任務網絡時,awsvpc網路模式不提供具有公有 IP 地址的彈性網路界面,以執行使用Amazon EC2 啟動類型的任務。若要存取網際網路,使用 Amazon EC2 啟動類型的任務必須在設定為使用NAT 閘道的私有子網路中啟動。

若要使叢集能夠執行多節點平行任務,您必須設定 NAT 閘道。

201

AWS ParallelCluster AWS ParallelCluster 使用者指南自訂引導操作

如需詳細資訊,請參閱下列主題:

• AWS Batch託管式計算環境• AWS Batch多節點平行任務• Amazon ECS 任務聯網與awsvpc網路模式

自訂引導操作AWS ParallelCluster建立叢集時,可在主要引導操作之前 (安裝前) 或之後 (安裝後) 執行任意程式碼。在大多數情況下,此代碼存放在 Amazon Simple Storage Service (Amazon S3) 中,並通過 HTTPS 連接存取。此程式碼會以 root 身分運行,而且可以是叢集作業系統所支援的任何指令碼語言。通常,代碼位於Bash或者蟒蛇。

在啟動任何叢集部署引導操作之前會呼叫安裝前動作,例如設定 NAT、Amazon EElastic Block Store(Amazon EBS) 或排程器。某些安裝前動作包括修改儲存體、添加額外使用者和添加軟件包。

在羣集引導過程完成後調用安裝後操作。安裝後動作可在認為執行個體完全配置和完成之前執行的最後動作。一些安裝後動作包括變更排程器設定、修改儲存和修改套件。

您可以在配置期間指定這些引數,以將參數傳遞至指令碼。為此,您可以將它們加上雙引號傳遞至安裝前或安裝後動作。

如果安裝前或安裝後動作失敗,則執行個體引導也會失敗。成功是以退出代碼零 (0) 表示。任何其他退出代碼都表示實例引導失敗。

您可以區分運行頭和運算節點。來源/etc/parallelcluster/cfnconfig文件並評估cfn_node_type環境變量的值為」MasterServer「和」ComputeFleet」,分別用於頭節點和計算節點。

#!/bin/bash

. "/etc/parallelcluster/cfnconfig"

case "${cfn_node_type}" in MasterServer) echo "I am the head node" >> /tmp/head.txt ;; ComputeFleet) echo "I am a compute node" >> /tmp/compute.txt ;; *) ;;esac

組態以下組態設定用來定義安裝前和安裝後動作和引數。

# URL to a preinstall script. This is run before any of the boot_as_* scripts are run# (no default)pre_install = https://<bucket-name>.s3.amazonaws.com/my-pre-install-script.sh# Arguments to be passed to preinstall script# (no default)pre_install_args = argument-1 argument-2# URL to a postinstall script. This is run after any of the boot_as_* scripts are run# (no default)post_install = https://<bucket-name>.s3.amazonaws.com/my-post-install-script.sh# Arguments to be passed to postinstall script

202

AWS ParallelCluster AWS ParallelCluster 使用者指南自訂引導操作

# (no default)post_install_args = argument-3 argument-4

引數前兩個引數 ($0 和 $1) 保留給指令碼名稱和 url。

$0 => the script name$1 => s3 url$n => args set by pre/post_install_args

範例以下步驟建立簡單的安裝後指令碼,在叢集安裝 R 套件。

1. 建立指令碼。

#!/bin/bash

echo "post-install script has $# arguments"for arg in "$@"do echo "arg: ${arg}"done

yum -y install "${@:2}"

2. 將具有正確許可的指令碼上傳至 Amazon S3。如果公共讀取權限不適合您,請使用s3_read_resource (p. 287)或者s3_read_write_resource (p. 287)參數來授予訪問權限。如需詳細資訊,請參閱 使用 Amazon S3 (p. 204)。

$ aws s3 cp --acl public-read /path/to/myscript.sh s3://<bucket-name>/myscript.sh

Important

如果在 Windows 上編輯過程式,則必須先將行末從 CRLF 變更為 LF,才能將腳本上傳到Amazon S3。

3. 更新 AWS ParallelCluster 組態以包含新的安裝後動作。

[cluster default]...post_install = https://<bucket-name>.s3.amazonaws.com/myscript.shpost_install_args = 'R curl wget'

如果儲存貯體沒有公開讀取許可,請使用s3作為 URL 協議。

[cluster default]...post_install = s3://<bucket-name>/myscript.shpost_install_args = 'R curl wget'

4. 啟動叢集。

$ pcluster create mycluster

5. 驗證輸出。

203

AWS ParallelCluster AWS ParallelCluster 使用者指南使用 Amazon S3

$ less /var/log/cfn-init.log2019-04-11 10:43:54,588 [DEBUG] Command runpostinstall output: post-install script has 4 argumentsarg: s3://<bucket-name>/test.sharg: Rarg: curlarg: wgetLoaded plugins: dkms-build-requires, priorities, update-motd, upgrade-helperPackage R-3.4.1-1.52.amzn1.x86_64 already installed and latest versionPackage curl-7.61.1-7.91.amzn1.x86_64 already installed and latest versionPackage wget-1.18-4.29.amzn1.x86_64 already installed and latest versionNothing to do

使用 Amazon S3您可以從AWS ParallelCluster。您可以 Amazon S3過s3_read_resource (p. 287)和s3_read_write_resource (p. 287)中的參數AWS ParallelCluster組態。

# Specify Amazon S3 resource which AWS ParallelCluster nodes will be granted read-only access# (no default)s3_read_resource = arn:aws:s3:::my_corporate_bucket*# Specify Amazon S3 resource which AWS ParallelCluster nodes will be granted read-write access# (no default)s3_read_write_resource = arn:aws:s3:::my_corporate_bucket/*

這兩個參數都接受*或一個有效的 Amazon S3 ARN。如需指定 Amazon S3 ARN 的詳細資訊,請參AmazonS3 ARN 格式中的AWS一般參考

範例以下範例提供對 Amazon S3 存儲體中任何數據元的讀取存取權我的企業存儲桶。

s3_read_resource = arn:aws:s3:::my_corporate_bucket/*

以下範例可讓您存取儲存貯體,但不讓您讀取儲存貯體中的項目。

s3_read_resource = arn:aws:s3:::my_corporate_bucket

最後一個範例提供您對於儲存貯體和儲存貯體中儲存項目的讀取存取權。

s3_read_resource = arn:aws:s3:::my_corporate_bucket*

使用 競價型執行個體如果叢集組態已設定 cluster_type (p. 275) = spot,則AWS ParallelCluster 會使用 Spot 執行個體。競價型實例比按需實例更具成本效益,但它們可能會被中斷。中斷的作用取決於所使用的特定調度程序。它可能會有助於利用Spot 執行個體中斷通知,這會在 Amazon EC2 必須停止或終止您的競價型執行個體之前兩分鐘提供警告。如需詳細資訊,請參閱「」Spot 執行個體中斷在Amazon EC2 Linux 執行個體使用者指南。下列章節說明可能中斷 Spot 執行個體的三種案例。

204

AWS ParallelCluster AWS ParallelCluster 使用者指南使用 競價型執行個體

Note

使用 Spot 執行個體需要AWSServiceRoleForEC2Spot您的帳户中存在服務連結角色。若要在您的帳户中使用AWS CLI,執行以下命令:

aws iam create-service-linked-role --aws-service-name spot.amazonaws.com

如需詳細資訊,請參閱「」Spot 執行個體請求的服務連結角色中的Amazon EC2 Linux 執行個體使用者指南。

方案 1:沒有運行任務的 Spot 執行個體會被中斷發生此類中斷時,如果排程器佇列中有需要額外執行個體的擱置任務,或作用中執行個體的數目低於initial_queue_size (p. 282) 設定,則 AWS ParallelCluster 會嘗試取代執行個體。如果AWSParallelCluster無法置備新的執行個體,則會定期重複請求新的執行個體。

方案 2:運行單節點任務的 Spot 執行個體會中斷此類中斷的行為取決於所使用的排程器。

Slurm

作業失敗,狀態代碼為NODE_FAIL,並且該作業被重新申請(除非--no-requeue在提交作業時指定)。如果節點是靜態節點,則會替換該節點。如果節點是動態節點,則終止並重置該節點。如需有關的詳細資訊sbatch,包括--no-requeue參數,請參閲sbatch中的泥漿文件。

Note

此行為在AWS ParallelCluster2.9.0 版。早期版本終止了作業,狀態代碼為NODE_FAIL並且該節點已從調度程序隊列中移除。

SGENote

這僅適用於AWS ParallelCluster2.11.4 版。從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

任務已終止。如果任務已啟用重新執行旗標 (使用 qsub -r yes 或 qalter -r yes),或佇列的rerun 組態設定為 TRUE,則該任務會重新排程。運算執行個體會從排程器佇列中移除。這種行為來自這些 SGE 組態參數:• reschedule_unknown 00:00:30

• ENABLE_FORCED_QDEL_IF_UNKNOWN

• ENABLE_RESCHEDULE_KILL=1

TorqueNote

這僅適用於AWS ParallelCluster2.11.4 版。從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

任務會從系統中移除,並從排程器中移除節點。作業不會重新運行。如果執行個體遭到中斷時有多個任務正在執行,Torque 可能會在移除節點期間逾時。錯誤可能會顯示在sqswatcher (p. 322)日誌檔案。這不會影響擴展邏輯,而且會通過後續重試執行適當的清理。

案例 3:運行多節點任務的 Spot 執行個體會被中斷此類中斷的行為取決於所使用的排程器。

205

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

Slurm

作業失敗,狀態代碼為NODE_FAIL,並且該作業被重新申請(除非--no-requeue在提交作業時指定)。如果節點是靜態節點,則會替換該節點。如果節點是動態節點,則終止並重置該節點。正在執行終止任務的其他節點可能會分配給其他掛起任務,或在設定的scaledown_idletime (p. 315)時間已經過去了

Note

此行為在AWS ParallelCluster2.9.0 版。早期版本終止了作業,狀態代碼為NODE_FAIL並且該節點已從調度程序隊列中移除。運行終止任務的其他節點可能會在配置scaledown_idletime (p. 315)時間已經過去了

SGE

Note

這僅適用於AWS ParallelCluster2.11.4 版。從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

任務不會終止,而且會繼續在其餘的節點上執行。運算節點會從排程器佇列中移除,但會在主機清單中顯示為孤立且無法使用的節點。

發生這種情況時,使用者必須刪除任務 (qdel <jobid>)。該節點仍會顯示在主機列表 (qhost),儘管這不會影響AWS ParallelCluster。若要從列表中移除主機,請在替換執行個體後執行下列命令。

sudo -- bash -c 'source /etc/profile.d/sge.sh; qconf -dattr hostgroup hostlist <hostname> @allhosts; qconf -de <hostname>'

Torque

Note

這僅適用於AWS ParallelCluster2.11.4 版。從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

任務會從系統中移除,並從排程器中移除節點。作業不會重新運行。如果執行個體遭到中斷時有多個任務正在執行,Torque 可能會在移除節點期間逾時。錯誤可能會顯示在sqswatcher (p. 322)日誌檔案。這不會影響擴展邏輯,而且會通過後續重試執行適當的清理。

如需競價型執行個體的詳細資訊,請參競價型執行個體中的Amazon EC2 Linux 執行個體使用者指南。

AWS Identity and Access Management角色AWSParallelClusterAWS ParallelCluster使用AWS Identity and Access Management(IAM) 角色,Amazon EC2 執行個體能夠訪問AWS服務來部署和運行叢集。默認情況下,創建集羣時會創建 Amazon EC2 的 IAM 角色。這表示建立叢集的使用者必須擁有適當層級的許可,如以下章節所述。

AWS ParallelCluster使用多個AWS服務來部署和操作羣集。查看完整列表,請參閲AWS中所用的服務AWSParallelCluster (p. 325)區段。

主題• 集羣創建的默認設置 (p. 207)• 使用 Amazon EC2 的現有 IAM 角色 (p. 207)• AWS ParallelCluster示例實例和用户策略 (p. 207)

206

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

集羣創建的默認設置當您使用默認設定來建立叢集時,叢集會建立 Amazon EC2 的 IAM 角色。建立叢集的使用者必須具有正確的許可層級,才能建立啟動叢集所需的所有資源。這包括 Amazon EC2 的 IAM 角色。通常,IAM 使用者必須擁有AdministratorAccess受管政策。如需受管政策的詳細資訊,請參AWS受管政策中的IAM User Guide。

使用 Amazon EC2 的現有 IAM 角色建立叢集時,您可以使用 Amazon EC2 的現有 IAM 角色,但首先必須先定義 IAM 政策和角色,然後再嘗試啟動叢集。通常情況下,您可以選擇 Amazon EC2 的現有 IAM 角色,以減少使用者啟動叢集時授予的許可。以下範例顯示 Amazon EC2 和AWS ParallelCluster。您必須在 IAM 中將政策和角色建立為個別政策,再連接到適當的資源。在策略中,將<REGION>、<AWS區區 ID >,以及具有適當值的類似字串。

AWS ParallelCluster示例實例和用户策略以下範例包含資源的 Amazon Resource Name (ARN)。如果您使用的是AWS GovCloud (US)或者AWS中國分區,ARN 必須改變。具體而言,它們必須從「arn: aws」更改為「arn:aws-us-gov「用於AWSGovCloud (US)分區或「arn: aws-cn」AWS中國的劃分。如需詳細資訊,請參閱「」卓越亞馬遜資源名稱(ARN)AWS GovCloud (US)區域中的AWS GovCloud (US)使用者指南和適用於 的 ARNAWS中國的服務在入門AWS中國的服務。

主題• ParallelClusterInstancePolicy運用SGE、Slurm, 或Torque (p. 207)• ParallelClusterInstancePolicy 使用 awsbatch (p. 213)• ParallelClusterUserPolicy 使用 Slurm (p. 215)• ParallelClusterUserPolicy運用SGE或者Torque (p. 220)• ParallelClusterUserPolicy 使用 awsbatch (p. 226)• ParallelClusterLambdaPolicy運用SGE、Slurm, 或Torque (p. 231)• ParallelClusterLambdaPolicy 使用 awsbatch (p. 232)• ParallelClusterUserPolicy適用於用户 (p. 233)

ParallelClusterInstancePolicy運用SGE、Slurm, 或TorqueNote

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。您可以繼續在包括 2.11.4 的版本中使用它們,但它們不符合以後的更新或故障排除支持的資格AWS和服務AWSSupport 團隊。

主題• ParallelClusterInstancePolicy 使用 Slurm (p. 207)• ParallelClusterInstancePolicy運用SGE或者Torque (p. 210)

ParallelClusterInstancePolicy 使用 Slurm

下列範例將ParallelClusterInstancePolicy運用Slurm作為調度器。

{ "Version": "2012-10-17", "Statement": [ { "Action": [

207

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"ec2:DescribeVolumes", "ec2:AttachVolume", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstanceStatus", "ec2:DescribeInstanceTypes", "ec2:DescribeInstances", "ec2:DescribeRegions", "ec2:TerminateInstances", "ec2:DescribeLaunchTemplates", "ec2:CreateTags" ], "Resource": [ "*" ], "Effect": "Allow", "Sid": "EC2" }, { "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:subnet/<COMPUTE SUBNET ID>", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:network-interface/*", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:instance/*", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:volume/*", "arn:aws:ec2:<REGION>::image/<IMAGE ID>", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:key-pair/<KEY NAME>", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:security-group/*", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:launch-template/*", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:placement-group/*" ], "Effect": "Allow", "Sid": "EC2RunInstances" }, { "Action": [ "dynamodb:ListTables" ], "Resource": [ "*" ], "Effect": "Allow", "Sid": "DynamoDBList" }, { "Action": [ "cloudformation:DescribeStacks", "cloudformation:DescribeStackResource", "cloudformation:SignalResource" ], "Resource": [ "arn:aws:cloudformation:<REGION>:<AWS ACCOUNT ID>:stack/parallelcluster-*/*" ], "Effect": "Allow", "Sid": "CloudFormation" }, { "Action": [ "dynamodb:PutItem", "dynamodb:Query", "dynamodb:GetItem", "dynamodb:BatchWriteItem", "dynamodb:DeleteItem", "dynamodb:DescribeTable" ], "Resource": [

208

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"arn:aws:dynamodb:<REGION>:<AWS ACCOUNT ID>:table/parallelcluster-*" ], "Effect": "Allow", "Sid": "DynamoDBTable" }, { "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::<REGION>-aws-parallelcluster/*" ], "Effect": "Allow", "Sid": "S3GetObj" }, { "Action": [ "iam:PassRole" ], "Resource": [ "*" ], "Effect": "Allow", "Sid": "IAMPassRole", "Condition": { "StringEquals": { "iam:PassedToService": [ "ec2.amazonaws.com" ] } } }, { "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::dcv-license.<REGION>/*" ], "Effect": "Allow", "Sid": "DcvLicense" }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::parallelcluster-*/*" ], "Effect": "Allow", "Sid": "GetClusterConfig" }, { "Action": [ "fsx:DescribeFileSystems" ], "Resource": [ "*" ], "Effect": "Allow", "Sid": "FSx" }, { "Action": [ "logs:CreateLogStream",

209

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"logs:PutLogEvents" ], "Resource": [ "*" ], "Effect": "Allow", "Sid": "CWLogs" }, { "Action": [ "route53:ChangeResourceRecordSets" ], "Resource": [ "arn:aws:route53:::hostedzone/*" ], "Effect": "Allow", "Sid": "Route53" } ]}

ParallelClusterInstancePolicy運用SGE或者Torque

下列範例將ParallelClusterInstancePolicy運用SGE或者Torque作為調度器。

Note

此政策僅適用於AWS ParallelCluster2.11.4 版。從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:DescribeVolumes", "ec2:AttachVolume", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstanceStatus", "ec2:DescribeInstanceTypes", "ec2:DescribeInstances", "ec2:DescribeRegions", "ec2:TerminateInstances", "ec2:DescribeLaunchTemplates", "ec2:CreateTags" ], "Resource": [ "*" ], "Effect": "Allow", "Sid": "EC2" }, { "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:subnet/<COMPUTE SUBNET ID>", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:network-interface/*", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:instance/*", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:volume/*", "arn:aws:ec2:<REGION>::image/<IMAGE ID>", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:key-pair/<KEY NAME>", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:security-group/*", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:launch-template/*", "arn:aws:ec2:<REGION>:<AWS ACCOUNT ID>:placement-group/*"

210

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

], "Effect": "Allow", "Sid": "EC2RunInstances" }, { "Action": [ "dynamodb:ListTables" ], "Resource": [ "*" ], "Effect": "Allow", "Sid": "DynamoDBList" }, { "Action": [ "sqs:SendMessage", "sqs:ReceiveMessage", "sqs:ChangeMessageVisibility", "sqs:DeleteMessage", "sqs:GetQueueUrl" ], "Resource": [ "arn:aws:sqs:<REGION>:<AWS ACCOUNT ID>:parallelcluster-*" ], "Effect": "Allow", "Sid": "SQSQueue" }, { "Action": [ "autoscaling:DescribeAutoScalingGroups", "autoscaling:TerminateInstanceInAutoScalingGroup", "autoscaling:SetDesiredCapacity", "autoscaling:UpdateAutoScalingGroup", "autoscaling:DescribeTags", "autoscaling:SetInstanceHealth" ], "Resource": [ "*" ], "Effect": "Allow", "Sid": "Autoscaling" }, { "Action": [ "cloudformation:DescribeStacks", "cloudformation:DescribeStackResource", "cloudformation:SignalResource" ], "Resource": [ "arn:aws:cloudformation:<REGION>:<AWS ACCOUNT ID>:stack/parallelcluster-*/*" ], "Effect": "Allow", "Sid": "CloudFormation" }, { "Action": [ "dynamodb:PutItem", "dynamodb:Query", "dynamodb:GetItem", "dynamodb:BatchWriteItem", "dynamodb:DeleteItem", "dynamodb:DescribeTable" ], "Resource": [

211

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"arn:aws:dynamodb:<REGION>:<AWS ACCOUNT ID>:table/parallelcluster-*" ], "Effect": "Allow", "Sid": "DynamoDBTable" }, { "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::<REGION>-aws-parallelcluster/*" ], "Effect": "Allow", "Sid": "S3GetObj" }, { "Action": [ "sqs:ListQueues" ], "Resource": [ "*" ], "Effect": "Allow", "Sid": "SQSList" }, { "Action": [ "iam:PassRole" ], "Resource": [ "*" ], "Effect": "Allow", "Sid": "IAMPassRole", "Condition": { "StringEquals": { "iam:PassedToService": [ "ec2.amazonaws.com" ] } } }, { "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::dcv-license.<REGION>/*" ], "Effect": "Allow", "Sid": "DcvLicense" }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::parallelcluster-*/*" ], "Effect": "Allow", "Sid": "GetClusterConfig" }, { "Action": [ "fsx:DescribeFileSystems"

212

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

], "Resource": [ "*" ], "Effect": "Allow", "Sid": "FSx" }, { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "*" ], "Effect": "Allow", "Sid": "CWLogs" }, { "Action": [ "route53:ChangeResourceRecordSets" ], "Resource": [ "arn:aws:route53:::hostedzone/*" ], "Effect": "Allow", "Sid": "Route53" } ]}

ParallelClusterInstancePolicy 使用 awsbatch下列範例將ParallelClusterInstancePolicy運用awsbatch作為調度程序。您必須包含指派給 BatchUserRole (在 AWS Batch AWS CloudFormation 巢狀堆疊中定義) 的相同政策。BatchUserRole ARN 是以堆疊輸出形式提供。在此範例中,」<RESOURCES S3 BUCKET>」是cluster_resource_bucket (p. 274)設置;如果cluster_resource_bucket (p. 274),則未指定」<RESOURCES S3 BUCKET>」是「並行羣集 *」。下列範例概述必要許可:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "batch:RegisterJobDefinition", "logs:GetLogEvents" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Action": [ "batch:SubmitJob", "cloudformation:DescribeStacks", "ecs:ListContainerInstances", "ecs:DescribeContainerInstances", "logs:FilterLogEvents", "s3:PutObject", "s3:Get*", "s3:DeleteObject", "iam:PassRole" ],

213

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"Resource": [ "arn:aws:batch:<REGION>:<AWS ACCOUNT ID>:job-definition/<AWS_BATCH_STACK - JOB_DEFINITION_SERIAL_NAME>:1", "arn:aws:batch:<REGION>:<AWS ACCOUNT ID>:job-definition/<AWS_BATCH_STACK - JOB_DEFINITION_MNP_NAME>*", "arn:aws:batch:<REGION>:<AWS ACCOUNT ID>:job-queue/<AWS_BATCH_STACK - JOB_QUEUE_NAME>", "arn:aws:cloudformation:<REGION>:<AWS ACCOUNT ID>:stack/<STACK NAME>/*", "arn:aws:s3:::<RESOURCES S3 BUCKET>/batch/*", "arn:aws:iam::<AWS ACCOUNT ID>:role/<AWS_BATCH_STACK - JOB_ROLE>", "arn:aws:ecs:<REGION>:<AWS ACCOUNT ID>:cluster/<ECS COMPUTE ENVIRONMENT>", "arn:aws:ecs:<REGION>:<AWS ACCOUNT ID>:container-instance/*", "arn:aws:logs:<REGION>:<AWS ACCOUNT ID>:log-group:/aws/batch/job:log-stream:*" ], "Effect": "Allow" }, { "Action": [ "s3:List*" ], "Resource": [ "arn:aws:s3:::<RESOURCES S3 BUCKET>" ], "Effect": "Allow" }, { "Action": [ "batch:DescribeJobQueues", "batch:TerminateJob", "batch:DescribeJobs", "batch:CancelJob", "batch:DescribeJobDefinitions", "batch:ListJobs", "batch:DescribeComputeEnvironments" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ec2:DescribeInstances", "ec2:AttachVolume", "ec2:DescribeVolumes", "ec2:DescribeInstanceAttribute" ], "Resource": "*", "Effect": "Allow", "Sid": "EC2" }, { "Action": [ "cloudformation:DescribeStackResource", "cloudformation:SignalResource" ], "Resource": "*", "Effect": "Allow", "Sid": "CloudFormation" }, { "Action": [ "fsx:DescribeFileSystems" ], "Resource": [ "*" ],

214

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"Effect": "Allow", "Sid": "FSx" }, { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream" ], "Resource": [ "*" ], "Effect": "Allow", "Sid": "CWLogs" } ]}

ParallelClusterUserPolicy 使用 Slurm

下列範例會使用 Slurm 做為排程器來設定 ParallelClusterUserPolicy。在此範例中,」<RESOURCES S3 BUCKET>」是cluster_resource_bucket (p. 274)設置;如果cluster_resource_bucket (p. 274),則未指定」<RESOURCES S3 BUCKET>」是「並行羣集 *」。

Note

如果您使用自訂角色,ec2_iam_role (p. 279) = <role_name>,您必須將 IAM 資源變更為包含該角色的名稱,從:"Resource": "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster-*"至:"Resource": "arn:aws:iam::<AWS ACCOUNT ID>:role/<role_name>"

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:DescribeKeyPairs", "ec2:DescribeRegions", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribePlacementGroups", "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:DescribeInstanceTypes", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeSnapshots", "ec2:DescribeVolumes", "ec2:DescribeVpcAttribute", "ec2:DescribeAddresses", "ec2:CreateTags", "ec2:DescribeNetworkInterfaces", "ec2:DescribeAvailabilityZones" ], "Resource": "*", "Effect": "Allow", "Sid": "EC2Describe" }, { "Action": [ "ec2:CreateVpc", "ec2:ModifyVpcAttribute",

215

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"ec2:DescribeNatGateways", "ec2:CreateNatGateway", "ec2:DescribeInternetGateways", "ec2:CreateInternetGateway", "ec2:AttachInternetGateway", "ec2:DescribeRouteTables", "ec2:CreateRoute", "ec2:CreateRouteTable", "ec2:AssociateRouteTable", "ec2:CreateSubnet", "ec2:ModifySubnetAttribute" ], "Resource": "*", "Effect": "Allow", "Sid": "NetworkingEasyConfig" }, { "Action": [ "ec2:CreateVolume", "ec2:RunInstances", "ec2:AllocateAddress", "ec2:AssociateAddress", "ec2:AttachNetworkInterface", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateNetworkInterface", "ec2:CreateSecurityGroup", "ec2:ModifyVolumeAttribute", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DeleteNetworkInterface", "ec2:DeleteVolume", "ec2:TerminateInstances", "ec2:DeleteSecurityGroup", "ec2:DisassociateAddress", "ec2:RevokeSecurityGroupIngress", "ec2:RevokeSecurityGroupEgress", "ec2:ReleaseAddress", "ec2:CreatePlacementGroup", "ec2:DeletePlacementGroup" ], "Resource": "*", "Effect": "Allow", "Sid": "EC2Modify" }, { "Action": [ "autoscaling:CreateAutoScalingGroup", "ec2:CreateLaunchTemplate", "ec2:CreateLaunchTemplateVersion", "ec2:ModifyLaunchTemplate", "ec2:DeleteLaunchTemplate", "ec2:DescribeLaunchTemplates", "ec2:DescribeLaunchTemplateVersions" ], "Resource": "*", "Effect": "Allow", "Sid": "ScalingModify" }, { "Action": [ "dynamodb:DescribeTable", "dynamodb:ListTagsOfResource" ], "Resource": "*", "Effect": "Allow", "Sid": "DynamoDBDescribe"

216

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

}, { "Action": [ "dynamodb:CreateTable", "dynamodb:DeleteTable", "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:Query", "dynamodb:TagResource" ], "Resource": "*", "Effect": "Allow", "Sid": "DynamoDBModify" }, { "Action": [ "route53:ChangeResourceRecordSets", "route53:ChangeTagsForResource", "route53:CreateHostedZone", "route53:DeleteHostedZone", "route53:GetChange", "route53:GetHostedZone", "route53:ListResourceRecordSets", "route53:ListQueryLoggingConfigs" ], "Resource": "*", "Effect": "Allow", "Sid": "Route53HostedZones" }, { "Action": [ "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources", "cloudformation:DescribeStacks", "cloudformation:ListStacks", "cloudformation:GetTemplate" ], "Resource": "*", "Effect": "Allow", "Sid": "CloudFormationDescribe" }, { "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Effect": "Allow", "Resource": "*", "Sid": "CloudFormationModify" }, { "Action": [ "s3:*" ], "Resource": [ "arn:aws:s3:::<RESOURCES S3 BUCKET>" ], "Effect": "Allow", "Sid": "S3ResourcesBucket" }, { "Action": [ "s3:Get*", "s3:List*"

217

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

], "Resource": [ "arn:aws:s3:::<REGION>-aws-parallelcluster*" ], "Effect": "Allow", "Sid": "S3ParallelClusterReadOnly" }, { "Action": [ "s3:DeleteBucket", "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource": [ "arn:aws:s3:::<RESOURCES S3 BUCKET>" ], "Effect": "Allow", "Sid": "S3Delete" }, { "Action": [ "iam:PassRole", "iam:CreateRole", "iam:DeleteRole", "iam:GetRole", "iam:TagRole", "iam:SimulatePrincipalPolicy" ], "Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:role/<PARALLELCLUSTER EC2 ROLE NAME>", "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster-*" ], "Effect": "Allow", "Sid": "IAMModify" }, { "Condition": { "StringEquals": { "iam:AWSServiceName": [ "fsx.amazonaws.com", "s3.data-source.lustre.fsx.amazonaws.com" ] } }, "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::<AWS ACCOUNT ID>:role/aws-service-role/*", "Effect": "Allow", "Sid": "IAMServiceLinkedRole" }, { "Action": [ "iam:CreateInstanceProfile", "iam:DeleteInstanceProfile" ], "Resource": "arn:aws:iam::<AWS ACCOUNT ID>:instance-profile/*", "Effect": "Allow", "Sid": "IAMCreateInstanceProfile" }, { "Action": [ "iam:AddRoleToInstanceProfile", "iam:RemoveRoleFromInstanceProfile", "iam:GetRolePolicy", "iam:GetPolicy",

218

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:PutRolePolicy", "iam:DeleteRolePolicy" ], "Resource": "*", "Effect": "Allow", "Sid": "IAMInstanceProfile" }, { "Action": [ "elasticfilesystem:DescribeMountTargets", "elasticfilesystem:DescribeMountTargetSecurityGroups", "ec2:DescribeNetworkInterfaceAttribute" ], "Resource": "*", "Effect": "Allow", "Sid": "EFSDescribe" }, { "Action": [ "ssm:GetParametersByPath" ], "Resource": "*", "Effect": "Allow", "Sid": "SSMDescribe" }, { "Action": [ "fsx:*" ], "Resource": "*", "Effect": "Allow", "Sid": "FSx" }, { "Action": [ "elasticfilesystem:*" ], "Resource": "*", "Effect": "Allow", "Sid": "EFS" }, { "Action": [ "logs:DeleteLogGroup", "logs:PutRetentionPolicy", "logs:DescribeLogGroups", "logs:CreateLogGroup" ], "Resource": "*", "Effect": "Allow", "Sid": "CloudWatchLogs" }, { "Action": [ "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:GetFunctionConfiguration", "lambda:GetFunction", "lambda:InvokeFunction", "lambda:AddPermission", "lambda:RemovePermission" ], "Resource": [ "arn:aws:lambda:<REGION>:<AWS ACCOUNT ID>:function:parallelcluster-*",

219

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"arn:aws:lambda:<REGION>:<AWS ACCOUNT ID>:function:pcluster-*" ], "Effect": "Allow", "Sid": "Lambda" }, { "Sid": "CloudWatch", "Effect": "Allow", "Action": [ "cloudwatch:PutDashboard", "cloudwatch:ListDashboards", "cloudwatch:DeleteDashboards", "cloudwatch:GetDashboard" ], "Resource": "*" } ]}

ParallelClusterUserPolicy運用SGE或者TorqueNote

本節僅適用於AWS ParallelCluster2.11.4 版。從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

下列範例將ParallelClusterUserPolicy,使用SGE或者Torque作為調度程序。在此範例中,」<RESOURCES S3 BUCKET>」是cluster_resource_bucket (p. 274)設置;如果cluster_resource_bucket (p. 274),則未指定」<RESOURCES S3 BUCKET>」是「並行羣集 *」。

Note

如果您使用自訂角色,ec2_iam_role (p. 279) = <role_name>,您必須將 IAM 資源變更為包含該角色的名稱,從:"Resource": "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster-*"至:"Resource": "arn:aws:iam::<AWS ACCOUNT ID>:role/<role_name>"

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:DescribeKeyPairs", "ec2:DescribeRegions", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribePlacementGroups", "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:DescribeInstanceTypes", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeSnapshots", "ec2:DescribeVolumes", "ec2:DescribeVpcAttribute", "ec2:DescribeAddresses", "ec2:CreateTags", "ec2:DescribeNetworkInterfaces", "ec2:DescribeAvailabilityZones" ],

220

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"Resource": "*", "Effect": "Allow", "Sid": "EC2Describe" }, { "Action": [ "ec2:CreateVpc", "ec2:ModifyVpcAttribute", "ec2:DescribeNatGateways", "ec2:CreateNatGateway", "ec2:DescribeInternetGateways", "ec2:CreateInternetGateway", "ec2:AttachInternetGateway", "ec2:DescribeRouteTables", "ec2:CreateRoute", "ec2:CreateRouteTable", "ec2:AssociateRouteTable", "ec2:CreateSubnet", "ec2:ModifySubnetAttribute" ], "Resource": "*", "Effect": "Allow", "Sid": "NetworkingEasyConfig" }, { "Action": [ "ec2:CreateVolume", "ec2:RunInstances", "ec2:AllocateAddress", "ec2:AssociateAddress", "ec2:AttachNetworkInterface", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateNetworkInterface", "ec2:CreateSecurityGroup", "ec2:ModifyVolumeAttribute", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DeleteNetworkInterface", "ec2:DeleteVolume", "ec2:TerminateInstances", "ec2:DeleteSecurityGroup", "ec2:DisassociateAddress", "ec2:RevokeSecurityGroupIngress", "ec2:RevokeSecurityGroupEgress", "ec2:ReleaseAddress", "ec2:CreatePlacementGroup", "ec2:DeletePlacementGroup" ], "Resource": "*", "Effect": "Allow", "Sid": "EC2Modify" }, { "Action": [ "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances" ], "Resource": "*", "Effect": "Allow", "Sid": "AutoScalingDescribe" }, { "Action": [ "autoscaling:CreateAutoScalingGroup", "ec2:CreateLaunchTemplate", "ec2:CreateLaunchTemplateVersion",

221

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"ec2:ModifyLaunchTemplate", "ec2:DeleteLaunchTemplate", "ec2:DescribeLaunchTemplates", "ec2:DescribeLaunchTemplateVersions", "autoscaling:PutNotificationConfiguration", "autoscaling:UpdateAutoScalingGroup", "autoscaling:PutScalingPolicy", "autoscaling:DescribeScalingActivities", "autoscaling:DeleteAutoScalingGroup", "autoscaling:DeletePolicy", "autoscaling:DisableMetricsCollection", "autoscaling:EnableMetricsCollection" ], "Resource": "*", "Effect": "Allow", "Sid": "AutoScalingModify" }, { "Action": [ "dynamodb:DescribeTable", "dynamodb:ListTagsOfResource" ], "Resource": "*", "Effect": "Allow", "Sid": "DynamoDBDescribe" }, { "Action": [ "dynamodb:CreateTable", "dynamodb:DeleteTable", "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:Query", "dynamodb:TagResource" ], "Resource": "*", "Effect": "Allow", "Sid": "DynamoDBModify" }, { "Action": [ "sqs:GetQueueAttributes" ], "Resource": "*", "Effect": "Allow", "Sid": "SQSDescribe" }, { "Action": [ "sqs:CreateQueue", "sqs:SetQueueAttributes", "sqs:DeleteQueue", "sqs:TagQueue" ], "Resource": "*", "Effect": "Allow", "Sid": "SQSModify" }, { "Action": [ "sns:ListTopics", "sns:GetTopicAttributes" ], "Resource": "*", "Effect": "Allow", "Sid": "SNSDescribe"

222

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

}, { "Action": [ "sns:CreateTopic", "sns:Subscribe", "sns:Unsubscribe", "sns:DeleteTopic" ], "Resource": "*", "Effect": "Allow", "Sid": "SNSModify" }, { "Action": [ "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources", "cloudformation:DescribeStacks", "cloudformation:ListStacks", "cloudformation:GetTemplate" ], "Resource": "*", "Effect": "Allow", "Sid": "CloudFormationDescribe" }, { "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Effect": "Allow", "Resource": "*", "Sid": "CloudFormationModify" }, { "Action": [ "s3:*" ], "Resource": [ "arn:aws:s3:::<RESOURCES S3 BUCKET>" ], "Effect": "Allow", "Sid": "S3ResourcesBucket" }, { "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::<REGION>-aws-parallelcluster*" ], "Effect": "Allow", "Sid": "S3ParallelClusterReadOnly" }, { "Action": [ "s3:DeleteBucket", "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource": [ "arn:aws:s3:::<RESOURCES S3 BUCKET>" ], "Effect": "Allow",

223

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"Sid": "S3Delete" }, { "Action": [ "iam:PassRole", "iam:CreateRole", "iam:DeleteRole", "iam:GetRole", "iam:TagRole", "iam:SimulatePrincipalPolicy" ], "Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:role/<PARALLELCLUSTER EC2 ROLE NAME>", "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster-*" ], "Effect": "Allow", "Sid": "IAMModify" }, { "Condition": { "StringEquals": { "iam:AWSServiceName": [ "fsx.amazonaws.com", "s3.data-source.lustre.fsx.amazonaws.com" ] } }, "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::<AWS ACCOUNT ID>:role/aws-service-role/*", "Effect": "Allow", "Sid": "IAMServiceLinkedRole" }, { "Action": [ "iam:CreateInstanceProfile", "iam:DeleteInstanceProfile" ], "Resource": "arn:aws:iam::<AWS ACCOUNT ID>:instance-profile/*", "Effect": "Allow", "Sid": "IAMCreateInstanceProfile" }, { "Action": [ "iam:AddRoleToInstanceProfile", "iam:RemoveRoleFromInstanceProfile", "iam:GetRolePolicy", "iam:GetPolicy", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:PutRolePolicy", "iam:DeleteRolePolicy" ], "Resource": "*", "Effect": "Allow", "Sid": "IAMInstanceProfile" }, { "Action": [ "elasticfilesystem:DescribeMountTargets", "elasticfilesystem:DescribeMountTargetSecurityGroups", "ec2:DescribeNetworkInterfaceAttribute" ], "Resource": "*", "Effect": "Allow",

224

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"Sid": "EFSDescribe" }, { "Action": [ "ssm:GetParametersByPath" ], "Resource": "*", "Effect": "Allow", "Sid": "SSMDescribe" }, { "Action": [ "fsx:*" ], "Resource": "*", "Effect": "Allow", "Sid": "FSx" }, { "Action": [ "elasticfilesystem:*" ], "Resource": "*", "Effect": "Allow", "Sid": "EFS" }, { "Action": [ "logs:DeleteLogGroup", "logs:PutRetentionPolicy", "logs:DescribeLogGroups", "logs:CreateLogGroup" ], "Resource": "*", "Effect": "Allow", "Sid": "CloudWatchLogs" }, { "Action": [ "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:GetFunctionConfiguration", "lambda:GetFunction", "lambda:InvokeFunction", "lambda:AddPermission", "lambda:RemovePermission" ], "Resource": [ "arn:aws:lambda:<REGION>:<AWS ACCOUNT ID>:function:parallelcluster-*", "arn:aws:lambda:<REGION>:<AWS ACCOUNT ID>:function:pcluster-*" ], "Effect": "Allow", "Sid": "Lambda" }, { "Sid": "CloudWatch", "Effect": "Allow", "Action": [ "cloudwatch:PutDashboard", "cloudwatch:ListDashboards", "cloudwatch:DeleteDashboards", "cloudwatch:GetDashboard" ], "Resource": "*" } ]

225

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

}

ParallelClusterUserPolicy 使用 awsbatch下列範例將ParallelClusterUserPolicy運用awsbatch作為調度程序。在此範例中,」<RESOURCES S3 BUCKET>」是cluster_resource_bucket (p. 274)設置;如果cluster_resource_bucket (p. 274),則未指定」<RESOURCES S3 BUCKET>」是「並行羣集 *」。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:DescribeKeyPairs", "ec2:DescribeRegions", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribePlacementGroups", "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:DescribeInstanceTypes", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeSnapshots", "ec2:DescribeVolumes", "ec2:DescribeVpcAttribute", "ec2:DescribeAddresses", "ec2:CreateTags", "ec2:DescribeNetworkInterfaces", "ec2:DescribeAvailabilityZones" ], "Resource": "*", "Effect": "Allow", "Sid": "EC2Describe" }, { "Action": [ "ec2:CreateLaunchTemplate", "ec2:CreateLaunchTemplateVersion", "ec2:ModifyLaunchTemplate", "ec2:DeleteLaunchTemplate", "ec2:DescribeLaunchTemplates", "ec2:DescribeLaunchTemplateVersions" ], "Resource": "*", "Effect": "Allow", "Sid": "EC2LaunchTemplate" }, { "Action": [ "ec2:CreateVpc", "ec2:ModifyVpcAttribute", "ec2:DescribeNatGateways", "ec2:CreateNatGateway", "ec2:DescribeInternetGateways", "ec2:CreateInternetGateway", "ec2:AttachInternetGateway", "ec2:DescribeRouteTables", "ec2:CreateRoute", "ec2:CreateRouteTable", "ec2:AssociateRouteTable", "ec2:CreateSubnet", "ec2:ModifySubnetAttribute"

226

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

], "Resource": "*", "Effect": "Allow", "Sid": "NetworkingEasyConfig" }, { "Action": [ "ec2:CreateVolume", "ec2:RunInstances", "ec2:AllocateAddress", "ec2:AssociateAddress", "ec2:AttachNetworkInterface", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateNetworkInterface", "ec2:CreateSecurityGroup", "ec2:ModifyVolumeAttribute", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DeleteNetworkInterface", "ec2:DeleteVolume", "ec2:TerminateInstances", "ec2:DeleteSecurityGroup", "ec2:DisassociateAddress", "ec2:RevokeSecurityGroupIngress", "ec2:RevokeSecurityGroupEgress", "ec2:ReleaseAddress", "ec2:CreatePlacementGroup", "ec2:DeletePlacementGroup" ], "Resource": "*", "Effect": "Allow", "Sid": "EC2Modify" }, { "Action": [ "dynamodb:DescribeTable", "dynamodb:CreateTable", "dynamodb:DeleteTable", "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:Query", "dynamodb:TagResource" ], "Resource": "arn:aws:dynamodb:<REGION>:<AWS ACCOUNT ID>:table/parallelcluster-*", "Effect": "Allow", "Sid": "DynamoDB" }, { "Action": [ "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources", "cloudformation:DescribeStacks", "cloudformation:ListStacks", "cloudformation:GetTemplate", "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource": "arn:aws:cloudformation:<REGION>:<AWS ACCOUNT ID>:stack/parallelcluster-*", "Effect": "Allow", "Sid": "CloudFormation" }, {

227

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"Action": [ "route53:ChangeResourceRecordSets", "route53:ChangeTagsForResource", "route53:CreateHostedZone", "route53:DeleteHostedZone", "route53:GetChange", "route53:GetHostedZone", "route53:ListResourceRecordSets" ], "Resource": "arn:aws:route53:::hostedzone/*", "Effect": "Allow", "Sid": "Route53HostedZones" }, { "Action": [ "sqs:GetQueueAttributes", "sqs:CreateQueue", "sqs:SetQueueAttributes", "sqs:DeleteQueue", "sqs:TagQueue" ], "Resource": "*", "Effect": "Allow", "Sid": "SQS" }, { "Action": [ "sqs:SendMessage", "sqs:ReceiveMessage", "sqs:ChangeMessageVisibility", "sqs:DeleteMessage", "sqs:GetQueueUrl" ], "Resource": "arn:aws:sqs:<REGION>:<AWS ACCOUNT ID>:parallelcluster-*", "Effect": "Allow", "Sid": "SQSQueue" }, { "Action": [ "sns:ListTopics", "sns:GetTopicAttributes", "sns:CreateTopic", "sns:Subscribe", "sns:Unsubscribe", "sns:DeleteTopic" ], "Resource": "*", "Effect": "Allow", "Sid": "SNS" }, { "Action": [ "iam:PassRole", "iam:CreateRole", "iam:DeleteRole", "iam:GetRole", "iam:TagRole", "iam:SimulatePrincipalPolicy" ], "Resource": [ "arn:aws:iam::<AWS ACCOUNT ID>:role/parallelcluster-*", "arn:aws:iam::<AWS ACCOUNT ID>:role/<PARALLELCLUSTER EC2 ROLE NAME>" ], "Effect": "Allow", "Sid": "IAMRole" },

228

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

{ "Action": [ "iam:CreateInstanceProfile", "iam:DeleteInstanceProfile", "iam:GetInstanceProfile", "iam:PassRole" ], "Resource": "arn:aws:iam::<AWS ACCOUNT ID>:instance-profile/*", "Effect": "Allow", "Sid": "IAMInstanceProfile" }, { "Action": [ "iam:AddRoleToInstanceProfile", "iam:RemoveRoleFromInstanceProfile", "iam:GetRolePolicy", "iam:PutRolePolicy", "iam:DeleteRolePolicy", "iam:GetPolicy", "iam:AttachRolePolicy", "iam:DetachRolePolicy" ], "Resource": "*", "Effect": "Allow", "Sid": "IAM" }, { "Action": [ "s3:*" ], "Resource": [ "arn:aws:s3:::<RESOURCES S3 BUCKET>" ], "Effect": "Allow", "Sid": "S3ResourcesBucket" }, { "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::<REGION>-aws-parallelcluster/*" ], "Effect": "Allow", "Sid": "S3ParallelClusterReadOnly" }, { "Action": [ "s3:DeleteBucket", "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource": [ "arn:aws:s3:::<RESOURCES S3 BUCKET>" ], "Effect": "Allow", "Sid": "S3Delete" }, { "Action": [ "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:GetFunction", "lambda:GetFunctionConfiguration", "lambda:InvokeFunction",

229

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"lambda:AddPermission", "lambda:RemovePermission" ], "Resource": [ "arn:aws:lambda:<REGION>:<AWS ACCOUNT ID>:function:parallelcluster-*", "arn:aws:lambda:<REGION>:<AWS ACCOUNT ID>:function:pcluster-*" ], "Effect": "Allow", "Sid": "Lambda" }, { "Action": [ "logs:*" ], "Resource": "arn:aws:logs:<REGION>:<AWS ACCOUNT ID>:*", "Effect": "Allow", "Sid": "Logs" }, { "Action": [ "codebuild:*" ], "Resource": "arn:aws:codebuild:<REGION>:<AWS ACCOUNT ID>:project/parallelcluster-*", "Effect": "Allow", "Sid": "CodeBuild" }, { "Action": [ "ecr:*" ], "Resource": "*", "Effect": "Allow", "Sid": "ECR" }, { "Action": [ "batch:*" ], "Resource": "*", "Effect": "Allow", "Sid": "Batch" }, { "Action": [ "events:*" ], "Effect": "Allow", "Resource": "*", "Sid": "AmazonCloudWatchEvents" }, { "Action": [ "ecs:DescribeContainerInstances", "ecs:ListContainerInstances" ], "Resource": "*", "Effect": "Allow", "Sid": "ECS" }, { "Action": [ "elasticfilesystem:CreateFileSystem", "elasticfilesystem:CreateMountTarget", "elasticfilesystem:DeleteFileSystem", "elasticfilesystem:DeleteMountTarget",

230

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DescribeMountTargets" ], "Resource": "*", "Effect": "Allow", "Sid": "EFS" }, { "Action": [ "fsx:*" ], "Resource": "*", "Effect": "Allow", "Sid": "FSx" }, { "Sid": "CloudWatch", "Effect": "Allow", "Action": [ "cloudwatch:PutDashboard", "cloudwatch:ListDashboards", "cloudwatch:DeleteDashboards", "cloudwatch:GetDashboard" ], "Resource": "*" } ]}

ParallelClusterLambdaPolicy運用SGE、Slurm, 或Torque

下列範例會使用 SGE、Slurm 或 Torque 做為排程器來設定 ParallelClusterLambdaPolicy。

Note

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*", "Effect": "Allow", "Sid": "CloudWatchLogsPolicy" }, { "Action": [ "s3:DeleteBucket", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:ListBucket", "s3:ListBucketVersions" ], "Resource": [ "arn:aws:s3:::*" ], "Effect": "Allow", "Sid": "S3BucketPolicy" }, {

231

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"Action": [ "ec2:DescribeInstances" ], "Resource": "*", "Effect": "Allow", "Sid": "DescribeInstances" }, { "Action": [ "ec2:TerminateInstances" ], "Resource": "*", "Effect": "Allow", "Sid": "FleetTerminatePolicy" }, { "Action": [ "dynamodb:GetItem", "dynamodb:PutItem" ], "Resource": "arn:aws:dynamodb:<REGION>:<AWS ACCOUNT ID>:table/parallelcluster-*", "Effect": "Allow", "Sid": "DynamoDBTable" }, { "Action": [ "route53:ListResourceRecordSets", "route53:ChangeResourceRecordSets" ], "Resource": [ "arn:aws:route53:::hostedzone/*" ], "Effect": "Allow", "Sid": "Route53DeletePolicy" } ]}

ParallelClusterLambdaPolicy 使用 awsbatch

下列範例將ParallelClusterLambdaPolicy運用awsbatch作為調度程序。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Effect": "Allow", "Resource": "arn:aws:logs:*:*:*", "Sid": "CloudWatchLogsPolicy" }, { "Action": [ "ecr:BatchDeleteImage", "ecr:ListImages" ], "Effect": "Allow", "Resource": "*", "Sid": "ECRPolicy" }, {

232

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS Identity and Access

Management角色AWS ParallelCluster

"Action": [ "codebuild:BatchGetBuilds", "codebuild:StartBuild" ], "Effect": "Allow", "Resource": "*", "Sid": "CodeBuildPolicy" }, { "Action": [ "s3:DeleteBucket", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:ListBucket", "s3:ListBucketVersions" ], "Effect": "Allow", "Resource": "*", "Sid": "S3BucketPolicy" } ]}

ParallelClusterUserPolicy適用於用户

下列範例將ParallelClusterUserPolicy適用於不需要建立或更新叢集的用户。以下命令受支援。

• pcluster dcv (p. 260)• pcluster instances (p. 263)• pcluster list (p. 263)• pcluster ssh (p. 264)• pcluster start (p. 265)• pcluster status (p. 265)• pcluster stop (p. 266)• pcluster version (p. 267)

{ "Version": "2012-10-17", "Statement": [ { "Sid": "MinimumModify", "Action": [ "autoscaling:UpdateAutoScalingGroup", "batch:UpdateComputeEnvironment", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResources", "cloudformation:GetTemplate", "dynamodb:GetItem", "dynamodb:PutItem" ], "Effect": "Allow", "Resource": [ "arn:aws:autoscaling:<REGION>:<AWS ACCOUNT ID>:autoScalingGroup:*:autoScalingGroupName/parallelcluster-*", "arn:aws:batch:<REGION>:<AWS ACCOUNT ID>:compute-environment/*", "arn:aws:cloudformation:<REGION>:<AWS ACCOUNT ID>:stack/<CLUSTERNAME>/*", "arn:aws:dynamodb:<REGION>:<AWS ACCOUNT ID>:table/<CLUSTERNAME>" ] }, {

233

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

"Sid": "Describe", "Action": [ "cloudformation:DescribeStacks", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus" ], "Effect": "Allow", "Resource": "*" } ]}

AWS ParallelCluster 支援的排程器AWS ParallelCluster 支援數個排程器,使用 scheduler (p. 287) 設定進行設定。

Note

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。您可以繼續在包括 2.11.4 的版本中使用它們,但它們不符合以後的更新或故障排除支持的資格AWS和服務AWSSupport 團隊。

主題• Son of Grid Engine (sge) (p. 234)• Slurm Workload Manager (slurm) (p. 234)• Torque Resource Manager (torque) (p. 240)• AWS Batch (awsbatch) (p. 241)

Son of Grid Engine (sge)Note

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。您可以繼續在包括 2.11.4 的版本中使用它們,但它們不符合以後的更新或故障排除支持的資格AWS和服務AWSSupport 團隊。

AWS ParallelCluster2.11.4 和更早版Son of Grid Engine8.1.9。

Slurm Workload Manager (slurm)AWS ParallelCluster2.11.4 版使用Slurm二零一八 如需 Slurm 的資訊,請參閱《https://slurm.schedmd.com/》。如需下載,請參閱 https://www.schedmd.com/downloads.php。如需來源碼,請參閱「https://github.com/SchedMD/slurm」。

Important

AWS ParallelCluster測試Slurm配置參數,默認情況下提供這些參數。您對這些Slurm配置參數由您自行承擔風險。它們只能在盡可能基礎上得到支援。

AWS ParallelCluster2.11.0 和 2.11.3 之間的版Slurm二零一七AWS ParallelCluster2.10.4 版使用Slurm20.02.7.AWS ParallelCluster2.9.0 和 2.10.3 之間的版Slurm20.02.4.AWS ParallelCluster2.6 和 2.8.1之間的版Slurm19.05.5。AWS ParallelCluster2.5.0 和 2.5.1 版Slurm19.05.3-2。AWS ParallelCluster2.3.1和 2.4.1 之間的版Slurm 18.08.6-2. AWS ParallelCluster2.3.1 之前的版本使用Slurm16.05.3-1.

Slurm多隊列模式的指南

AWS ParallelCluster2.9.0 版引入多個隊列模式和新的擴展體繫結構Slurm Workload Manager(Slurm。

234

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

以下各節會概述如何使用Slurm羣集與新引入的擴展體繫結構。

概觀

新的擴展體繫結構基於Slurm的雲計劃指南和省電插件。如需節能插件的詳細資訊,請參Slurm節能指南。在新體繫結構中,可能為羣集提供的資源通常在Slurm配置為雲節點。

雲節點生命週期

雲節點在整個生命週期中輸入以下幾種狀態(如果不是全部):POWER_SAVING、POWER_UP(pow_up),ALLOCATED(alloc)和POWER_DOWN(pow_dn。在某些情況下,雲節點可能會進入OFFLINE狀態。下面的列表詳細介紹了雲節點生命週期中這些狀態的幾個方面。

• 中的節點POWER_SAVING狀態顯示為~後綴(例如idle~) 在sinfo。在此狀態下,沒有 EC2 實例支持該節點。但是,Slurm仍然可以將作業分配給節點。

• 一個節點轉換為POWER_UP狀態顯示為#後綴(例如idle#) 在sinfo。• 時機Slurm將作業分配給POWER_SAVING狀態時,節點會自動傳輸到POWER_UP狀態。否則,節點可以放置

在POWER_UP狀態手動使用scontrol update nodename=nodename state=power_up命令。在這個階段,ResumeProgram,並啟動並配置 EC2 實例以備份POWER_UP節點。

• 顯示當前可用的節點沒有任何後綴(例如idle) 在sinfo。在節點設置並加入羣集後,該節點就可以運行作業。在此階段,節點已正確配置並可供使用。作為一般規則,我們建議 EC2 中的實例數量與可用節點的數量相同。在大多數情況下,靜態節點在創建羣集後始終可用。

• 正在轉換為POWER_DOWN狀態顯示為%後綴(例如idle%) 在sinfo。動態節點會自動輸入POWER_DOWN狀態後scaledown_idletime (p. 315)。相比之下,在大多數情況下,靜態節點不會關閉電源。但是,節點可以放置在POWER_DOWN狀態手動使用scontrol update nodename=nodenamestate=powering_down命令。在此狀態下,與節點關聯的實例將終止,並且節點將重置回POWER_SAVING狀態到將來使用scaledown_idletime (p. 315)。所以此scaledown-idletime設置將保存到Slurm設定為SuspendTimeout設定。

• 脱機的節點將顯示為*後綴(例如down*) 在sinfo。節點將脱機,如果Slurm控制器無法聯繫該節點,或者如果靜態節點被禁用並終止後備實例。

現在考慮下面的節點狀態sinfo範例。

$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTefa up infinite 4 idle~ efa-dy-c5n18xlarge-[1-4]efa up infinite 1 idle efa-st-c5n18xlarge-1gpu up infinite 1 idle% gpu-dy-g38xlarge-1gpu up infinite 9 idle~ gpu-dy-g38xlarge-[2-10]ondemand up infinite 2 mix# ondemand-dy-c52xlarge-[1-2]ondemand up infinite 18 idle~ ondemand-dy-c52xlarge-[3-10],ondemand-dy-t2xlarge-[1-10]spot* up infinite 13 idle~ spot-dy-c5xlarge-[1-10],spot-dy-t2large-[1-3]spot* up infinite 2 idle spot-st-t2large-[1-2]

所以此spot-st-t2large-[1-2]和efa-st-c5n18xlarge-1節點已經設置了備份實例,可供使用。所以此ondemand-dy-c52xlarge-[1-2]節點位於POWER_UP狀態,而且它們應該在幾分鐘內可用。所以此gpu-dy-g38xlarge-1節點位於POWER_DOWN狀態,它將轉換為POWER_SAVING狀態後scaledown_idletime (p. 315)(默認值為 120 秒)。

所有其他節點都位於POWER_SAVING狀態,沒有 EC2 實例支持它們。

使用可用節點

可用節點由 EC2 執行個體支援。默認情況下,節點名稱可用於直接 SSH 到實例中(例如ssh efa-st-c5n18xlarge-1。您可以使用scontrol show nodes nodename命令並檢查NodeAddr欄位。對於無法使用的節點,NodeAddr字段不應指向正在運行的 EC2 實例。相反,它應該與節點名稱相同。

235

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

Job 狀態和提交

在大多數情況下提交的作業會立即分配給系統中的節點,如果所有節點都已分配,則將其置於待定狀態。

如果為作業分配的節點包含POWER_SAVING狀態時,作業以CF, 或CONFIGURING狀態。此時,作業將等待POWER_SAVING狀態轉換為POWER_UP狀態並變為可用。

在為作業分配的所有節點都可用後,作業將進入RUNNING(R狀態。

默認情況下,所有作業都會提交到默認隊列(Slurm。這是由一個*後綴在隊列名稱之後。您可以使用-p作業提交選項。

所有節點都配置了以下功能,這些功能可用於作業提交命令:

• 實例類型(例如c5.xlarge)• 節點類型(這是dynamic或者static。)

您可以使用特定節點可用的所有功能,方法是使用scontrol show nodes nodename命令並檢查AvailableFeatures列表。

另一個考慮因素是工作。首先考慮羣集的初始狀態,您可以通過運行sinfo命令。

$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTefa up infinite 4 idle~ efa-dy-c5n18xlarge-[1-4]efa up infinite 1 idle efa-st-c5n18xlarge-1gpu up infinite 10 idle~ gpu-dy-g38xlarge-[1-10]ondemand up infinite 20 idle~ ondemand-dy-c52xlarge-[1-10],ondemand-dy-t2xlarge-[1-10]spot* up infinite 13 idle~ spot-dy-c5xlarge-[1-10],spot-dy-t2large-[1-3]spot* up infinite 2 idle spot-st-t2large-[1-2]

請注意:spot為預設隊列。它由*後置詞。

將作業提交到一個靜態節點到默認隊列(spot。

$ sbatch --wrap "sleep 300" -N 1 -C static

將作業提交到一個動態節點到EFAqueue.

$ sbatch --wrap "sleep 300" -p efa -C dynamic

將作業提交給八 (8)c5.2xlarge節點和兩個 (2)t2.xlarge節點添加到ondemandqueue.

$ sbatch --wrap "sleep 300" -p ondemand -N 10 -C "[c5.2xlarge*8&t2.xlarge*2]"

將作業提交到一個 GPU 節點到gpuqueue.

$ sbatch --wrap "sleep 300" -p gpu -G 1

現在,請考慮使用squeue命令。

$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 12 ondemand wrap ubuntu CF 0:36 10 ondemand-dy-c52xlarge-[1-8],ondemand-dy-t2xlarge-[1-2] 13 gpu wrap ubuntu CF 0:05 1 gpu-dy-g38xlarge-1

236

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

7 spot wrap ubuntu R 2:48 1 spot-st-t2large-1 8 efa wrap ubuntu R 0:39 1 efa-dy-c5n18xlarge-1

工作 7 和 8(在spot和efa隊列)已在運行中(R。作業 12 和 13 仍在配置(CF),可能等待實例變為可用。

# Nodes states corresponds to state of running jobs$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTefa up infinite 3 idle~ efa-dy-c5n18xlarge-[2-4]efa up infinite 1 mix efa-dy-c5n18xlarge-1efa up infinite 1 idle efa-st-c5n18xlarge-1gpu up infinite 1 mix~ gpu-dy-g38xlarge-1gpu up infinite 9 idle~ gpu-dy-g38xlarge-[2-10]ondemand up infinite 10 mix# ondemand-dy-c52xlarge-[1-8],ondemand-dy-t2xlarge-[1-2]ondemand up infinite 10 idle~ ondemand-dy-c52xlarge-[9-10],ondemand-dy-t2xlarge-[3-10]spot* up infinite 13 idle~ spot-dy-c5xlarge-[1-10],spot-dy-t2large-[1-3]spot* up infinite 1 mix spot-st-t2large-1spot* up infinite 1 idle spot-st-t2large-2

節點狀態和功能

在大多數情況下,節點狀態完全由AWS ParallelCluster根據本主題前面介紹的雲節點生命週期中的特定進程。

但是,AWS ParallelCluster也會替換或終止DOWN和DRAINED狀態和具有運行狀況不佳的備份實例的節點。如需詳細資訊,請參閱 clustermgtd (p. 324)。

分割區狀態

AWS ParallelCluster支持以下分區狀態。一個Slurm分區是AWS ParallelCluster。

• UP:表示分區處於活動狀態。這是分區的默認狀態。在此狀態下,分區中的所有節點都處於活動狀態並可供使用。

• INACTIVE:表示分區處於非活動狀態。在此狀態下,支持非活動分區節點的所有實例都將終止。不會為非活動分區中的節點啟動新實例。

羣集啟動和停止

時機pcluster stop (p. 266)運行時,所有分區都放在INACTIVE狀態,以及AWS ParallelCluster進程將分區保留在INACTIVE狀態。

時機pcluster start (p. 265),則所有分區都會最初放於UP狀態。但是,AWS ParallelCluster進程不會將分區保存在UP狀態。您需要手動更改分區狀態。幾分鐘後,所有靜態節點都會變為可用狀態。請注意,將分區設置為UP不會啟動任何動態容量。如果initial_count (p. 290)大於max_count (p. 291),然後initial_count (p. 290)可能無法滿足分區狀態更改為UP狀態。

時機pcluster start (p. 265)和pcluster stop (p. 266)正在運行,您可以運行叢集的狀態,方法是運行pcluster status (p. 265)命令並檢查ComputeFleetStatus。下列列出了可能的狀態:

• STOP_REQUESTED:pcluster stop (p. 266)請求送至叢集。• STOPPING:pcluster進程當前正在停止羣集。• STOPPED:pcluster進程完成了停止過程,所有分區都在INACTIVE狀態,並終止所有計算實例。• START_REQUESTED:pcluster start (p. 265)請求送至叢集。• STARTING:pcluster進程當前正在啟動叢集• RUNNING:pcluster進程完成了啟動過程,所有分區都在UP狀態,而靜態節點將在幾分鐘後可用。

237

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

手動控制隊列

在某些情況下,您可能需要手動控制節點或隊列(稱為Slurm)在羣集中。您可以通過以下常見過程管理羣集中的節點。

• 為中的動態節點打開電源POWER_SAVING狀態:執行scontrol update nodename=nodenamestate=power_up命令或提交佔位符sleep 1作業請求一定數量的節點,並依賴於Slurm以啟動所需數量的節點。

• 之前關閉動態節點的電源scaledown_idletime (p. 315):將動態節點設置為DOWN與scontrolupdate nodename=nodename state=down命令。AWS ParallelCluster會自動終止並重置已停止的動態節點。一般來説,我們建議您不要將節點設定為POWER_DOWN直接使用scontrol updatenodename=nodename state=power_down命令。這是因為AWS ParallelCluster會自動處理斷電過程。無需手動幹預。因此,建議您嘗試將節點設定為DOWN如有可能.

• 禁用隊列(分區)或停止特定分區中的所有靜態節點:將特定隊列設置為INACTIVE與scontrolupdate partition=queue name state=inactive命令。執行此操作將終止分區中支持節點的所有實例。

• 啟用隊列(分區):將特定隊列設置為INACTIVE與scontrol update partition=queue namestate=up命令。

擴展行為和調整

以下為常規擴展工作流的範例:

• 調度程序接收需要兩個節點的作業。• 調度程序將兩個節點轉換為POWER_UP狀態,並調用ResumeProgram與節點名稱(例如queue1-dy-c5xlarge-[1-2]。

• ResumeProgram啟動兩個 EC2 實例,並將queue1-dy-c5xlarge-[1-2],等待ResumeTimeout(默認時間為 60 分鐘(1 小時)),然後重置節點。

• 實例已配置並加入集羣。Job 在實例上開始運行。• Job 已完成。• 在配置SuspendTime已經過去(設置為scaledown_idletime (p. 315)),則實例將放

在POWER_SAVING狀態。排程器位置queue1-dy-c5xlarge-[1-2]到POWER_DOWN狀態和調用SuspendProgram與節點名稱相同。

• SuspendProgram被調用為兩個節點。節點保留在POWER_DOWN狀態,例如,通過剩餘idle%對於SuspendTimeout(默認週期為 120 秒(2 分鐘))。Afterclustermgtd檢測到節點正在關閉電源,則會終止備份實例。然後,它配置queue1-dy-c5xlarge-[1-2]進入空閒狀態,並重置私有 IP 地址和主機名,以便它們可以重新啟動以後的作業。

現在,如果事情出錯,並且由於某種原因無法啟動特定節點的實例,則會發生以下情況。

• 調度程序接收需要兩個節點的作業。• 調度程序將兩個雲突發節點放入POWER_UP狀態和調用ResumeProgram與節點名,(例如queue1-dy-c5xlarge-[1-2]。

• ResumeProgram僅啟動一 (1) 個 EC2 執行個體並配置queue1-dy-c5xlarge-1,但它無法啟動queue1-dy-c5xlarge-2。

• queue1-dy-c5xlarge-1不會受到影響,並會在達到POWER_UP狀態。• queue1-dy-c5xlarge-2被放置在POWER_DOWN狀態,並且作業將自動重新獲得,因為Slurm檢測到節點

故障。• queue1-dy-c5xlarge-2之後變為可用SuspendTimeout(默認值為 120 秒(2 分鐘))。與此同時,

作業將被重新執行,並且可以在另一個節點上開始運行。• 重複上述過程,直到作業可以在可用節點上運行,而不會發生故障。

238

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

有兩個時序參數可以根據需要進行調整。

• ResumeTimeout(默認值為 60 分鐘(1 小時)):ResumeTimeout控制時間Slurm在將節點置於關閉狀態之前等待。• 如果您的安裝前/後安裝過程花費了幾乎這麼長時間,則擴展此過程可能會很有用。• 這也是最長時間AWS ParallelCluster如果存在問題,則在替換或重置節點之前等待。如果在啟動或安裝

過程中發生任何錯誤,計算節點會自動終止。接下來,AWS ParallelCluster進程也會在看到實例終止時替換節點。

• SuspendTimeout(默認值為 120 秒(2 分鐘)):SuspendTimeout控制節點返回系統並準備再次使用的速度。• 一個較短的SuspendTimeout將意味着節點將更快地重置,Slurm能夠嘗試更頻繁地啟動實例。• 一個更長的SuspendTimeout會使失敗節點重置速度更慢。同時,Slurm輪胎使用其他節

點。如果SuspendTimeout超過幾分鐘,Slurm嘗試循環遍歷系統中的所有節點。一個更長的SuspendTimeout可能有利於大型系統(超過 1,000 個節點),以減輕Slurm通過頻繁重新排隊失敗的作業。

• 請注意:SuspendTimeout不是指時間AWS ParallelCluster等待終止節點的備用實例。後端執行個體power down節點將立即終止。終止過程通常會在幾分鐘內完成。但是,在此期間,節點仍處於關閉電源狀態,無法在調度程序中使用。

新體繫結構的日誌

下面的亮點包含多隊列體繫結構的密鑰日誌。Amazon 使用的日誌串流名稱CloudWatch日誌的格式為{hostname}.{instance_id}.{logIdentifier},其中logIdentifier跟隨日誌名稱。如需詳細資訊,請參閱 與卓越亞馬遜整合CloudWatch日誌 (p. 248)。

• ResumeProgram:

/var/log/parallelcluster/slurm_resume.log (slurm_resume)• SuspendProgram:

/var/log/parallelcluster/slurm_suspend.log (slurm_suspend)• clustermgtd:

/var/log/parallelcluster/clustermgtd.log (clustermgtd)• computemgtd:

/var/log/parallelcluster/computemgtd.log (computemgtd)• slurmctld:

/var/log/slurmctld.log (slurmctld)• slurmd:

/var/log/slurmd.log (slurmd)

常見問題以及如何調試:

啟動、啟動或加入羣集失敗的節點:

• 動態節點:• 檢查ResumeProgram日誌以查看ResumeProgram曾經與節點調用。如果沒有,請檢查slurmctld日

誌以確定Slurm曾經試圖調用ResumeProgram與節點。請注意,不正確的權限ResumeProgram可能會導致它靜默失敗。

• 如果ResumeProgram,請檢查是否為該節點啟動了實例。如果實例無法啟動,則應該顯示明確的錯誤消息,説明實例啟動失敗的原因。

239

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

• 如果啟動了實例,則可能在引導過程中出現了一些問題。查找相應的私有 IP 地址和實例 ID,請從ResumeProgram日誌,並查看特定實例的相應引導日誌CloudWatch日誌。

• 靜態節點:• 檢查clustermgtd日誌以查看是否為節點啟動了實例。如果沒有,那麼實例無法啟動的原因應該存在明

確的錯誤。• 如果實例已啟動,則在引導過程中出現問題。查找相應的私有 IP 和實例 ID,請從clustermgtd日誌,

並查看特定實例的相應引導日誌CloudWatch日誌。

意外替換或終止的節點,節點故障

• 意外替換/終止的節點• 大得多,clustermgtd會處理所有節點維護動作。檢查是否clustermgtd替換或終止節點,請檢

查clustermgtd日誌。• 如果clustermgtd替換或終止節點,則應該出現一條消息,指出該操作的原因。如果原因與調度程序相

關(例如,節點為DOWN),請檢入slurmctld日誌獲取更多詳細資訊。如果原因與 EC2 相關,使用工具檢查該實例的狀態或日誌。例如,您可以檢查實例是否有計劃事件或 EC2 運行狀況檢查失敗。

• 如果clustermgtd沒有終止節點,請檢查computemgtd終止節點,或者如果 EC2 終止了實例以回收競價型實例。

• 節點故障• 在大多數情況下,如果節點出現故障,則會自動重新調整作業。查看slurmctld日誌以查看作業或節點

失敗的原因,並從那裏分析情況。

替換或終止實例時出現故障,關閉節點電源時出現故障

• 一般來説,clustermgtd處理所有預期的實例終止操作。查看clustermgtd日誌,瞭解為什麼它無法替換或終止節點。

• 對於動態節點出現故障scaledown_idletime (p. 315),請查看SuspendProgram日誌以查看程序是否slurmctld將特定節點作為參數。注意SuspendProgram實際上並沒有執行任何特定的操作。相反,它只在調用時記錄。所有實例終止和NodeAddr重置完成clustermgtd。Slurm將節點放入IDLE之後SuspendTimeout。

其他問題

• AWS ParallelCluster不會做任務分配或擴展決策。它簡單地嘗試啟動,終止和維護資源,根據Slurm的説明。

有關作業分配、節點分配和擴展決策的問題,請查看slurmctld日誌錯誤。

Torque Resource Manager (torque)Note

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。您可以繼續在包括 2.11.4 的版本中使用它們,但它們不符合以後的更新或故障排除支持的資格AWS和服務AWSSupport 團隊。

AWS ParallelCluster2.11.4 和更早版Torque Resource Manager6.1.2。如需 Torque ResourceManager 6.1.2 的詳細資訊,請參閱 http://docs.adaptivecomputing.com/torque/6-1-2/releaseNotes/torquerelnote.htm。如需文件,請參閱 http://docs.adaptivecomputing.com/torque/6-1-2/adminGuide/torque.htm。如需來源碼,請參閱「https://github.com/adaptivecomputing/torque/tree/6.1.2」。

AWS ParallelCluster 版本 2.4.0 及更早版本使用 Torque Resource Manager 6.0.2。如需版本備註,請參閱http://docs.adaptivecomputing.com/torque/6-0-2/releaseNotes/torqueReleaseNotes6.0.2.pdf。如需文件,請

240

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

參閱 http://docs.adaptivecomputing.com/torque/6-0-2/adminGuide/help.htm。如需來源碼,請參閱「https://github.com/adaptivecomputing/torque/tree/6.0.2」。

AWS Batch (awsbatch)如需 AWS Batch 的資訊,請參閱《AWS Batch》。如需文件,請參閲AWS Batch使用者指南。

AWS ParallelCluster針對的 CLI 命令AWS Batch

Important

當您使用AWS Batch,則不支持 GPU 作業。

當您使用awsbatch調度程序,AWS ParallelCluster針對的 CLI 命令AWS Batch會自動安裝在AWSParallelCluster頭節點。CLI 使用AWS BatchAPI 操作,並允許以下操作:

• 提交和管理任務。• 監控任務、佇列和主機。• 鏡像傳統排程器命令。

主題• awsbsub (p. 241)• awsbstat (p. 243)• awsbout (p. 243)• awsbkill (p. 244)• awsbqueues (p. 244)• awsbhosts (p. 245)

awsbsub

將任務提交到集的任務隊列。

awsbsub [-h] [-jn JOB_NAME] [-c CLUSTER] [-cf] [-w WORKING_DIR] [-pw PARENT_WORKING_DIR] [-if INPUT_FILE] [-p VCPUS] [-m MEMORY] [-e ENV] [-eb ENV_DENYLIST] [-r RETRY_ATTEMPTS] [-t TIMEOUT] [-n NODES] [-a ARRAY_SIZE] [-d DEPENDS_ON] [command] [arguments [arguments ...]]

定位引數

command

提交任務 (指定的命令必須可在運算執行個體上使用) 或要傳輸的檔案名稱。另請參閱 --command-file。

arguments

(選用) 指定命令或命令檔案的引數。

具名引數

-jn JOB_NAME, --job-name JOB_NAME

為任務命名。第一個字元必須是字母或數字。任務名稱可以包含字母 (大小寫)、數字、連字號和底線,最多可達 128 個字元。

241

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

-c CLUSTER, --cluster CLUSTER

指定要使用的叢集。-cf, --command-file

指出命令是要傳輸至運算執行個體的檔案。

預設值:False-w WORKING_DIR, --working-dir WORKING_DIR

指定要做為任務工作目錄的資料夾。如果未指定工作目錄,則作業將在job-<AWS_BATCH_JOB_ID>用户主目錄的子文件夾。您可以使用此參數或 --parent-working-dir 參數。

-pw PARENT_WORKING_DIR, --parent-working-dir PARENT_WORKING_DIR

指定任務工作目錄的上層文件夾。如果未指定父工作目錄,則預設為使用者的主目錄。系統會在上層工作目錄中建立一個名為 job-<AWS_BATCH_JOB_ID> 的子資料夾。您可以使用此參數或 --working-dir 參數。

-if INPUT_FILE, --input-file INPUT_FILE

在任務的工作目錄中指定要傳輸至運算執行個體的檔案。您可以指定多個輸入檔案參數。-p VCPUS, --vcpus VCPUS

指定要保留給容器的 vCPU 數目。搭配–nodes,則會標識每個節點的 vCPUs 數目。

預設值:1-m MEMORY, --memory MEMORY

指定要提供給任務的記憶體的硬性限制 (以 MiB 為單位)。如果您的任務嘗試超過此處指定的內存限制,則任務將終止。

預設值:128-e ENV, --env ENV

指定以逗號分隔的清單,其中列出要匯出至任務環境的環境變數名稱。若要匯出所有環境變數,請指定「所有」。請注意,「all」環境變量的列表並不包含在–env-blacklist參數,或者以PCLUSTER_*或者AWS_*prefix.

-eb ENV_DENYLIST, --env-blacklist ENV_DENYLIST

指定以逗號分隔的清單,其中列出不匯出至任務環境的環境變數名稱。根據預設,不會匯出HOME、PWD、USER、PATH、LD_LIBRARY_PATH、TERM 和 TERMCAP。

-r RETRY_ATTEMPTS, --retry-attempts RETRY_ATTEMPTS

指定將任務移至RUNNABLE狀態。您可以指定嘗試 1 至 10 次。如果嘗試次數值大於 1,則在任務失敗時會重試該任務,直到其狀態移至RUNNABLE指定次數的狀態。

預設值:1-t TIMEOUT, --timeout TIMEOUT

指定持續時間 (以秒為單位) (從任務嘗試的startedAt時間戳記) 之後AWS Batch將終止您的工作,如果工作尚未完成。逾時值必須至少為 60 秒。

-n NODES, --nodes NODES

指定要為任務保留的節點數目。指定此參數的值,以啟用多節點平行提交。

Note

多節點平行任務不支援cluster_type (p. 275)參數設為spot。

242

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

-a ARRAY_SIZE, --array-size ARRAY_SIZE

指出陣列的大小。您可指定介於 2 到 10,000 之間的值。如果您對任務指定陣列屬性,它會變成陣列任務。

-d DEPENDS_ON, --depends-on DEPENDS_ON

指定以分號分隔的清單,其中列出任務的相依性。一個任務可以取決於最多 20 個任務。您可以指定SEQUENTIAL類型依賴,而不指定陣列任務的任務 ID。序列相依性允許每個子陣列任務循序完成,從索引 0 開始。您也可以指定 N_TO_N 類型相依性,以及陣列任務的任務 ID。N_TO_N 相依性表示,此任務的每個索引子系必須等待各相依性對應的索引子系完成後,才能開始。此參數的語法為「Jobid=<string>,類型 =<string>;...」.

awsbstat

顯示在叢集的任務佇列中提交的任務。

awsbstat [-h] [-c CLUSTER] [-s STATUS] [-e] [-d] [job_ids [job_ids ...]]

定位引數

job_ids

指定以空格分隔的清單,其中列出要在輸出中顯示的任務 ID。如果該任務為任務陣列,則會顯示所有子任務。如果請求單一任務,則會以詳細版本顯示它。

具名引數

-c CLUSTER, --cluster CLUSTER

指出要使用的叢集。-s STATUS, --status STATUS

指定以逗號分隔的清單,其中列出要包含的任務狀態。預設任務狀態為「作用中」。可接受的值為:SUBMITTED、PENDING、RUNNABLE、STARTING、RUNNING、SUCCEEDED、FAILED 和 ALL。

預設:“SUBMITTED,PENDING,RUNNABLE,STARTING,RUNNING”-e, --expand-children

展開具有子項 (陣列和多節點平行) 的任務。

預設值:False-d, --details

顯示任務詳細資訊。

預設值:False

awsbout

顯示特定任務的輸出。

awsbout [ - h ] [ - c CLUSTER ] [ - hd HEAD ] [ - t TAIL ] [ - s ] [ - sp STREAM_PERIOD ] job_id

243

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 支援的排程器

定位引數

job_id

指定任務 ID。

具名引數

-c CLUSTER, --cluster CLUSTER

指出要使用的叢集。-hd HEAD, --head HEAD

取得任務輸出的第一個 HEAD 行。-t TAIL, --tail TAIL

取得任務輸出的最後一個 <tail> 行。-s, --stream

取得任務輸出,然後等待產生額外的輸出。此引數可與 –tail 搭配使用,從任務輸出的最新 <tail> 行開始。

預設值:False-sp STREAM_PERIOD, --stream-period STREAM_PERIOD

設定串流期間。

預設值:5

awsbkill

取消或終止叢集中提交的任務。

awsbkill [ - h ] [ - c CLUSTER ] [ - r REASON ] job_ids [ job_ids ... ]

定位引數

job_ids

指定以空格分隔的清單,其中列出要取消或終止的任務 ID。

具名引數

-c CLUSTER, --cluster CLUSTER

指出要使用的叢集名稱。-r REASON, --reason REASON

指出要附加至任務的訊息,說明任務取消的原因。

預設:”Terminated by the user”

awsbqueues

顯示與叢集相關聯的任務佇列。

244

AWS ParallelCluster AWS ParallelCluster 使用者指南多隊列模式

awsbqueues [ - h ] [ - c CLUSTER ] [ - d ] [ job_queues [ job_queues ... ]]

位置引數

job_queues

指定以空格分隔的清單,其中列出要顯示的佇列名稱。如果請求單一佇列,則會以詳細版本顯示它。

名引數

-c CLUSTER, --cluster CLUSTER

指定要使用的叢集名稱。-d, --details

指出是否顯示佇列的詳細資訊。

預設值:False

awsbhosts

顯示屬於叢集運算環境的主機。

awsbhosts [ - h ] [ - c CLUSTER ] [ - d ] [ instance_ids [ instance_ids ... ]]

定位引數

instance_ids

指定空格分隔的執行個體 ID 清單。如果請求單一執行個體,則會以詳細版本顯示它。

具名引數

-c CLUSTER, --cluster CLUSTER

指定要使用的叢集名稱。-d, --details

指出是否顯示主機的詳細資訊。

預設值:False

多隊列模式AWS ParallelCluster2.9.0 版引入了多個隊列模式。支持多隊列模式:scheduler (p. 287)已設定為slurm與queue_settings (p. 286)設置已定義。此模式允許不同的實例類型在計算節點中共存。包含不同實例類型的計算資源可以根據需要擴展或縮小。在隊列模式下,最多支援五 (5) 個隊列,而且每個[queue]區段 (p. 309)可以指最多三個 (3)[compute_resource]部分 (p. 290)。這些[queue]部分 (p. 309)是Slurm Workload Manager。如需詳細資訊,請參閱 Slurm多隊列模式的指南 (p. 234) 及 多隊列模式教程 (p. 341)。

EACHE[compute_resource]區段 (p. 290)必須具有不同的實例類型,並且這些[compute_resource]進一步分為靜態節點和動態節點。每個靜態節點[compute_resource]的值從 1 編號到min_count (p. 291)。每個動態節點[compute_resource]的編號從一 (1) 到(max_count (p. 291)-min_count。例如,如果min_count為 2,max_count為 10,則該動態節

245

AWS ParallelCluster AWS ParallelCluster 使用者指南標記

點[compute_resource]的編號從一 (1) 到八 (8). 在任何時候,動態節點的最大數量都可能介於零 (0) 和最大數量之間[compute_resource]。

啟動到計算隊列中的實例是動態分配的。為了幫助管理此問題,將為每個節點生成主機名。主機名的格式如下:

$HOSTNAME=$QUEUE-$STATDYN-$INSTANCE_TYPE-$NODENUM

• $QUEUE是該隊列的名稱。例如,如果節開始[queue queue-name]然後」$QUEUE」是」區區區區」.• $STATDYN是st對於靜態節點,或dy用於動態節點。• $INSTANCE_TYPE的執行個體類型。[compute_resource],來自instance_type (p. 291)設定。• $NODENUM是節點的編號。$NODENUM的值介於 1 (1) 之間,min_count (p. 291)對於靜態節點以及介於

一 (1) 和 (max_count (p. 291)-min_count),用於動態節點。

主機名和完全限定域名 (FQDN) 都是使用 Amazon Route 53 託管區域創建的。FQDN 是$HOSTNAME.$CLUSTERNAME.pcluster,其中$CLUSTERNAME名稱為[cluster]區段 (p. 271)用於羣集。

要將配置轉換為隊列模式,請使用pcluster-config convert (p. 268)命令。它寫入一個更新的配置,其中包含一個[queue]區段 (p. 309)命名[queue compute]。該隊列包含一個[compute_resource]區段 (p. 290)命名為[compute_resource default]。所以此[queuecompute]和[compute_resource default]已從指定的[cluster]區段 (p. 271)。

AWS ParallelCluster資源和標記搭配AWS ParallelCluster,您可以創建標籤來跟蹤和管理您的AWS ParallelCluster的費用。您定義您想要的標籤AWS CloudFormation創建並傳播到tags (p. 289)部分。您也可以使用AWS ParallelCluster自動生成來跟蹤和管理您的資源。

建立叢集時,叢集及其資源會使用AWS ParallelCluster和AWS系統標籤。

AWS ParallelCluster將標籤應用於集羣實例、卷和資源。要標識羣集堆棧,AWS CloudFormation適用AWS系統標籤添加到集羣實例中。為了識別集羣 EC2 啟動模板,EC2 將系統標籤應用於實例。您可以使用這些標籤來查看和管理AWS ParallelCluster的費用。

您無法修改AWS系統標籤。為了避免影響AWS ParallelCluster功能,請勿修改AWS ParallelCluster標籤。

下列是的範例AWS系統標籤AWS ParallelCluster資源。您無法修改它們。

"aws:cloudformation:stack-name"="parallelcluster-clustername-MasterServerSubstack-ABCD1234EFGH"

以下是的範例AWS ParallelCluster標籤應用到資源。不要修改它們。

"aws-parallelcluster-node-type"="Master"

"Name"="Master"

"Version"="2.11.5"

您可以在AWS Management Console。

檢視標籤

1. 導航 EC2 控制台,位於https://console.aws.amazon.com/ec2/。2. 要查看所有集羣標記,請選擇標籤在導覽窗格中。

246

AWS ParallelCluster AWS ParallelCluster 使用者指南標記

3. 要按實例查看集羣標籤,請選擇執行個體在導覽窗格中。4. 選擇一個羣集執行個體。5. 選擇管理標籤選項卡並查看標籤。6. 選擇儲存空間選項卡中的實例詳細信息。7. 選取磁碟區 ID。8. In磁碟區中,選擇一種磁碟區。9. 選擇標籤選項卡並查看標籤。

AWS ParallelCluster頭節點實例標籤

金鑰 標籤值

ClusterName clustername

Name Master

Application parallelcluster-clustername

aws:ec2launchtemplate:id lt-1234567890abcdef0

aws:ec2launchtemplate:version 1

aws-parallelcluster-node-type Master

aws:cloudformation:stack-name parallelcluster-clustername-MasterServerSubstack-ABCD1234EFGH

aws:cloudformation:logical-id MasterServer

aws:cloudformation:stack-id arn:aws:cloudformation:region-id:ACCOUNTID:stack/parallelcluster-clustername-MasterServerSubstack-ABCD1234EFGH/1234abcd-12ab-12ab-12ab-1234567890abcdef0

Version 2.11.5

AWS ParallelCluster頭節點根卷標籤

標籤鍵 標籤值

ClusterName clustername

Application parallelcluster-clustername

aws-parallelcluster-node-type Master

AWS ParallelCluster計算節點執行個體

金鑰 標籤值

ClusterName clustername

aws-parallelcluster-node-type Compute

aws:ec2launchtemplate:id lt-1234567890abcdef0

247

AWS ParallelCluster AWS ParallelCluster 使用者指南亞馬遜CloudWatch儀表板

金鑰 標籤值

aws:ec2launchtemplate:version 1

QueueName queue-name

Version 2.11.5

AWS ParallelCluster計算節點根卷標籤

標籤鍵 標籤值

ClusterName clustername

Application parallelcluster-clustername

aws-parallelcluster-node-type Compute

QueueName queue-name

Version 2.11.5

亞馬遜CloudWatch儀表板從開始AWS ParallelCluster2.10.0 版,亞馬遜CloudWatch儀錶板會在建立叢集時建立。這樣可以更輕鬆地監控集羣中的節點,並查看存儲在 Amazon 中的日誌CloudWatch日誌。儀表板的名稱為parallelcluster-ClusterName-Region。ClusterName是您的叢集的名稱,Region (區區)是AWS 區域的羣集。您可以在主控台中訪問儀表板,或者通過打開https://console.aws.amazon.com/cloudwatch/home?region=Region#dashboards:name=parallelcluster-ClusterName。

有關亞馬遜的更多信息CloudWatch儀錶板,請參閲使用 AmazonCloudWatch儀表板中的亞馬遜CloudWatch使用者指南。

如果您不想創建卓越亞馬遜CloudWatch儀錶板中,您必須完成以下步驟:首先,添加[dashboard]區段 (p. 292)添加到配置文件中,然後將該部分的名稱添加為dashboard_settings (p. 277)設定[cluster]區段 (p. 271)。在您的[dashboard]區段 (p. 292),設定enable (p. 293) =false。

例如,如果您的[dashboard]區段 (p. 292)被命名為myDashboard以及您的[cluster]區段 (p. 271)被命名為myCluster,則您的更改類似於此。

[cluster MyCluster]dashboard_settings = MyDashboard...

[dashboard MyDashboard]enable = false

與卓越亞馬遜整合CloudWatch日誌從開始AWS ParallelCluster2.6.0 版,通用日誌存儲在CloudWatch預設為日誌。如需有關 的詳細資訊CloudWatch日誌,請參閲亞馬遜CloudWatch日誌使用者指南。設定CloudWatch日誌集成,請參閲[cw_log]區段 (p. 292)與cw_log_settings (p. 276)設定。

系統會為每個集建立日誌組,名稱為/aws/parallelcluster/cluster-name(例如,/aws/parallelcluster/testCluster。每個日誌(或一組日誌,如果該路

248

AWS ParallelCluster AWS ParallelCluster 使用者指南與卓越亞馬遜整合CloudWatch日誌

徑包含*)都有一個名為{hostname}.{instance_id}.{logIdentifier}。(例如ip-172-31-10-46.i-02587cf29cc3048f3.nodewatcher。) 日誌數據被發送到CloudWatch通過CloudWatch代理人,它運行為root在所有集羣實例上。

從開始AWS ParallelCluster2.10.0 版,亞馬遜CloudWatch儀錶板會在建立叢集時建立。通過此儀錶板,您可以輕鬆查看存儲在CloudWatch日誌。如需詳細資訊,請參閱 亞馬遜CloudWatch儀表板 (p. 248)。

此清單包含日誌的路徑以及用於這些日誌的 logIdentifier。

• /opt/sge/default/spool/qmaster/messages (sge-qmaster)• /var/log/cfn-init.log (cfn-init)• /var/log/chef-client.log (chef-client)• /var/log/cloud-init.log (cloud-init)• /var/log/cloud-init-output.log (cloud-init-output)• /var/log/dcv/agent.*.log (dcv-agent)• /var/log/dcv/dcv-xsession.*.log (dcv-xsession)• /var/log/dcv/server.log (dcv-server)• /var/log/dcv/sessionlauncher.log (dcv-session-launcher)• /var/log/dcv/Xdcv.*.log (Xdcv)• /var/log/jobwatcher (jobwatcher)• /var/log/messages (system-messages)• /var/log/nodewatcher (nodewatcher)• /var/log/parallelcluster/clustermgtd (clustermgtd)• /var/log/parallelcluster/computemgtd (computemgtd)• /var/log/parallelcluster/pcluster_dcv_authenticator.log (dcv-authenticator)• /var/log/parallelcluster/pcluster_dcv_connect.log (dcv-ext-authenticator)• /var/log/parallelcluster/slurm_resume.log (slurm_resume)• /var/log/parallelcluster/slurm_suspend.log (slurm_suspend)• /var/log/slurmctld.log (slurmctld)• /var/log/slurmd.log (slurmd)• /var/log/sqswatcher (sqswatcher)• /var/log/supervisord.log (supervisord)• /var/log/syslog (syslog)• Note

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

/var/spool/sge/*/messages (sge-exec-daemon)• /var/spool/torque/client_logs/* (torque-client)• /var/spool/torque/server_logs/* (torque-server)

集羣中使用AWS Batch存儲到達RUNNING、SUCCEEDED, 或FAILED狀態為CloudWatch日誌。日誌組為/aws/batch/job,並且日誌串流名稱格式為jobDefinitionName/default/ecs_task_id。根據預設,這些日誌設定為永遠不會過期,但您可以修改保留期間。如需詳細資訊,請參閱「」更改中的日誌數據保留期CloudWatch日誌中的亞馬遜CloudWatch日誌使用者指南。

Note

chef-client、cloud-init-output、clustermgtd、computemgtd、slurm_resume,和slurm_suspend已添加到AWS ParallelCluster2.9.0 版。適用於AWS ParallelCluster2.6.0 版/

249

AWS ParallelCluster AWS ParallelCluster 使用者指南Elastic Fabric Adapter

var/log/cfn-init-cmd.log(cfn-init-cmd)和/var/log/cfn-wire.log(cfn-wire)也存儲在CloudWatch日誌。

Elastic Fabric AdapterElastic Fabric Adapter (EFA) 是一種具有 OS-bypass 功能的網路裝置,可與相同子網路上的其他執行個體進行低延遲網路通訊。EFA 是使用 Libfabric 公開,並且可以使用簡訊傳遞界面 (MPI) 供應用程式使用。要將全民教育與AWS ParallelCluster,添加行enable_efa = compute添加到[cluster]區段 (p. 271)。EFA 由特定執行個體類型支援(compute_instance_type (p. 275)都是其中之一c5n.18xlarge、c5n.metal、g4dn.metal、i3en.24xlarge、i3en.metal、m5dn.24xlarge、m5n.24xlarge、m5zn.12xlarge、m5zn.metal、r5dn.24xlarge、r5n.24xlarge、p3dn.24xlarge,和p4d.24xlarge適用於 x86-64 個體,c6gn.16xlarge對於基於 ARM 的重力 2 實例)的特定操作系統(base_os (p. 273)是alinux2、centos7、ubuntu1804, 或ubuntu2004適用於 x86-64 個體,alinux2、ubuntu1804, 或ubuntu2004對於基於 ARM 的引力 2 實例)。如需 enable_efa 設定的詳細資訊,請參閱enable_efa (p. 279)。應使用叢集置放群組以充分減少執行個體之間的延遲。如需詳細資訊,請參閱 placement (p. 284) 及 placement_group (p. 284)。

如需詳細資訊,請參閱「」Elastic Fabric Adapter中的Amazon EC2 Linux 執行個體使用者指南和使用彈性結構適配器和AWS ParallelCluster中的AWS開放原始碼博客。

Note

預設情況下,Ubuntu 分佈會啟用 ptrace (處理程序追踪) 保護。從 AWS ParallelCluster 2.6.0 開始,ptrace 保護即被禁用以便 Libfabric 正常運作。如需詳細資訊,請參閱「」停用 ptrace 保護中的Amazon EC2 Linux 執行個體使用者指南。

Note

Support 基於 ARM 的引力 2 實例的 EFA 被添加到AWS ParallelCluster2.10.1 版。

Intel Select 解決方案AWS ParallelCluster作為英特爾選擇解決方案提供,用於仿真和建模。對配置進行驗證是否符合IntelHPC 平台規格,使用特定的英特爾實例類型,並配置為使用Elastic Fabric Adapter (p. 250)(EFA) 網絡接口.AWS ParallelCluster是第一個滿足英特爾選擇解決方案計劃要求的雲解決方案。支援的實例類型包括c5n.18xlarge、m5n.24xlarge,和r5n.24xlarge。下面提供了與英特爾選擇解決方案標準兼容的示例配置。

Example 英特爾選擇解決方案

[global]update_check = truesanity_check = truecluster_template = intel-select-solutions

[aws]aws_region_name = <Your AWS 區區>

[scaling demo]scaledown_idletime = 5

[cluster intel-select-solutions]key_name = <Your SSH key name>base_os = centos7scheduler = slurmenable_intel_hpc_platform = truemaster_instance_type = c5.xlargevpc_settings = <Your VPC section>scaling_settings = demo

250

AWS ParallelCluster AWS ParallelCluster 使用者指南啟用 Intel MPI

queue_settings = c5n,m5n,r5nmaster_root_volume_size = 200compute_root_volume_size = 80

[queue c5n]compute_resource_settings = c5n_i1enable_efa = trueplacement_group = DYNAMIC

[compute_resource c5n_i1]instance_type = c5n.18xlargemax_count = 5

[queue m5n]compute_resource_settings = m5n_i1enable_efa = trueplacement_group = DYNAMIC

[compute_resource m5n_i1]instance_type = m5n.24xlargemax_count = 5

[queue r5n]compute_resource_settings = r5n_i1enable_efa = trueplacement_group = DYNAMIC

[compute_resource r5n_i1]instance_type = r5n.24xlargemax_count = 5

如需有關 的詳細資訊AWS ParallelCluster和英特爾 HPC 平台規格的詳細資訊,請參Intel HPC 平台規格 (p. 252)。

啟用 Intel MPI英特爾 MPI 可在AWS ParallelClusterAMI (AMI)alinux2、centos7、ubuntu1804,和ubuntu2004用於base_os (p. 273)設定。要使用英特爾 MPI,您必須確認並接受英特爾簡化軟件許可證。默認情況下,Open MPI 會放置在路徑上。若要啟用 Intel MPI 而不是 Open MPI,您必須先載入 Intel MPI 模組。然後,您需要使用module load intelmpi。模組的確切名稱會隨著每次更新而改變。要查看哪些模組可用,請執行 module avail。輸出如下。

$ module avail

----------------------------------------- /usr/share/Modules/modulefiles ------------------------------------------dot libfabric-aws/1.8.1amzn1.3 module-info null use.ownmodule-git modules openmpi/4.0.2

------------------------------------------------ /etc/modulefiles -------------------------------------------------

--------------------------------- /opt/intel/impi/2019.7.217/intel64/modulefiles ----------------------------------intelmpi

要載入模組,請執行 module load modulename。您可以將此新增到用於執行 mpirun 的指令碼。

$ module load intelmpi

251

AWS ParallelCluster AWS ParallelCluster 使用者指南Intel HPC 平台規格

要查看哪些模組已載入,請執行 module list。

$ module listCurrently Loaded Modulefiles: 1) intelmpi

要確認 Intel MPI 已啟用,請執行 mpirun --version。

$ mpirun --versionIntel(R) MPI Library for Linux* OS, Version 2019 Update 7 Build 20200312 (id: 5dc2dd3e9)Copyright 2003-2020, Intel Corporation.

載入 Intel MPI 模組之後,會變更多個路徑以使用 Intel MPI 工具。若要執行由 Intel MPI 工具編譯的程式碼,請先載入 Intel MPI 模組。

Note

英特爾 MPI 與AWS重力型執行個體。

Note

之前AWS ParallelCluster2.5.0 版,英特爾 MPI 在AWS ParallelCluster中國 (北京) 和中國 (寧夏) 區域的 AMI。

Intel HPC 平台規格AWS ParallelCluster 符合 Intel HPC 平台規格。Intel HPC 平台規格提供一組運算、架構、記憶體、儲存和軟體需求,以幫助您達到高標準的品質與 HPC 工作負載相容性。如需詳細資訊,請參閱「」Intel HPC 平台規格和經驗證與 Intel HPC 平台規格兼容的應用。

若要符合 Intel HPC 平台規格,必須符合下列需求:

• 作業系統必須為 CentOS 7 (base_os (p. 273) = centos7)。• 運算節點的執行個體類型必須具有 Intel CPU 和至少 64 GB 的記憶體。對於c5系列的執行個體類型,這意

味著執行個體類型必須至少為c5.9xlarge(compute_instance_type (p. 275) = c5.9xlarge。• 頭節點必須至少有 200 GB 的存儲空間。• 必須接受 Intel Parallel Studio 的最終使用者授權合約 (enable_intel_hpc_platform (p. 280) =true)。

• 每個運算節點至少必須有 80 GB 的儲存空間 (compute_root_volume_size (p. 276) = 80)。

儲存裝置可以是本機或在網路上 (從頭節點共用的 NFS、Amazon EBS 或 FSx for Lustre),且可以共用。

Arm 性能庫從開始AWS ParallelCluster2.10.1 版,Arm 性能庫可在AWS ParallelClusterAMI(AMI)alinux2、centos8、ubuntu1804,和ubuntu2004用於base_os (p. 273)設定。Arm 性能庫為Arm 處理器上的高性能計算應用程序提供了優化的標準核心數學庫。要使用 Arm 性能庫,您必須確認並接受Arm 性能庫(免費版)-最終用户許可協議。如需 Arm 性能庫的詳細資訊,請參免費 ARM 性能庫。

要啟用 Arm 性能庫,必須首先加載 Arm 性能庫模塊。Armpl-21.0.0需要 GCC-9.3 作為一個要求,當你加載armpl/21.0.0模組中,gcc/9.3模塊也將被加載。模組的確切名稱會隨著每次更新而改變。要查看哪些模組可用,請執行 module avail。然後,您需要使用module load armpl。輸出如下。

$ module avail

252

AWS ParallelCluster AWS ParallelCluster 使用者指南通過 NICE DCV Connect 到頭節點

------------------------------- /usr/share/Modules/modulefiles --------------------------------armpl/21.0.0 dot libfabric-aws/1.11.1amzn1.0 module-gitmodule-info modules null openmpi/4.1.0 use.own

要載入模組,請執行 module load modulename。您可以將此新增到用於執行 mpirun 的指令碼。

$ module load armpl

Use of the free of charge version of Arm Performance Libraries is subject to the terms andconditions of the Arm Performance Libraries (free version) - End User License Agreement(EULA). A copy of the EULA can be found in the'/opt/arm/armpl/21.0.0/arm-performance-libraries_21.0_gcc-9.3/license_terms' folder

要查看哪些模組已載入,請執行 module list。

$ module listCurrently Loaded Modulefiles:1) /opt/arm/armpl/21.0.0/modulefiles/armpl/gcc-9.32) /opt/arm/armpl/21.0.0/modulefiles/armpl/21.0.0_gcc-9.33) armpl/21.0.0

要驗證 Arm 性能庫是否已啟用,請運行示例測試。

$ sudo chmod 777 /opt/arm/armpl/21.0.0/armpl_21.0_gcc-9.3/examples$ cd /opt/arm/armpl/21.0.0/armpl_21.0_gcc-9.3/examples$ make...Testing: no example difference files were generated.Test passed OK

載入 Arm 性能庫模組之後,會變更多個路徑以使用 Arm 性能庫工具。若要執行由 Arm 性能庫工具編譯的程式碼,請先載入 Arm 性能庫模組。

Note

AWS ParallelCluster2.10.1 和 2.10.4 之間的版armpl/20.2.1。

通過 NICE DCV Connect 到頭節點NICE DCV 是一項遠端視覺化技術,能夠讓使用者安全地連接至遠端高效能伺服器所代管會處理大量圖形的3D 應用程式。如需詳細資訊,請參閱「」漂亮的 DCV。

NICE DCV 軟體會在使用base_os (p. 273) = alinux2、base_os (p. 273) = centos7,或base_os (p. 273) = ubuntu1804。

要在頭節點上啟用 NICE DCV,dcv_settings (p. 277)必須包含[dcv]區段 (p. 293)具有enable (p. 294) = master和base_os (p. 273)必須設定為alinux2、centos7, 或ubuntu1804。

[cluster custom-cluster]...dcv_settings = custom-dcv...[dcv custom-dcv]enable = master

253

AWS ParallelCluster AWS ParallelCluster 使用者指南使用 pcluster update

如需 NICE DCV 配置參數的詳細資訊,請參dcv_settings (p. 277)。若要連接到 NICE DCV 會話,請使用pcluster dcv (p. 260)命令。

Note

Support NICE DCVcentos8被刪除AWS ParallelCluster2.10.4 版。Support NICE DCVcentos8新增AWS ParallelCluster2.10.0 版。Support NICE DCVAWS基於重力的實例被添加到AWS ParallelCluster2.9.0 版。Support NICE DCValinux2和ubuntu1804新增AWSParallelCluster2.6.0 版。Support NICE DCVcentos7新增AWS ParallelCluster2.5.0 版。

Note

NICE DCV 不支持AWS中的AWS ParallelCluster2.8.0 版和 2.8.1 版。

NICE DCV 憑證NICE DCV 會自動生成自我簽署憑證,以保護 NICE DCV 客户端與 NICE DCV 伺服器之間的通訊。

若要使用另一個憑證替換默認的自我簽署 NICE DCV 憑證,請先連接到頭節點。然後,在執行 pclusterdcv (p. 260) 命令之前,將憑證和金鑰複製到 /etc/dcv 資料夾。

如需詳細資訊,請參閱「」變更 TLS 憑證中的NICE DCV 管理員指南。

NICE DCV 授權NICE DCV 服務器在 Amazon EC2 執行個體上運行時,不需要授權服務器。不過,NICE DCV 伺服器必須定期連接至 Amazon S3 存儲段,以判斷是否有可用的有效授權。

AWS ParallelCluster 會自動將必要許可新增至 ParallelClusterInstancePolicy。使用自定義 IAM 實例策略時,請使用適用於 Amazon EC2 的 DCV中的NICE DCV 管理員指南。

如需故障診斷秘訣,請參閱 NICE DCV 中的問題疑難解答 (p. 357)。

使用 pcluster update從開始AWS ParallelCluster2.8.0 版pcluster update (p. 266)分析用於創建當前羣集的設置以及配置文件中的問題設置。如果發現任何問題,則會報告這些問題,並顯示修復問題所採取的步驟。例如,如果compute_instance_type (p. 275)設置更改為不同的實例類型,則必須先停止計算隊列,然後才能繼續更新。發現此問題時會報告。如果未報告阻塞問題,系統會提示您是否要應用更改。

每個設置的文檔定義了該設置的更新策略。

更新政策:您可以在更新期間更改這些設定。, 更新政策:您可以在更新期間更改此設定。

您可以更改這些設定,而且可以使用pcluster update (p. 266)。更新政策:如果更改此設置,則不允許進行更新。

如果尚未刪除現有集羣,則無法更改這些設置。必須恢復更改或者必須刪除羣集(使用pclusterdelete (p. 262)),然後創建一個新集羣(使用pcluster create (p. 257))在舊集羣的位置。

更新政策:在更新過程中不會分析此設置。

您可以更改這些設定,而且可以使用pcluster update (p. 266)。更新政策:必須停止計算隊列才能更改此設置以進行更新。

計算隊列存在時,無法更改這些設置。必須恢復更改,或者必須停止計算隊列(使用pclusterstop (p. 266)), 更新 (使用pcluster update (p. 266)),然後創建一個新的計算隊列(使用pcluster start (p. 265)。

254

AWS ParallelCluster AWS ParallelCluster 使用者指南使用 pcluster update

更新政策:無法在更新期間減少此設定。

您可以改變這些設定,但不能減少這些設定。如果必須減少這些設置,則需要刪除集羣(使用pcluster delete (p. 262)),然後創建一個新的叢集(使用pcluster create (p. 257)。

更新政策:要將隊列的大小減少到當前節點數以下,需要首先停止計算隊列。

可以更改這些設置,但如果更改將隊列的大小減少到當前大小以下,則必須停止計算隊列(使用pcluster stop (p. 266)), 更新 (使用pcluster update (p. 266)),然後創建一個新的計算隊列(使用pcluster start (p. 265)。

更新政策:減少隊列中靜態節點的數量需要首先停止計算隊列。

這些設置可以更改,但是如果更改將隊列中靜態節點的數量減少到當前大小以下,則必須停止計算隊列(使用pcluster stop (p. 266)), 更新 (使用pcluster update (p. 266)),然後創建一個新的計算隊列(使用pcluster start (p. 265)。

更新政策:如果更改此設置,則不允許進行更新。無法強制更新此設定。

如果尚未刪除現有集羣,則無法更改這些設置。必須恢復更改或者必須刪除羣集(使用pclusterdelete (p. 262)),然後創建一個新集羣(使用pcluster create (p. 257))在舊集羣的位置。

此範例將展示pcluster update (p. 266)進行了一些阻止更新的更改。

$ pcluster update Validating configuration file /home/username/.parallelcluster/config...Retrieving configuration from CloudFormation for cluster test-1...Found Changes:

# section/parameter old value new value -- ------------------------ ------------------------ ------------------------ [cluster default]01* compute_instance_type t2.micro c4.xlarge02* ebs_settings ebs2 -

[vpc default]03 additional_sg sg-0cd61884c4ad16341 sg-0cd61884c4ad11234

[ebs ebs2]04* shared_dir shared my/very/very/long/sha...

Validating configuration update...The requested update cannot be performed. Line numbers with an asterisk indicate updates requiring additional actions. Please look at the details below:

#01Compute fleet must be empty to update "compute_instance_type"How to fix:Make sure that there are no jobs running, then run the following command: pcluster stop -c $CONFIG_FILE $CLUSTER_NAME

#02Cannot add/remove EBS SectionsHow to fix:Revert "ebs_settings" value to "ebs2"

#04Cannot change the mount dir of an existing EBS volumeHow to fix:Revert "my/very/very/long/shared/dir" to "shared"

In case you want to override these checks and proceed with the update pleaseuse the --force flag. Note that the cluster could end up in an unrecoverablestate.

255

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster CLI 命令

Update aborted.

AWS ParallelCluster CLI 命令pcluster和pcluster-config是AWS ParallelClusterCLI 命令。您使用pcluster,以啟動和管理 HPC叢集AWS 雲端和pcluster-config更新您的配置

pcluster [ -h ] ( create | update | delete | start | stop | status | list | instances | ssh | dcv | createami | configure | version ) ... pcluster-config [-h] (convert) ...

主題• pcluster (p. 256)• pcluster-config (p. 268)

pclusterpcluster是主索引AWS ParallelClusterCLI 命令。您使用pcluster,以啟動和管理 HPC 叢集AWS 雲端。

pcluster [ -h ] ( create | update | delete | start | stop | status | list | instances | ssh | dcv | createami | configure | version ) ...

引數pcluster command

可能的選擇如下:configure (p. 257)、create (p. 257)、createami (p. 259)、dcv (p. 260)、delete (p. 262)、instances (p. 263)、list (p. 263)、ssh (p. 264)、start (p. 265)、status (p. 265)、stop (p. 266)、update (p. 266)、version (p. 267)

子命令:主題

• pcluster configure (p. 257)• pcluster create (p. 257)• pcluster createami (p. 259)• pcluster dcv (p. 260)• pcluster delete (p. 262)• pcluster instances (p. 263)• pcluster list (p. 263)• pcluster ssh (p. 264)• pcluster start (p. 265)• pcluster status (p. 265)• pcluster stop (p. 266)• pcluster update (p. 266)

256

AWS ParallelCluster AWS ParallelCluster 使用者指南pcluster

• pcluster version (p. 267)

pcluster configure

開始 AWS ParallelCluster 組態。

pcluster configure [ -h ] [ -c CONFIG_FILE ] [ -r REGION ]

具名引數

-h, --help

顯示所使用的pcluster configure。-c CONFIG_FILE, --config CONFIG_FILE

指定要使用之替代組態檔案的完整路徑。

預設為 ~/.parallelcluster/config。

如需詳細資訊,請參閱 設定 AWS ParallelCluster (p. 191)。-r REGION, --region REGION

指定AWS 區域以使用。如果指定此項,則配置將跳過區域檢測。

要刪除 VPC 中的網絡資源,您可以刪除 CloudFormation 網絡堆棧。堆疊名稱以」parallelclusternetworking-」,並且包含以「YYYYMDHMMSS」格式的創建時間。您可以使用list-stacks命令。

$ aws --region us-east-1 cloudformation list-stacks \ --stack-status-filter "CREATE_COMPLETE" \ --query "StackSummaries[].StackName" | \ grep -e "parallelclusternetworking-" "parallelclusternetworking-pubpriv-20191029205804"

堆棧可以使用delete-stack命令。

$ aws --region us-east-1 cloudformation delete-stack \ --stack-name parallelclusternetworking-pubpriv-20191029205804

該 VPCpcluster configure (p. 84)創建不是在 CloudFormation 網絡堆棧中創建的。您可在主控台中或使用AWS CLI。

$ aws --region us-east-1 ec2 delete-vpc --vpc-id vpc-0b4ad9c4678d3c7ad

pcluster create

建立新叢集。

pcluster create [ -h ] [ -c CONFIG_FILE ] [ -r REGION ] [ -nw ] [ -nr ] [ -u TEMPLATE_URL ] [ -t CLUSTER_TEMPLATE ] [ -p EXTRA_PARAMETERS ] [ -g TAGS ] cluster_name

257

AWS ParallelCluster AWS ParallelCluster 使用者指南pcluster

位置引數

cluster_name

定義叢集的名稱。AWS CloudFormation 堆疊名稱為 parallelcluster-cluster_name。

具名引數

-h, --help

顯示所使用的pcluster create。-c CONFIG_FILE, --config CONFIG_FILE

指定要使用的替代組態檔案。

預設為 ~/.parallelcluster/config。-r REGION, --region REGION

指定AWS 區域以使用。用於為新集羣選擇區域的優先級順序如下:1. -r或者--region參數pcluster create (p. 257)。2. AWS_DEFAULT_REGION環境變數。3. aws_region_name設定[aws]的區段AWS ParallelCluster組態檔案(默認位置

為~/.parallelcluster/config。) 這是由pcluster configure (p. 257)命令。4. region設定[default]的區段AWS CLI配定文件 (~/.aws/config。)

-nw, --nowait

指出在運行堆疊命令之後不等待堆疊事件。

預設為 False。-nr, --norollback

發生錯誤時停用 堆疊轉返。

預設為 False。-u TEMPLATE_URL, --template-url TEMPLATE_URL

指定自訂AWS CloudFormation模板(如果在創建時使用了該模板)。-t CLUSTER_TEMPLATE, --cluster-template CLUSTER_TEMPLATE

指出要使用的叢集範本。-p EXTRA_PARAMETERS, --extra-parameters EXTRA_PARAMETERS

將額外的參數新增至堆疊建立。-g TAGS, --tags TAGS

指定要新增至堆疊的額外標籤。

呼叫命令,且開始輪詢該呼叫的狀態時,您可以放心使用「Ctrl-C」來結束。您可以透過呼叫 pclusterstatus mycluster 來返回檢視目前狀態。

範例:

$ pcluster create mycluster$ pcluster create mycluster --tags '{ "Key1" : "Value1" , "Key2" : "Value2" }'

258

AWS ParallelCluster AWS ParallelCluster 使用者指南pcluster

pcluster createami

(Linux/macOS) 建立要與 AWS ParallelCluster 搭配使用的自訂 AMI。

pcluster createami [ -h ] -ai BASE_AMI_ID -os BASE_AMI_OS [ -i INSTANCE_TYPE ] [ -ap CUSTOM_AMI_NAME_PREFIX ] [ -cc CUSTOM_AMI_COOKBOOK ] [--no-public-ip] [ -post-install POST_INSTALL_SCRIPT ] [ -c CONFIG_FILE ] [-t CLUSTER_TEMPLATE] [--vpc-id VPC_ID] [--subnet-id SUBNET_ID] [ -r REGION ]

必要的相依性

除此之外AWS ParallelClusterCLI,需要以下依賴項才能運行pcluster createami:

• Packer:從 https://www.packer.io/downloads.html 下載最新版本。

Note

之前AWS ParallelCluster2.8.0 版伯克謝爾使用安裝gem install berkshelf)使用pclustercreateami。

具名引數

-h, --help

顯示所使用的pcluster createami。-ai BASE_AMI_ID, --ami-id BASE_AMI_ID

指定要用於建置 AWS ParallelCluster AMI 的基本 AMI。-os BASE_AMI_OS, --os BASE_AMI_OS

指定基本 AMI 的作業系統。有效選項為:alinux2、ubuntu1804、ubuntu2004 和 centos7。

Note

操作系統支持在不同AWS ParallelCluster版本:• 支援centos8被刪除AWS ParallelCluster2.10.4 版• 支援centos8,並支持centos6被刪除AWS ParallelCluster2.10.0 版。• 對阿裏努 x2 的 Support 已添加到AWS ParallelCluster2.6.0 版• 添加了對烏本圖 1804 的 SupportAWS ParallelCluster2.5.0 版

-i INSTANCE_TYPE, --instance-type INSTANCE_TYPE

指定用於創建 AMI 的實例類型。

預設為 t2.xlarge。

Note

Support--instance-type參數被添加到AWS ParallelCluster2.4.1 版-ap CUSTOM_AMI_NAME_PREFIX, --ami-name-prefix CUSTOM_AMI_NAME_PREFIX

指定所產生 AWS ParallelCluster AMI 的字首名稱。

預設為 custom-ami-。

259

AWS ParallelCluster AWS ParallelCluster 使用者指南pcluster

-cc CUSTOM_AMI_COOKBOOK, --custom-cookbook CUSTOM_AMI_COOKBOOK

指定要用來建置 AWS ParallelCluster AMI 的技術指南。--post-install POST_INSTALL_SCRIPT

指定安裝後腳本的路徑。路徑必須使用s3://、https://, 或file://URL 結構。範例如下:• https://bucket-name.s3.region.amazonaws.com/path/post_install.sh

• s3://bucket-name/post_install.sh

• file:///opt/project/post_install.sh

Note

Support--post-install參數被添加到AWS ParallelCluster2.10.0 版。--no-public-ip

請勿將公有 IP 地址與用於創建 AMI 的實例相關聯。默認情況下,公有 IP 地址與實例關聯。Note

Support--no-public-ip參數被添加到AWS ParallelCluster2.5.0 版-c CONFIG_FILE, --config CONFIG_FILE

指定要使用的替代組態檔案。

預設為 ~/.parallelcluster/config。-t CLUSTER_TEMPLATE, --cluster-template CLUSTER_TEMPLATE

指定[cluster] 區段 (p. 271)的區區區區用於檢索 VPC 和子網設置。Note

Support--cluster-template參數被添加到AWS ParallelCluster2.4.0 版--vpc-id VPC_ID

指定要 VPC 來建置AWS ParallelClusterAMI。Note

Support--vpc-id參數被添加到AWS ParallelCluster2.5.0 版--subnet-id SUBNET_ID

指定要用來建置AWS ParallelClusterAMI。Note

Support--vpc-id參數被添加到AWS ParallelCluster2.5.0 版-r REGION, --region REGION

指定AWS 區域以使用。預設為使用 pcluster configure (p. 257) 命令指定的區域。

pcluster dcv與頭節點上運行的 NICE DCV 服務器進行交互。

pcluster dcv [ -h ] ( connect )

pcluster dcv command

可能的選擇如下:connect (p. 261)

260

AWS ParallelCluster AWS ParallelCluster 使用者指南pcluster

Note

操作系統支持更改pcluster dcv命令在不同AWS ParallelCluster版本:

• Supportpcluster dcv命令centos8新增AWS ParallelCluster2.10.0 版。• Supportpcluster dcv命令AWS基於重力的實例被添加到AWS ParallelCluster2.9.0 版• Supportpcluster dcv命令ubuntu1804新增AWS ParallelCluster2.6.0 版• Supportpcluster dcv命令centos7新增AWS ParallelCluster2.5.0 版

具名引數

-h, --help

顯示所使用的pcluster dcv。

子命令

pcluster dcv connect

pcluster dcv connect [ -h ] [ -k SSH_KEY_PATH ] [ -r REGION ] cluster_name

Important

URL 會在發出後 30 秒過期。如果在 URL 過期之前未建立連線,請運行pcluster dcvconnect以生成一個新的 URL。

位置引數

cluster_name

指定要連接的叢集名稱。

具名引數

-h, --help

顯示所使用的pcluster dcv connect。-k SSH_KEY_PATH, --key-path SSH_KEY_PATH

用於連線的 SSH 金鑰的金鑰路徑。

金鑰必須在 key_name (p. 282) 組態參數中叢集建立之時指定。此引數是可選的,但如果未指定,則密鑰必須在默認情況下可用於 SSH 客户端。例如,利用 ssh-add 將其新增至 ssh-agent。

-r REGION, --region REGION

指定AWS 區域以使用。預設為使用 pcluster configure (p. 257) 命令指定的區域。-s, --show-url

顯示連線到 NICE DCV 會話的一次性 URL。指定此選項時,不會開啟預設瀏覽器。Note

Support--show-url參數被添加到AWS ParallelCluster2.5.1 版

範例:

261

AWS ParallelCluster AWS ParallelCluster 使用者指南pcluster

$ pcluster dcv connect -k ~/.ssh/id_rsa

打開預設瀏覽器,以連接到在頭部節點上運作的 NICE DCV 會話。

如果尚未啟動工作階段,則會建立一個新的 NICE DCV 工作階段。

pcluster delete

刪除叢集。

pcluster delete [ -h ] [ -c CONFIG_FILE ] [ -r REGION ] [ -nw ] cluster_name

位置引數

cluster_name

指定要刪除的叢集名稱。

具名引數

-h, --help

顯示所使用的pcluster delete。-c CONFIG_FILE, --config CONFIG_FILE

指定要使用的替代組態檔案。

預設為 ~/.parallelcluster/config。--keep-logs

刪除叢集後保留 CloudWatch Logs 案。記錄組會保留直到您手動刪除為止,但記錄事件會根據retention_days (p. 292)設定。此設定預設為 14 天。

Note

Support--keep-logs參數被添加到AWS ParallelCluster2.6.0 版

-r REGION, --region REGION

指定AWS 區域以使用。預設為使用 pcluster configure (p. 257) 命令指定的區域。

呼叫命令,且開始輪詢該呼叫的狀態時,您可以放心使用「Ctrl-C」來結束。您可以透過呼叫 pclusterstatus mycluster 來返回檢視目前狀態。

要刪除 VPC 中的網絡資源,您可以刪除 CloudFormation 網絡堆棧。堆疊名稱以」parallelclusternetworking-」,並且包含以「YYYYMDHMMSS」格式的創建時間。您可以使用list-stacks命令。

$ aws --region us-east-1 cloudformation list-stacks \ --stack-status-filter "CREATE_COMPLETE" \ --query "StackSummaries[].StackName" | \ grep -e "parallelclusternetworking-" "parallelclusternetworking-pubpriv-20191029205804"

262

AWS ParallelCluster AWS ParallelCluster 使用者指南pcluster

堆棧可以使用delete-stack命令。

$ aws --region us-east-1 cloudformation delete-stack \ --stack-name parallelclusternetworking-pubpriv-20191029205804

該 VPCpcluster configure (p. 84)創建不是在 CloudFormation 網絡堆棧中創建的。您可在主控台中或使用AWS CLI。

$ aws --region us-east-1 ec2 delete-vpc --vpc-id vpc-0b4ad9c4678d3c7ad

pcluster instances

將顯示叢集中所有執行個體的清單。

pcluster instances [ -h ] [ -c CONFIG_FILE ] [ -r REGION ] cluster_name

位置引數

cluster_name

使用提供的名稱顯示叢集的執行個體。

具名引數

-h, --help

顯示所使用的pcluster instances。-c CONFIG_FILE, --config CONFIG_FILE

指定要使用的替代組態檔案。

預設為 ~/.parallelcluster/config。-r REGION, --region REGION

指定AWS 區域以使用。預設為使用 pcluster configure (p. 257) 命令指定的區域。

pcluster list

顯示與 AWS ParallelCluster 相關聯的堆疊清單。

pcluster list [ -h ] [ -c CONFIG_FILE ] [ -r REGION ]

具名引數

-h, --help

顯示所使用的pcluster list。--color

以顏色顯示叢集狀態。

預設為 False。

263

AWS ParallelCluster AWS ParallelCluster 使用者指南pcluster

-c CONFIG_FILE, --config CONFIG_FILE

指定要使用的替代組態檔案。

預設為 c。-r REGION, --region REGION

指定AWS 區域以使用。預設為使用 pcluster configure (p. 257) 命令指定的區域。

列出任何名為 parallelcluster-* 的 AWS CloudFormation 堆疊名稱。

pcluster ssh

執行預先填入叢集使用者名稱和 IP 地址的 ssh 命令。任意引數會附加至 ssh 命令結尾。您可以在組態檔案的別名區段中自訂此命令。

pcluster ssh [ -h ] [ -d ] [ -r REGION ] cluster_name

位置引數

cluster_name

指定要連接的叢集名稱。

具名引數

-h, --help

顯示所使用的pcluster ssh。-d, --dryrun

列印會執行和結束的命令。

預設為 False。-r REGION, --region REGION

指定AWS 區域以使用。預設為使用 pcluster configure (p. 257) 命令指定的區域。

範例:

$ pcluster ssh -d mycluster -i ~/.ssh/id_rsa

傳回預先填入叢集使用者名稱和 IP 地址的 ssh 命令:

$ ssh [email protected] -i ~/.ssh/id_rsa

ssh 命令的定義位於 [aliases] 區段 (p. 271) 下的全域組態檔案中。可以自訂此命令,如下所示。

[ aliases ]ssh = ssh {CFN_USER}@{MASTER_IP} {ARGS}

取代的變數:

264

AWS ParallelCluster AWS ParallelCluster 使用者指南pcluster

CFN_USER

已選取的 base_os (p. 273) 使用者名稱。MASTER_IP

頭節點的 IP 地址。ARGS

要傳遞到 ssh 命令的可選引數。

pcluster start

開始已停止的叢集運算機群。

pcluster start [ -h ] [ -c CONFIG_FILE ] [ -r REGION ] cluster_name

位置引數

cluster_name

啟動所提供叢集名稱的運算機群。

具名引數

-h, --help

顯示所使用的pcluster start。-c CONFIG_FILE, --config CONFIG_FILE

指定要使用的替代組態檔案。

預設為 ~/.parallelcluster/config。-r REGION, --region REGION

指定AWS 區域以使用。預設為使用 pcluster configure (p. 257) 命令指定的區域。

此命令會將 Auto Scaling 群組參數設為下列其中一個:

• 初始組態值 (max_queue_size 和 initial_queue_size),來自建立叢集所用的範本。• 用來更新叢集的組態值,因為它是第一個建立的叢集。

pcluster status

提取叢集的目前狀態。

pcluster status [ -h ] [ -c CONFIG_FILE ] [ -r REGION ] [ -nw ] cluster_name

位置引數

cluster_name

請使用提供的名稱顯示叢集的狀態。

265

AWS ParallelCluster AWS ParallelCluster 使用者指南pcluster

具名引數

-h, --help

顯示所使用的pcluster status。-c CONFIG_FILE, --config CONFIG_FILE

指定要使用的替代組態檔案。

預設為 ~/.parallelcluster/config。-r REGION, --region REGION

指定AWS 區域以使用。預設為使用 pcluster configure (p. 257) 命令指定的區域。-nw, --nowait

指出在處理堆疊命令之後不等待堆疊事件。

預設為 False。

pcluster stop停止運算機列,讓頭部節點保持運作。

pcluster stop [ -h ] [ -c CONFIG_FILE ] [ -r REGION ] cluster_name

位置引數

cluster_name

停止所提供叢集名稱的運算機群。

具名引數

-h, --help

顯示所使用的pcluster stop。-c CONFIG_FILE, --config CONFIG_FILE

指定要使用的替代組態檔案。

預設為 ~/.parallelcluster/config。-r REGION, --region REGION

指定AWS 區域以使用。預設為使用 pcluster configure (p. 257) 命令指定的區域。

將「Auto Scaling」組參數設定為最小/最大/期望值 = 0/0/0,並終止運算機列。頭部仍然在運行。若要終止所有 EC2 資源和避免產生 EC2 費用,請考慮刪除叢集。

pcluster update分析配置文件以確定是否可以安全地更新羣集。如果分析確定可以更新聚類,系統將提示您確認更改。如果分析顯示無法更新聚類,則會列舉作為衝突源的配置設置並帶有詳細信息。如需詳細資訊,請參閱 使用pcluster update (p. 254)。

pcluster update [ -h ] [ -c CONFIG_FILE ] [ --force ] [ -r REGION ] [ -nr ]

266

AWS ParallelCluster AWS ParallelCluster 使用者指南pcluster

[ -nw ] [ -t CLUSTER_TEMPLATE ] [ -p EXTRA_PARAMETERS ] [ -rd ] [ --yes ] cluster_name

位置引數

cluster_name

指定要更新的叢集名稱。

具名引數

-h, --help

顯示所使用的pcluster update。-c CONFIG_FILE, --config CONFIG_FILE

指定要使用的替代組態檔案。

預設為 ~/.parallelcluster/config。--force

啟用更新,即使有一個或多個設定有一個阻塞更改或者是否需要執行未完成的操作(例如停止計算隊列)才能繼續更新。這不應該與--yes引數。

-r REGION, --region REGION

指定AWS 區域以使用。預設為使用 pcluster configure (p. 257) 命令指定的區域。-nr, --norollback

發生錯誤時停用 AWS CloudFormation 堆疊轉返。

預設為 False。-nw, --nowait

指出在處理堆疊命令之後不等待堆疊事件。

預設為 False。-t CLUSTER_TEMPLATE, --cluster-template CLUSTER_TEMPLATE

指定叢集範本使用的區段。-p EXTRA_PARAMETERS, --extra-parameters EXTRA_PARAMETERS

將額外的參數新增至堆疊更新。-rd, --reset-desired

將 Auto Scaling 群組的目前容量重設為初始組態值。

預設為 False。--yes

自動假設所有提示的答案為 Yes(是)。這不應該與--force引數。

呼叫命令,且開始輪詢該呼叫的狀態時,您可以放心使用「Ctrl-C」來結束。您可以透過呼叫 pclusterstatus mycluster 來返回檢視目前狀態。

pcluster version顯示 AWS ParallelCluster 版本。

267

AWS ParallelCluster AWS ParallelCluster 使用者指南pcluster-config

pcluster version [ -h ]

如需命令特定旗標,請執行:pcluster [command] –-help。

具名引數

-h, --help

顯示所使用的pcluster version。

呼叫命令,且開始輪詢該呼叫的狀態時,您可以放心使用「Ctrl-C」來結束。您可以透過呼叫 pclusterstatus mycluster 來返回檢視目前狀態。

pcluster-config更新AWS ParallelCluster組態檔案。

pcluster-config [ -h ] [convert]

如需命令特定旗標,請執行:pcluster-config [command] –h。

具名引數-h, --help

顯示所使用的pcluster-config。

Note

所以此pcluster-config命令已添加到AWS ParallelCluster2.9.0 版

子命令pcluster-config convert

pcluster-config convert [ -h ] [ -c CONFIG_FILE ] [ -t CLUSTER_TEMPLATE ] [ -o OUTPUT_FILE ]

具名引數

-h, --help

顯示所使用的pcluster-config convert。-c CONFIG_FILE, --config-file CONFIG_FILE

指定要讀取的配置檔案路徑。

預設為 ~/.parallelcluster/config。

如需詳細資訊,請參閱 設定 AWS ParallelCluster (p. 191)。-t CLUSTER_TEMPLATE, --cluster-template CLUSTER_TEMPLATE

指示[cluster] 區段 (p. 271)以使用。如果未指定此引數,pcluster-config convert將使用cluster_template (p. 270)設置[global] 區段 (p. 270)。如果不指定,則[clusterdefault]部分。

268

AWS ParallelCluster AWS ParallelCluster 使用者指南組態

-o OUTPUT_FILE, --output OUTPUT_FILE

指定要寫入的轉換後配置檔案路徑。默認情況下,輸出會寫入STDOUT。

範例:

$ pcluster-config convert -t alpha -o ~/.parallelcluster/multiinstance

轉換[cluster alpha]的區段~/.parallelcluster/config,將轉換後的配置文件寫入~/.parallelcluster/multiinstance。

組態主題

• 配置 (p. 269)• [global] 區段 (p. 270)• [aws] 區段 (p. 271)• [aliases] 區段 (p. 271)• [cluster] 區段 (p. 271)• [compute_resource] 區段 (p. 290)• [cw_log] 區段 (p. 292)• [dashboard] 區段 (p. 292)• [dcv] 區段 (p. 293)• [ebs] 區段 (p. 294)• [efs] 區段 (p. 298)• [fsx] 區段 (p. 301)• [queue] 區段 (p. 309)• [raid] 區段 (p. 311)• [scaling] 區段 (p. 315)• [vpc] 區段 (p. 316)• 範例 (p. 204)

依預設,AWS ParallelCluster使用~/.parallelcluster/config檔案來查看所有組態參數。您可以通過使用-c或者--config命令列選項或AWS_PCLUSTER_CONFIG_FILE環境變數。

範例組態檔會與 AWS ParallelCluster 檔案一起安裝在 site-packages/aws-parallelcluster/examples/config 的 Python 目錄中。範例組態檔也可以在 GitHub 上取得,網址為 https://github.com/aws/aws-parallelcluster/blob/v2.11.5/cli/src/pcluster/examples/config。

配置AWS ParallelCluster 組態定義在多個區段中。

下列各節是必要區段:[global]區段 (p. 270)和[aws]區段 (p. 271)。

您還必須至少包含一個[cluster]區段 (p. 271)和一[vpc]區段 (p. 316)。

區段的開頭為括號括住的區段名稱,接著是參數和組態。

269

AWS ParallelCluster AWS ParallelCluster 使用者指南[global] 區段

[global]cluster_template = defaultupdate_check = truesanity_check = true

[global] 區段主題

• cluster_template (p. 270)• update_check (p. 270)• sanity_check (p. 270)

指定與 pcluster 相關的全域組態選項。

[global]

cluster_template

定義的名稱cluster部分,默認情況下用於羣集。的其他相關資訊cluster部分,請參閲[cluster]區段 (p. 271)。叢集名稱必須以字母開頭,包含不超過 60 個字母,並且僅包含字母、數字與連字號 (-)。

例如,以下設定會指定預設使用會啟動 [cluster default] 的區段。

cluster_template = default

更新政策:在更新過程中不會分析此設置。 (p. 254)

update_check

(選用)檢查是否有的更新pcluster。

預設值為 true。

update_check = true

更新政策:在更新過程中不會分析此設置。 (p. 254)

sanity_check

(選用)嘗試驗證叢集參數中定義的資源的配置。

預設值為 true。Warning

如果sanity_check已設定為false,則會跳過重要的檢查。這可能會導致您的配置無法按預期運行。

sanity_check = true

Note

之前AWS ParallelCluster2.5.5.0 版sanity_check (p. 270)默認為false。

270

AWS ParallelCluster AWS ParallelCluster 使用者指南[aws] 區段

更新政策:在更新過程中不會分析此設置。 (p. 254)

[aws] 區段(選用)用於選擇AWS 區域。

集羣創建使用此優先級順序為新集羣選擇區域:

1. -r或者--region參數設定為pcluster create (p. 257)。2. AWS_DEFAULT_REGION環境變數。3. aws_region_name設定[aws]的區段AWS ParallelCluster組態檔(默認位置為~/.parallelcluster/

config。) 這是由pcluster configure (p. 257)命令。4. region設定[default]的區段AWS CLI組態檔 (~/.aws/config。)

Note

之前AWS ParallelCluster2.10.0 版,這些設定是必需的,並將其應用於所有羣集。

若要存放登入資料,您可以使用環境、Amazon EC2 的 IAM 角色,或AWS CLI,而不是將憑據保存到AWSParallelCluster組態檔。

[aws]aws_region_name = Region

更新政策:在更新過程中不會分析此設置。 (p. 254)

[aliases] 區段指定別名,並可讓您自訂 ssh 命令。

請注意下列預設設定:

• CFN_USER會設為作業系統的預設使用者名稱• MASTER_IP設置為頭節點的 IP 地址• ARGS會設為使用者在pcluster ssh cluster_name

[aliases]# This is the aliases section, you can configure# ssh alias heressh = ssh {CFN_USER}@{MASTER_IP} {ARGS}

更新政策:在更新過程中不會分析此設置。 (p. 254)

[cluster] 區段主題

• additional_cfn_template (p. 273)• additional_iam_policies (p. 273)• base_os (p. 273)• cluster_resource_bucket (p. 274)• cluster_type (p. 275)

271

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

• compute_instance_type (p. 275)• compute_root_volume_size (p. 276)• custom_ami (p. 276)• cw_log_settings (p. 276)• dashboard_settings (p. 277)• dcv_settings (p. 277)• desired_vcpus (p. 277)• disable_cluster_dns (p. 278)• disable_hyperthreading (p. 278)• ebs_settings (p. 278)• ec2_iam_role (p. 279)• efs_settings (p. 279)• enable_efa (p. 279)• enable_efa_gdr (p. 279)• enable_intel_hpc_platform (p. 280)• encrypted_ephemeral (p. 280)• ephemeral_dir (p. 280)• extra_json (p. 281)• fsx_settings (p. 281)• iam_lambda_role (p. 281)• initial_queue_size (p. 282)• key_name (p. 282)• maintain_initial_size (p. 282)• master_instance_type (p. 283)• master_root_volume_size (p. 283)• max_queue_size (p. 283)• max_vcpus (p. 284)• min_vcpus (p. 284)• placement (p. 284)• placement_group (p. 284)• post_install (p. 285)• post_install_args (p. 285)• pre_install (p. 285)• pre_install_args (p. 286)• proxy_server (p. 286)• queue_settings (p. 286)• raid_settings (p. 286)• s3_read_resource (p. 287)• s3_read_write_resource (p. 287)• scaling_settings (p. 287)• scheduler (p. 287)• shared_dir (p. 288)• spot_bid_percentage (p. 288)• spot_price (p. 289)• tags (p. 289)• template_url (p. 289)

272

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

• vpc_settings (p. 290)

定義可用於創建集羣的集羣模板。配置文件可以包含多個[cluster]章節。

同一集羣模板可用於創建多個集羣。

格式是 [cluster cluster-template-name]。所以此[cluster]區段 (p. 271)命名的cluster_template (p. 270)設置[global]區段 (p. 270)默認情況下使用,但可以在pcluster (p. 256)命令列。

cluster-template-name必須以字母開頭,包含不超過 30 個字母,數字、連字號 (-) 及底線 (_)。

[cluster default]

additional_cfn_template

(選用)定義一個附加AWS CloudFormation模板與該集一同啟動。此額外模板用於創建屬於叢集以外,但屬於叢集生命週期的資源。

此值必須是公有範本的 HTTP URL,並提供所有提供的參數。

沒有預設值。

additional_cfn_template = https://<bucket-name>.s3.amazonaws.com/my-cfn-template.yaml

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

additional_iam_policies

(選用)指定 Amazon EC2 IAM 政策的 Amazon Resource Name (ARN) 清單。除了要求的許可之外,此列表還會附加至叢集中使用的根角色。AWS ParallelCluster以逗號分隔。IAM 策略名稱及其 ARN 不同。名稱不能用作additional_iam_policies (p. 273)。additional_iam_policies (p. 273)應該使用,而不是ec2_iam_role (p. 279)。這是因為 additional_iam_policies (p. 273) 會加入至 AWSParallelCluster 所需的許可,而且 ec2_iam_role (p. 279) 必須包含所有必要的許可。所需的許可經常隨發行版本新增功能而變更。

沒有預設值。

additional_iam_policies = arn:aws:iam::aws:policy/AdministratorAccess

Note

支援additional_iam_policies (p. 273)新增AWS ParallelCluster2.5.0 版。

更新政策:您可以在更新期間更改此設定。 (p. 254)

base_os

(必要) 指定將哪個作業系統類型用於叢集。

可用選項如下:

• alinux2

• centos7

• ubuntu1804

273

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

• ubuntu2004

Note

適用於AWS基於重力的實例,僅alinux2、ubuntu1804, 或ubuntu2004系統支援。Note

支援centos8被刪除AWS ParallelCluster2.11.4 版。支援ubuntu2004已添加,並支持alinux和ubuntu1604被刪除AWS ParallelCluster2.11.0 版。支援centos8已添加,並支持centos6被刪除AWS ParallelCluster2.10.0 版。支援alinux2新增AWS ParallelCluster2.6.0版。支援ubuntu1804,並支持ubuntu1404被刪除AWS ParallelCluster2.5.0 版。

除了下表中提到的不支持的特定區域以外centos7。所有其他AWS商務區域支援以下所有操作系統。

分割區 (區域) alinux2 centos7 ubuntu1804 與ubuntu2004

商務 (未具體提及的所有區域) True True True

AWS GovCloud(美國東部) (us-gov-east-1)

True False True

AWS GovCloud(美國西部) (us-gov-west-1)

True False True

中國 (北京) (cn-north-1) True False True

中國 (寧夏) (cn-northwest-1) True False True

Note

所以此base_os (p. 273)參數也會判斷登入叢集所用的使用者名稱。

• centos7: centos• ubuntu1804 和 ubuntu2004:ubuntu

• alinux2: ec2-user

Note

之前AWS ParallelCluster2.7.0 版base_os (p. 273)參數是可選的,預設為alinux。從開始AWSParallelCluster2.7.0 版base_os (p. 273)參數是必要的。Note

如果 scheduler (p. 287) 參數為 awsbatch,則僅支援 alinux2。

base_os = alinux2

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

cluster_resource_bucket

(選用)指定用於託管創建叢集時生成的資源的 Amazon S3 存儲段名稱。儲存貯體必須啟用版本控制。如需詳細資訊,請參閱「」使用版本控制中的Amazon Simple Storage Service 用户指南。此存儲桶可用於多個集羣。儲存體必須位於與叢集相同的區域。

274

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

如果未指定此參數,則會在創建集羣時創建一個新的存儲桶。新存儲桶的名稱為parallelcluster-random_string。以這個名義,區區區區區是由字母數字組成的隨機字串。所有羣集資源都存儲在此存儲桶中的路徑中,格式為bucket_name/resource_directory。resource_directory的表單stack_name-random_string,其中stack_name是其中一個AWS CloudFormation使用的堆棧AWS ParallelCluster。的值bucket_name位於ResourcesS3Bucket輸出中的值parallelcluster-clustername堆棧。的值區區區區的值可以找到ArtifactS3RootDirectory輸出來自同一堆棧。

預設值為 parallelcluster-random_string。

cluster_resource_bucket = my-s3-bucket

Note

支援cluster_resource_bucket (p. 274)新增AWS ParallelCluster2.10.0 版。

更新政策:如果更改此設置,則不允許進行更新。無法強制更新此設定。 (p. 255)

cluster_type

(選用)定義要啟動的叢集類型。如果queue_settings (p. 286)設置,則必須將此設置替換為compute_type (p. 309)設定[queue]部分 (p. 309)。

有效選項為:ondemand 和 spot。

預設值為 ondemand。

如需 Spot 執行個體的詳細資訊,請參閱 使用 競價型執行個體 (p. 204)。

Note

使用競價型執行個體需要AWSServiceRoleForEC2Spot您的帳户中存在服務連結角色。若要在您的帳户使用AWS CLI,執行以下命令:

aws iam create-service-linked-role --aws-service-name spot.amazonaws.com

如需詳細資訊,請參閱「」Spot 執行個體請求的服務連結角色中的Amazon EC2 Linux 執行個體使用者指南。

cluster_type = ondemand

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

compute_instance_type

(選用)定義叢集運算節點所用的 Amazon EC2 執行個體類型。實例類型的體繫結構必須與用於master_instance_type (p. 283)設定。如果queue_settings (p. 286)設置,則必須將此設置替換為instance_type (p. 291)設定[compute_resource]部分 (p. 290)。

如果您使用的是awsbatch調度程序,請參閲AWS BatchUI 獲取支援的執行個體類型清單。

當排程器為 awsbatch 時,預設為 t2.micro、optimal。

compute_instance_type = t2.micro

275

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

Note

支援AWS基於重力的實例(包括A1和C6g實例)被添加到AWS ParallelCluster2.8.0 版。

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

compute_root_volume_size

(選用)指定ComputeFleet以 GiB 為單位的根磁盤區大小。AMI 必須支援 growroot。

預設值為 35。

Note

適用於AWS ParallelCluster版本在 2.5.0 和 2.10.4 之間,預設為 25。之前AWSParallelCluster2.5.0 版,預設為 20。

compute_root_volume_size = 35

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

custom_ami

(選用)指定要使用的自訂 AMI ID,而非預設的已發佈 AMI。

沒有預設值。

custom_ami = ami-00d4efc81188687a0

如果自定義 AMI 需要其他權限才能啟動,則必須將這些權限添加到用户和頭節點策略中。

例如,如果自定義 AMI 具有與其關聯的加密快照,則在用户和頭節點策略中都需要以下附加策略:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:ReEncrypt*", "kms:CreateGrant", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:<AWS_REGION>:<AWS_ACCOUNT_ID>:key/<AWS_KMS_KEY_ID>" ] } ]}

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

cw_log_settings

(選用)識別[cw_log]部分CloudWatch日誌組態。節名稱必須以字母開頭,包含不超過 30 個字母,數字、連字號 (-) 和底線 (_)。

276

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

如需詳細資訊,請參閲 。[cw_log]區段 (p. 292)、亞馬遜CloudWatch儀表板 (p. 248),以及與卓越亞馬遜整合CloudWatch日誌 (p. 248)。

例如,以下設定會指定將啟動[cw_log custom-cw]用於CloudWatch日誌組態。

cw_log_settings = custom-cw

Note

支援cw_log_settings (p. 276)新增AWS ParallelCluster2.6.0 版。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

dashboard_settings

(選用)識別[dashboard]部分CloudWatch儀表板配置。節名稱必須以字母開頭,包含不超過 30 個字母,數字、連字號 (-) 和底線 (_)。

如需詳細資訊,請參閲 。[dashboard]區段 (p. 292)。

例如,以下設定會指定將啟動[dashboard custom-dashboard用於CloudWatch儀表板配置。

dashboard_settings = custom-dashboard

Note

支援dashboard_settings (p. 277)新增AWS ParallelCluster2.10.0 版。

更新政策:您可以在更新期間更改此設定。 (p. 254)

dcv_settings

(選用)識別[dcv]部分與 NICE DCV 配置。節名稱必須以字母開頭,包含不超過 30 個字母,數字、連字號(-) 和底線 (_)。

如需詳細資訊,請參閲 。[dcv]區段 (p. 293)。

例如,以下設定會指定將啟動[dcv custom-dcv]用於 NICE DCV 配置。

dcv_settings = custom-dcv

Note

在 上AWS基於重力的實例,NICE DCV 僅在alinux2。

Note

支援dcv_settings (p. 277)新增AWS ParallelCluster2.5.0 版。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

desired_vcpus

(選用)指定運算環境所需的 vCPU 數目。僅在排程器是 awsbatch 時才使用。

預設值為 4。

277

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

desired_vcpus = 4

更新政策:在更新過程中不會分析此設置。 (p. 254)

disable_cluster_dns

(選用)指定是否不應創建叢集的 DNS 項目。在默認情況下,AWS ParallelCluster會建立 Route 53 託管區域。如果disable_cluster_dns已設定為true,則不會創建託管區域。

預設值為 false。

disable_cluster_dns = true

Warning

羣集需要名稱解析系統才能正常運行。如果disable_cluster_dns已設定為true,也必須提供額外的名稱解析系統。Important

disable_cluster_dns (p. 278)=true僅支持queue_settings (p. 286)設置。Note

支援disable_cluster_dns (p. 278)新增AWS ParallelCluster2.9.1 版。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

disable_hyperthreading

(選用)禁用頭部和運算節點上的超線程。並非所有執行個體類型都可以停用超執行緒。如需支援禁用超線程的執行個體類型清單,請參針對每個執行個體類型的 CPU 核心和執行個體核心中的AmazonEC2 Linux 執行個體使用者指南。如果queue_settings (p. 286)設置,可以定義此設置,或者disable_hyperthreading (p. 310)設定[queue]部分 (p. 309)可以定義。

預設值為 false。

disable_hyperthreading = true

Note

disable_hyperthreading (p. 278)只會影響頭節點scheduler (p. 287) = awsbatch。Note

支援disable_hyperthreading (p. 278)新增AWS ParallelCluster2.5.0 版。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

ebs_settings

(選用)識別[ebs]區段與掛載在頭節點上的 Amazon EBS 磁碟區。使用多個 Amazon EBS 卷時,請在列表中輸入這些參數,每個參數用逗號分隔。節名稱必須以字母開頭,包含不超過 30 個字母,數字、連字號 (-)和底線 (_)。

支援高達五 (5) 個額外的 Amazon EBS 磁碟區。

如需詳細資訊,請參閲 。[ebs]區段 (p. 294)。

278

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

例如,以下設定會指定將啟動[ebs custom1]和[ebs custom2]用於 Amazon EBS 磁石區。

ebs_settings = custom1, custom2

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

ec2_iam_role

(選用)定義要連接至叢集中所有執行個體之 Amazon EC2 現有 IAM 角色的名稱。IAM 角色名稱及其 AmazonResource Name (ARN) 是不同的。ARN 無法做為ec2_iam_role (p. 279)。如果指定此選項,則會忽略additional_iam_policies (p. 273) 設定。建議您使用additional_iam_policies (p. 273),而不是ec2_iam_role (p. 279),因為已添加到AWS ParallelCluster通常需要新的權限。

沒有預設值。

ec2_iam_role = ParallelClusterInstanceRole

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

efs_settings

(選用)指定與 Amazon EFS 檔案系統相關的設定。節名稱必須以字母開頭,包含不超過 30 個字母,數字、連字號 (-) 和底線 (_)。

如需詳細資訊,請參閲 。[efs]區段 (p. 298)。

例如,以下設定會指定將啟動[efs customfs]用於 Amazon EFS 文件系統配置。

efs_settings = customfs

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

enable_efa

(選用)如果存在,指定為運算節點啟用 Elastic Fabric Adapter (EFA)。EFA 由特定執行個體類型支援(c5n.18xlarge、c5n.metal、g4dn.metal、i3en.24xlarge、i3en.metal、m5dn.24xlarge、m5n.24xlarge、m5zn.12xlarge、m5zn.metal、r5dn.24xlarge、r5n.24xlarge、p3dn.24xlarge,以及p4d.24xlarge適用於 x86-64 個體,c6gn.16xlarge對於基於 ARM 的重力 2 實例)的特定操作系統(base_os (p. 273)是alinux2、centos7、ubuntu1804, 或ubuntu2004適用於 x86-64個體,alinux2、ubuntu1804, 或ubuntu2004對於基於 ARM 的引力 2 實例)。如需詳細資訊,請參閱 Elastic Fabric Adapter (p. 250)。如果queue_settings (p. 286)設置,可以定義此設置,或者enable_efa (p. 310)設定[queue]部分 (p. 309)可以定義。應使用叢集置放群組以充分減少執行個體之間的延遲。如需詳細資訊,請參閱 placement (p. 284) 及 placement_group (p. 284)。

enable_efa = compute

Note

對基於 ARM 的引力 2 實例的 EFA Support 已添加到AWS ParallelCluster2.10.1 版。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

enable_efa_gdr

(選用) 從開始AWS ParallelCluster2.11.3 版,此設定沒有作用。如果實例類型和操作系統都支持 GpuDirectRDMA(遠程直接內存訪問),則始終啟用 Elastic Fabric Adapter (EFA) FA) 支持。

279

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

Note

AWS ParallelCluster2.10.0 到 2.11.2 版 如果compute指定為運算節點啟用 ElasticFabric Adapter (EFA) 支持 GpuDirect RDMA(遠程直接內存訪問)。將此設置設置為compute要求enable_efa (p. 279)設定設為compute。GpuDirectRDMA EFA 支援由特定執行個體類型支援 (p4d.24xlarge)在特定操作系統上(base_os (p. 273)是alinux2、centos7、ubuntu1804, 或ubuntu2004。如果queue_settings (p. 286)設置,可以定義此設置,或者enable_efa_gdr (p. 310)設定[queue]部分 (p. 309)可以定義。應使用叢集置放群組以充分減少執行個體之間的延遲。如需詳細資訊,請參閱 placement (p. 284) 及 placement_group (p. 284)。

enable_efa_gdr = compute

Note

支援enable_efa_gdr新增AWS ParallelCluster2.10.0 版。

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

enable_intel_hpc_platform

(選用)如果存在,則表示最終用户許可協議被接受。這導致 Intel Parallel Studio 安裝在頭節點上,並與運算節點共用。這會在頭節點引導時增加幾分鐘的時間。只有 CentOS 7 (base_os (p. 273) = centos7) 支援此 enable_intel_hpc_platform (p. 280) 設定。

預設值為 false。

enable_intel_hpc_platform = true

Note

所以此enable_intel_hpc_platform (p. 280)參數不兼容AWS以重力為基礎的執行個體。

Note

支援enable_intel_hpc_platform (p. 280)新增AWS ParallelCluster2.5.0 版。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

encrypted_ephemeral

(選用)使用 LUKS (Linux 統一金鑰設定) 來透過不可復原記憶體內金鑰,加密暫時執行個體存放區磁碟區。

如需詳細資訊,請參閱 https://gitlab.com/cryptsetup/cryptsetup/blob/master/README.md。

預設值為 false。

encrypted_ephemeral = true

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

ephemeral_dir

(選用)定義使用執行個體存放區磁碟區時掛載的路徑。

預設值為 /scratch。

280

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

ephemeral_dir = /scratch

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

extra_json

(選用)定義額外的 JSON,其會合併至Chef dna.json。如需詳細資訊,請參閱 建置自訂 AWSParallelCluster AMI (p. 333)。

預設值為 {}。

extra_json = {}

Note

從開始AWS ParallelCluster2.6.1 版,啟動節點時預設會略過大部分的安裝配方,以改善啟動時間。若要使所有安裝配方有更佳的向後相容性,而不需要啟動時間,請將"skip_install_recipes" : "no"添加到cluster鍵extra_json (p. 281)設定。例如:

extra_json = { "cluster" : { "skip_install_recipes" : "no" } }

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

fsx_settings

(選用)指定為 Lustre 組態定義 FSx 的區段。節名稱必須以字母開頭,包含不超過 30 個字母,數字、連字號(-) 和底線 (_)。

如需詳細資訊,請參閲 。[fsx]區段 (p. 301)。

例如,以下設定會指定將啟動[fsx fs]用於光澤配置的 FSx。

fsx_settings = fs

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

iam_lambda_role

(選用)定義現有AWS Lambda執行角色。此角色附加到羣集中的所有 Lambda 函數。如需詳細資訊,請參閱「」AWS Lambda執行角色中的AWS Lambda開發人員指南。

Note

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

IAM 角色名稱及其 Amazon Resource Name (ARN) 是不同的。ARN 無法做為iam_lambda_role。如果兩者皆是ec2_iam_role (p. 279)和iam_lambda_role被定義,並且scheduler (p. 287)是sge、slurm, 或torque,則不會創建任何角色。如果scheduler (p. 287)是awsbatch,則會在pcluster start (p. 265)。如需取得範例政策,請參ParallelClusterLambdaPolicy運用SGE、Slurm, 或Torque (p. 231)和ParallelClusterLambdaPolicy 使用 awsbatch (p. 232)。

沒有預設值。

iam_lambda_role = ParallelClusterLambdaRole

281

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

Note

支援iam_lambda_role新增AWS ParallelCluster2.10.1 版。

更新政策:您可以在更新期間更改此設定。 (p. 254)

initial_queue_size

(選用)設定要啟動作為叢集中運算節點的 Amazon EC2 執行個體初始數目。如果queue_settings (p. 286)設置,則必須刪除此設置並替換為initial_count (p. 290)設定[compute_resource]部分 (p. 290)。

Note

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

此設定僅適用於傳統排程器 (SGE、Slurm 和 Torque)。如果maintain_initial_size (p. 282)設定true,然後initial_queue_size (p. 282)設置必須至少為一 (1)。

如果排程器是 awsbatch,請改用 min_vcpus (p. 284)。

預設為 2。

initial_queue_size = 2

更新政策:您可以在更新期間更改此設定。 (p. 254)

key_name

(選用)指定現有的 Amazon EC2 金 key pair,以啟用 SSH 存取執行個體。

key_name = mykey

Note

之前AWS ParallelCluster2.11.0 版key_name是必需的設置。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

maintain_initial_sizeNote

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

(選用)維持傳統排程器 Auto Scaling 組的初始大小 (SGE、Slurm,以及Torque。

如果排程器是 awsbatch,請改用 desired_vcpus (p. 277)。

此設定是布林值旗標。如果設置為true,則 Auto Scaling (Auto Scaling) 組的成員數不得少於initial_queue_size (p. 282),以及initial_queue_size (p. 282)必須為一 (1) 或更大。叢集仍可擴充至 max_queue_size (p. 283) 值。如果cluster_type = spot那麼 Auto Scaling) 組可能會中斷執行個體,而且大小可能會放在initial_queue_size (p. 282)。

如果設置為false,Auto Scaling 組可縮減為零 (0) 個成員,以避免資源在不需用到時閒置的情況。

如果queue_settings (p. 286)設置,則必須刪除此設置並替換為initial_count (p. 290)和min_count (p. 291)設定[compute_resource]部分 (p. 290)。

282

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

預設為 false。

maintain_initial_size = false

更新政策:您可以在更新期間更改此設定。 (p. 254)

master_instance_type(選用)定義用於頭節點的 Amazon EC2 實例類型。實例類型的體繫結構必須與用於compute_instance_type (p. 275)設定。

在具有免費套餐的區域中,默認使用免費套餐實例類型(t2.micro或者t3.micro。在沒有免費套餐的區域中,默認為t3.micro。如需AWS免費方案,請參AWS免費方案。

master_instance_type = t2.micro

Note

之前AWS ParallelCluster2.10.1 版,預設為t2.micro位於所有區域。InAWS ParallelCluster2.10.0版p4d.24xlarge不支援頭節點。支援AWS基於重力的實例(例如A1和C6g) 新增AWSParallelCluster2.8.0 版。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

master_root_volume_size(選用)指定頭節點根磁碟區大小,以 GiB 為單位。AMI 必須支援 growroot。

預設值為 35。Note

適用於AWS ParallelCluster版本在 2.5.0 和 2.10.4 之間,預設為 25。之前AWSParallelCluster2.5.0 版,預設為 20。

master_root_volume_size = 35

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

max_queue_size(選用)設定可在叢集中啟動的 Amazon EC2 執行個體數量上限。如果queue_settings (p. 286)設置,則必須刪除此設置並替換為max_count (p. 291)設定[compute_resource]部分 (p. 290)。

Note

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

此設定僅適用於傳統排程器 (SGE、Slurm 和 Torque)。

如果排程器是 awsbatch,請改用 max_vcpus (p. 284)。

預設為 10。

max_queue_size = 10

更新政策:可以在更新過程中更改此設置,但如果值減少,則應停止計算隊列。否則,可能會終止現有節點。

283

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

max_vcpus

(選用)指定運算環境中的 vCPU 數目上限。僅在排程器是 awsbatch 時才使用。

預設值為 20。

max_vcpus = 20

更新政策:無法在更新期間減少此設定。 (p. 255)

min_vcpus

(選用)維持 Auto Scaling (awsbatch排程器。

Note

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

如果排程器是 SGE、Slurm 或 Torque,請改用 maintain_initial_size (p. 282)。

運算環境的成員數不得少於 min_vcpus (p. 284) 的值。

預設為 0。

min_vcpus = 0

更新政策:您可以在更新期間更改此設定。 (p. 254)

placement

(選用)定義叢集置放群組邏輯,讓整個叢集或僅運算執行個體可以使用叢集置放群組。

如果queue_settings (p. 286)設置,則應刪除此設置並將其替換為placement_group (p. 311)設置中的每個[queue]部分 (p. 309)。如果同一置放羣組用於不同的實例類型,則請求可能會因容量不足錯誤而失敗的可能性更大。如需詳細資訊,請參閱「」執行個體容量不足中的Amazon EC2 Linux 執行個體使用者指南。多個隊列只能共享置放羣組,如果事先創建並在placement_group (p. 311)設置。如果每個[queue]部分 (p. 309)定義placement_group (p. 311)設置,則頭節點不能位於隊列的置放羣組中。

有效選項為 cluster 或 compute。

排程器為awsbatch。

預設值為 compute。

placement = compute

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

placement_group

(選用)定義叢集置放群組。如果queue_settings (p. 286)設置,則應刪除此設置並替換為placement_group (p. 311)設定[queue]部分 (p. 309)。

有效選項為以下值:

• DYNAMIC

284

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

• 現有 Amazon EC2 叢集置放羣組名稱

設為 DYNAMIC 時,即會建立唯一的置放群組,並在叢集堆疊過程將其刪除。

排程器為awsbatch。

如需置放羣組的詳細信息,請參置放群組中的Amazon EC2 Linux 執行個體使用者指南。如果同一置放羣組用於不同的實例類型,則請求可能會因容量不足錯誤而失敗的可能性更大。如需詳細資訊,請參閱「」執行個體容量不足中的Amazon EC2 Linux 執行個體使用者指南。

沒有預設值。

並非所有執行個體類型都支援叢集置放群組。例如,預設執行個體類型t3.micro不支援集放置組。有關支持集羣置放羣組的實例類型列表的信息,請參閲叢集放置群組的規則與限制中的Amazon EC2 Linux 執行個體使用者指南。如需使用置放群組的秘訣,請參閱 置放羣組和實例啟動問題 (p. 356)。

placement_group = DYNAMIC

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

post_install(選用)指定在所有節點引導操作完成後運行的安裝後指令碼 URL。如需詳細資訊,請參閱 自訂引導操作 (p. 202)。

當您使用awsbatch作為排程器,則後置安裝指令碼僅會在頭節點上運行。

參數格式可以是 http://hostname/path/to/script.sh 或 s3://bucketname/path/to/script.sh。

沒有預設值。

post_install = s3://<bucket-name>/my-post-install-script.sh

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

post_install_args(選用)指定以引號括住的引數清單,其中列出要傳遞至安裝指令碼的引數。

沒有預設值。

post_install_args = "argument-1 argument-2"

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

pre_install(選用)指定在啟動任何節點部署引導操作之前運行的預安裝腳本的 URL。如需詳細資訊,請參閱 自訂引導操作 (p. 202)。

當您使用awsbatch作為排程器,預先安裝指令碼僅會在頭節點上運行。

參數格式可以是 http://hostname/path/to/script.sh 或 s3://bucketname/path/to/script.sh。

沒有預設值。

285

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

pre_install = s3://<bucket-name>/my-pre-install-script.sh

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

pre_install_args

(選用)指定以括住的引數清單,其中列出要傳遞至預先安裝指令碼的引數。

沒有預設值。

pre_install_args = "argument-3 argument-4"

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

proxy_server

(選用)定義 HTTP 或 HTTPS 代理伺服器,通常為http://x.x.x.x:8080。

沒有預設值。

proxy_server = http://10.11.12.13:8080

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

queue_settings

(選用)指定羣集使用隊列而不是同類計算隊列,以及[queue]部分 (p. 309)被使用。第一[queue]區段 (p. 309)是默認調度程序隊列。所以此queue節名稱必須以小寫字母開頭,包含不超過 30 個字母,並且只能包含小寫字母、數字和連字號 (-)。

Important

queue_settings (p. 286)僅支援時scheduler (p. 287)已設定為slurm。所以此cluster_type (p. 275)、compute_instance_type (p. 275)、initial_queue_size (p. 282)、maintain_initial_size (p. 282)、max_queue_size (p. 283)、placement (p. 284)、placement_group (p. 284),以及spot_price (p. 289)不得指定。所以此disable_hyperthreading (p. 278)和enable_efa (p. 279)設置可在[cluster]區段 (p. 271)或[queue]部分 (p. 309),但不能同時使用。

高達五 (5)[queue]部分 (p. 309)系統支援。

如需詳細資訊,請參閲 。[queue]區段 (p. 309)。

例如,以下設定會指定將啟動[queue q1]和[queue q2]被使用。

queue_settings = q1, q2

Note

支援queue_settings (p. 286)新增AWS ParallelCluster2.9.0 版。

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

raid_settings

(選用)識別[raid]區段與 Amazon EBS 磁碟區 RAID 組態相結合。節名稱必須以字母開頭,包含不超過 30個字母,數字、連字號 (-) 和底線 (_)。

286

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

如需詳細資訊,請參閲 。[raid]區段 (p. 311)。

例如,以下設定會指定將啟動[raid rs]用於 Auto Scaling 配置。

raid_settings = rs

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

s3_read_resource

(選用)指定到的 Amazon S3 資源AWS ParallelCluster節點會獲得唯讀存取。

例如:arn:aws:s3:::my_corporate_bucket*提供對區區區區區區區存儲體以及儲存貯體中的數據元。

請參閱使用 Amazon S3 (p. 204)瞭解格式的詳細資訊。

沒有預設值。

s3_read_resource = arn:aws:s3:::my_corporate_bucket*

更新政策:您可以在更新期間更改此設定。 (p. 254)

s3_read_write_resource

(選用)指定 Amazon S3 資源,AWS ParallelCluster節點會獲得該節點的讀/寫存取。

例如:arn:aws:s3:::my_corporate_bucket/Development/*提供讀取/寫入存取Development文件夾區區區區區區區儲存儲體。

請參閱使用 Amazon S3 (p. 204)瞭解格式的詳細資訊。

沒有預設值。

s3_read_write_resource = arn:aws:s3:::my_corporate_bucket/*

更新政策:您可以在更新期間更改此設定。 (p. 254)

scaling_settings

識別[scaling]部分與 Auto Scaling 配置。節名稱必須以字母開頭,包含不超過 30 個字母,數字、連字號(-) 和底線 (_)。

如需詳細資訊,請參閲 。[scaling]區段 (p. 315)。

例如,以下設定會指定將啟動[scaling custom]用於 Auto Scaling 配置。

scaling_settings = custom

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

scheduler

(必要) 定義叢集的排程器。

有效選項為以下值:

287

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

awsbatch

AWS Batchsge

Note

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

Son of Grid Engine (SGE)slurm

Slurm Workload Manager (Slurm)torque

Note

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

Torque Resource Manager (Torque)

如需 awsbatch 排程器的詳細資訊,請參閱聯網設定 (p. 201)。

Note

之前AWS ParallelCluster2.7.0 版scheduler參數是可選的,預設為sge。從開始AWSParallelCluster2.7.0 版scheduler參數是必要參數。

scheduler = slurm

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

shared_dir

(選用)定義掛載共用 Amazon EBS 磁碟區的路徑。

請不要使用此選項與多個 Amazon EBS 磁碟區搭配。相反地,請提供shared_dir (p. 288)每個[ebs]區段 (p. 294)。

請參[ebs]區段 (p. 294),瞭解有關使用多個亞馬遜 EBS 卷的詳細信息。

預設值為 /shared。

以下範例顯示在/myshared。

shared_dir = myshared

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

spot_bid_percentage

(選用)設定隨需百分比,此百分比可用來計算ComputeFleet,當awsbatch是調度器。

如果未指定,則會選取目前的 Spot 市價,上限為隨需價格。

spot_bid_percentage = 85

288

AWS ParallelCluster AWS ParallelCluster 使用者指南[cluster] 區段

更新政策:您可以在更新期間更改此設定。 (p. 254)

spot_priceNote

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

(選用)設置最大競價價格ComputeFleet在傳統調度程序上(SGE、Slurm,以及Torque。僅在cluster_type (p. 275) 設定設為 spot 時使用。如果您沒有指定值,系統將按現貨價格向您計費,上限為按需價格。如果queue_settings (p. 286)設置,則必須刪除此設置並替換為spot_price (p. 291)設定[compute_resource]部分 (p. 290)。

如果排程器是 awsbatch,請改用 spot_bid_percentage (p. 288)。

如需幫助尋找符合您需求的競價型執行個體,請參Spot 執行個體顧問。

spot_price = 1.50

Note

InAWS ParallelCluster2.5.0 版(如果cluster_type = spot但spot_price (p. 289)執行個體,則會啟動ComputeFleet失敗。這個體已修復在AWS ParallelCluster2.5.1 版。

更新政策:您可以在更新期間更改此設定。 (p. 254)

tags

(選用)定義要使用的標籤AWS CloudFormation。

如果透過 --tags 指定命令列標籤,則會使用組態標籤來合併它們。

命令列標籤會覆寫具有相同金鑰的組態標籤。

標籤採用 JSON 格式。請不要在大括號之外使用引號。

如需詳細資訊,請參閱「」AWS CloudFormation資源標籤類型中的AWS CloudFormation使用者指南。

tags = {"key" : "value", "key2" : "value2"}

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

Note

更新策略不支持更改tags設定AWS ParallelCluster2.8.0 版到 2.9.1 版。

template_url

(選用)定義AWS CloudFormation模板,該模板用來建立集羣。

更新使用原先建立堆疊所用的範本。

預設為 https://aws_region_name-aws-parallelcluster.s3.amazonaws.com/templates/aws-parallelcluster-version.cfn.json。

Warning

這是一個進階參數。如果您自行承擔對此設定的任何更改,風險由您自行承擔。

289

AWS ParallelCluster AWS ParallelCluster 使用者指南[compute_resource] 區段

template_url = https://us-east-1-aws-parallelcluster.s3.amazonaws.com/templates/aws-parallelcluster-2.11.5.cfn.json

更新政策:在更新過程中不會分析此設置。 (p. 254)

vpc_settings

(必要)識別[vpc]區段,其中列出在叢集部署所在的 Amazon VPC 組態。節名稱必須以字母開頭,包含不超過 30 個字母,數字、連字號 (-) 和底線 (_)。

如需詳細資訊,請參閲 。[vpc]區段 (p. 316)。

例如,以下設定會指定將啟動[vpc public]用於亞馬遜 VPC 配置。

vpc_settings = public

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

[compute_resource] 區段主題

• initial_count (p. 290)• instance_type (p. 291)• max_count (p. 291)• min_count (p. 291)• spot_price (p. 291)

定義計算資源的配定設定。[compute_resource]部分 (p. 290)中的compute_resource_settings (p. 309)設置中的[queue]區段 (p. 309)。[compute_resource]部分 (p. 290)僅支持scheduler (p. 287)已設定為slurm。

格式為[compute_resource <compute-resource-name>]。區區區區區區必須以字母開頭,包含不超過 30個字母,並且只包含字母、數字、連字號 (-) 和底線 (_)。

[compute_resource cr1]instance_type = c5.xlargemin_count = 0initial_count = 2max_count = 10spot_price = 0.5

Note

Support[compute_resource]區段 (p. 290)已添加到AWS ParallelCluster2.9.0 版。

initial_count

(選用)為此計算資源啟動的 Amazon EC2 執行個體數目初始設定。在計算資源中啟動至少這麼多節點之前,集羣創建才能完成。如果compute_type (p. 309)設置為spot並且沒有足夠的競價型實例可用,則集羣創建可能會超時而失敗。任何大於min_count (p. 291)設置是動態容量,受scaledown_idletime (p. 315)設定。此設定會取代 initial_queue_size (p. 282) 設定。

預設為 0。

290

AWS ParallelCluster AWS ParallelCluster 使用者指南[compute_resource] 區段

initial_count = 2

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

instance_type

(必要)定義用於此計算資源的 Amazon EC2 實例類型。實例類型的體繫結構必須與用於master_instance_type (p. 283)設定。所以此instance_type設定必須是每個[compute_resource]區段 (p. 290)引用的[queue]區段 (p. 309)。此設定會取代compute_instance_type (p. 275) 設定。

instance_type = t2.micro

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

max_count

(選用)設定可以在此計算資源中啟動的 Amazon EC2 執行個體數目上限。任何大於initial_count (p. 290)設置在關機模式下啟動。此設定會取代 max_queue_size (p. 283) 設定。

預設為 10。

max_count = 10

更新政策:要將隊列的大小減少到當前節點數以下,需要首先停止計算隊列。 (p. 255)

Note

更新策略不支持更改max_count設置,直到計算隊列停止AWS ParallelCluster2.0.0 版至 2.9.1版。

min_count

(選用)設定可以在此計算資源中啟動的 Amazon EC2 執行個體數目下限。這些節點都是靜態容量。在計算資源中啟動至少這個數量的節點之前,集羣創建才能完成。

預設為 0。

min_count = 1

更新政策:減少隊列中靜態節點的數量需要首先停止計算隊列。 (p. 255)

Note

更新策略不支持更改min_count設置,直到計算隊列停止AWS ParallelCluster2.0.0 版至 2.9.1版。

spot_price

(選用)設置此計算資源的最高競價價格。僅在compute_type (p. 309)設置中包含此計算資源的隊列設置為spot。此設定會取代 spot_price (p. 289) 設定。

如果您未指定值,系統將依 Spot 價格向您計費,上限為隨需價格。

如需幫助尋找符合您需求的 Spot 執行個體,請參閲Spot 執行個體顧問。

291

AWS ParallelCluster AWS ParallelCluster 使用者指南[cw_log] 區段

spot_price = 1.50

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

[cw_log] 區段為定義 CloudWatch Logs 的組態設定。

格式為[cw_log cw-log-name]。cw-區區區區必須以字母開頭,包含不超過 30 個字母,並且只包含字母、數字、連字號 (-) 及底線 (_)。

[cw_log custom-cw-log]enable = trueretention_days = 14

如需詳細資訊,請參閱 與卓越亞馬遜整合CloudWatch日誌 (p. 248)、亞馬遜CloudWatch儀表板 (p. 248)及 與卓越亞馬遜整合CloudWatch日誌 (p. 248)。

Note

支援cw_log新增AWS ParallelCluster2.6.0 版。

enable

(選用)指出是否啟用 CloudWatch Logs 日誌。

預設值為 true。使用false以禁用 CloudWatch Logs。

下列範例會啟用 CloudWatch Logs。

enable = true

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

retention_days

(選用)指出 CloudWatch Logs 保留個別日誌事件的天數。

預設值為 14。支援的值分別為1、3、5、7、14、30、60、90、120、150、180、365、400、545、731、1827,和 3653。

以下範例會將 CloudWatch Logs 配置為將日誌事件保留 30 天。

retention_days = 30

更新政策:您可以在更新期間更改此設定。 (p. 254)

[dashboard] 區段針對雲端儀表板定義組態設定。

格式為[dashboard dashboard-name]。區區區區區必須以字母開頭,包含不超過 30 個字母,並且只包含字母、數字、連字號 (-) 及底線 (_)。

[dashboard custom-dashboard]

292

AWS ParallelCluster AWS ParallelCluster 使用者指南[dcv] 區段

enable = true

Note

支援dashboard已添加到AWS ParallelCluster2.10.0 版。

enable(選用)指出系統是否已啟用 CloudWatch 控儀表板。

預設值為 true。使用false以禁用 CloudWatch 板。

下列範例會啟用 CloudWatch 儀表板。

enable = true

更新政策:您可以在更新期間更改此設定。 (p. 254)

[dcv] 區段定義頭節點上運行的 NICE DCV 服務器的配置設置。

要創建和配置 NICE DCV 服務器,請指定dcv_settings (p. 277)與您的部分的名稱,使用enable (p. 294)設定為master,以及base_os (p. 273)設定為alinux2、centos7,或ubuntu1804。

格式是[dcv dcv-name]。dcv 區必須以字母開頭,包含不超過 30 個字符,並且只包含字母、數字、連字號 (-) 及底線 (_)。

[dcv custom-dcv]enable = masterport = 8443access_from = 0.0.0.0/0

Important

默認情況下,NICE DCV 端口設置為AWS ParallelCluster對所有 IPv4 地址開放。但是,只有當您具有 NICE DCV 會話的 URL 並在 30 秒內連接到 NICE DCV 會話時,才能連接到 NICE DCV 端口,當 URL 從pcluster dcv connect。使用access_from (p. 293)設定可進一步使用 CIDR 格式的 IP 範圍限制對 NICE DCV 連接埠的存取,使用port (p. 294)設置來設置非標準端口。Note

Support[dcv]區段 (p. 293)上centos8被刪除AWS ParallelCluster2.10.4 版。Support[dcv]區段 (p. 293)上centos8新增AWS ParallelCluster2.10.0 版。Support[dcv]區段 (p. 293)上AWS基於重力的實例被添加到AWS ParallelCluster2.9.0 版。Support[dcv]區段 (p. 293)上alinux2和ubuntu1804新增AWS ParallelCluster2.6.0 版。Support[dcv]區段 (p. 293)上centos7新增AWS ParallelCluster2.5.0 版。

access_from(選用、建議)指定 CIDR 格式 IP 範圍以連線至 NICE DCV。僅在 AWS ParallelCluster 建立安全群組時,才會使用此設定。

預設值是 0.0.0.0/0,該值允許從任何網際網路位址存取。

access_from = 0.0.0.0/0

293

AWS ParallelCluster AWS ParallelCluster 使用者指南[ebs] 區段

更新政策:您可以在更新期間更改此設定。 (p. 254)

enable

(必要)指示是否在頭節點上啟用 NICE DCV。若要在頭節點上啟用 NICE DCV,並設定必要的安全組,請將enable設定設定master。

下面的示例在頭節點上啟用 NICE DCV。

enable = master

Note

NICE DCV 會自動產生用來保護 NICE DCV 客户端與 NICE DCV 服務器之間流量安全的自我簽署憑證。若要設定您自己的憑證,請參閱NICE DCV 憑證 (p. 254)。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

port

(選用)指定 NICE DCV 的端口。

預設值為 8443。

port = 8443

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

[ebs] 區段主題

• shared_dir (p. 295)• ebs_kms_key_id (p. 295)• ebs_snapshot_id (p. 295)• ebs_volume_id (p. 295)• encrypted (p. 295)• volume_iops (p. 296)• volume_size (p. 296)• volume_throughput (p. 297)• volume_type (p. 297)

定義 Amazon EBS 磁碟區適用的磁碟區組態設定,這些磁碟區是在頭部節點上掛載並透過 NFS 共用至運算節點。

格式是[ebs ebs-name]。EBS 區必須以字母開頭,不得超過 30 個字元,並且只能包含字母、數字、連字號 (-) 和底線 (_)。

[ebs custom1]shared_dir = vol1ebs_snapshot_id = snap-xxxxxvolume_type = io1volume_iops = 200...

294

AWS ParallelCluster AWS ParallelCluster 使用者指南[ebs] 區段

[ebs custom2]shared_dir = vol2...

...

shared_dir

(必要)指定掛載共用 Amazon EBS 磁碟區的路徑。

使用多個 Amazon EBS 磁碟區時需要此參數。

使用一 (1) 個 Amazon EBS 磁碟區時,此選項會覆寫shared_dir (p. 288)中指定的[cluster]區段 (p. 271)。在下列範例中,磁碟區會掛載至 /vol1。

shared_dir = vol1

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

ebs_kms_key_id

(選用)指定自訂AWS KMS用於加密的密鑰。

此參數必須與 encrypted = true 搭配使用。它還必須具有自訂 ec2_iam_role (p. 279)。

如需詳細資訊,請參閱 使用自定義 KMS 密鑰進行磁盤加密 (p. 340)。

ebs_kms_key_id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

ebs_snapshot_id

(選用)定義 Amazon EBS 快照 ID(如果您將快照用作磁碟區的來源)。

沒有預設值。

ebs_snapshot_id = snap-xxxxx

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

ebs_volume_id

(選用)定義要連接至頭節點的現有 Amazon EBS 磁碟區 ID。

沒有預設值。

ebs_volume_id = vol-xxxxxx

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

encrypted

(選用)指定 Amazon EBS 磁碟區是否加密。請注意:DO不與快照搭配使用。

295

AWS ParallelCluster AWS ParallelCluster 使用者指南[ebs] 區段

預設值為 false。

encrypted = false

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

volume_iops

(選用)定義 IOPS 數量io1、io2,以及gp3類型磁碟區。

默認值、支持的值和volume_iops至volume_size比率變化volume_type (p. 315)和volume_size (p. 296)。

volume_type = io1

預設值volume_iops= 100

支援的值volume_iops= 100 至 64000

最大volume_iops至volume_size比率 = 每 GiB 50 IOPS。5000 IOPS 需要volume_size至少 100GiB。

volume_type = io2

預設值volume_iops= 100

支援的值volume_iops= 一百至六千io2Block Express 磁碟區) †

最大volume_iops至volume_size比率 = 每 GiB 500 IOPS。5000 IOPS 需要volume_size至少 10GiB。

volume_type = gp3

預設值volume_iops= 3000

支援的值volume_iops= 三億至十六萬

最大volume_iops至volume_size比率 = 每 GiB 500 IOPS。5000 IOPS 需要volume_size至少 10GiB。

volume_iops = 200

更新政策:您可以在更新期間更改此設定。 (p. 254)

† 最大 IOPS 僅在建置在 Nitro 系統上的執行個體,並提供 32,000 IOPS 以上。其他執行個體保證最高可達 32,000 IOPS。舊io1磁碟區可能無法達到完整性能,除非您修改磁碟區。io2支援 Block Express磁碟區volume_iops值高達 256000。如需詳細資訊,請參閱「」io2Block Express 磁碟區 (預覽版)中的Amazon EC2 Linux 執行個體使用者指南。

volume_size

(選用)指定要建立的磁碟區大小,以 GiB 為單位 (如果未使用快照)。

默認值和支持的值因volume_type (p. 297)。

volume_type = standard

預設值volume_size= 20 GiB

296

AWS ParallelCluster AWS ParallelCluster 使用者指南[ebs] 區段

支援的值volume_size= 1 至 1024 GiBvolume_type=gp2、io1、io2,以及gp3

預設值volume_size= 20 GiB

支援的值volume_size= 1 至 16384 GiBvolume_type=sc1和st1

預設值volume_size= 500 GiB

支援的值volume_size= 500 至 16384 GiB

volume_size = 20

Note

之前AWS ParallelCluster版本 2.10.1 時,所有卷類型的默認值都是 20 GiB。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

volume_throughput

(選用)定義的吞吐量gp3磁碟區類型 (MiB/s)。

預設值為 125。

支援的值volume_throughput= 125—1000 毫米/秒

的比率volume_throughput至volume_iops不得超過 0.25。最大吞吐量為 1000 MiB/s 要求volume_iops設置為至少 4000 個。

volume_throughput = 1000

Note

支援volume_throughput新增AWS ParallelCluster2.10.1 版。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

volume_type

(選用)指定Amazon EBS 磁碟區類型您希望啟動的磁碟區。

有效選項是下列磁碟區類型:

gp2, gp3

一般用途 (SSD)io1, io2

Provisioned IOPS SSDst1

輸送量最佳化 HDDsc1

Cold HDD

297

AWS ParallelCluster AWS ParallelCluster 使用者指南[efs] 區段

standard

上一代磁碟區

如需詳細資訊,請參閱《Linux 執行個體的 Amazon EC2 使用者指南》中的 Amazon EBS 磁碟區類型。

預設值為 gp2。

volume_type = io2

Note

支援gp3和io2新增AWS ParallelCluster2.10.1 版。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

[efs] 區段主題

• efs_fs_id (p. 298)• efs_kms_key_id (p. 299)• encrypted (p. 299)• performance_mode (p. 299)• provisioned_throughput (p. 300)• shared_dir (p. 300)• throughput_mode (p. 300)

定義在頭部和運算節點上掛載的 Amazon EFS 的配置設定。如需詳細資訊,請參閱「」CreateFileSystem在Amazon EFS 檔案中。

格式是[efs efs-name]。efs-Fs-區必須以字母開頭,包含不超過 30 個字母,並且只包含字母、數字、連字號 (-) 和底線 (_)。

[efs customfs]shared_dir = efsencrypted = falseperformance_mode = generalPurpose

efs_fs_id

(選用)定義現有檔案系統的 Amazon EFS 檔案系統 ID。

指定此選項會使得所有其他 Amazon EFS 選項都無效 (除了shared_dir (p. 288)。

如果您設定此選項,則它僅支援下列情況的檔案系統:

• 在堆疊的可用區域中沒有掛載目標

或• 在堆疊的可用區域中有現有的掛載目標,允許來自 0.0.0.0/0 的傳入和傳出 NFS 流量。

驗證 efs_fs_id (p. 298) 的例行性檢查,需要 IAM 角色才能擁有以下許可:

298

AWS ParallelCluster AWS ParallelCluster 使用者指南[efs] 區段

• elasticfilesystem:DescribeMountTargets

• elasticfilesystem:DescribeMountTargetSecurityGroups

• ec2:DescribeSubnets

• ec2:DescribeSecurityGroups

• ec2:DescribeNetworkInterfaceAttribute

若要避免錯誤,您必須將這些許可新增至 IAM 角色,或設定 sanity_check = false。Important

當您設定掛載目標,允許來自的傳入和傳出 NFS 流量0.0.0.0/0,它會使該檔案系統公開給來自掛載目標可用區域中任一處的 NFS 掛載請求。AWS建議您執行不在堆疊的可用區域中建立掛載目標。反之,你應該讓AWS處理此步驟。如果您仍希望在堆疊的可用區域中有掛載目標,請考慮使用自定安全組,方法是提供vpc_security_group_id (p. 317)選項下的[vpc]區段 (p. 316)。然後,將該安全組添加到掛載目標,並關閉sanity_check以建立叢集。

沒有預設值。

efs_fs_id = fs-12345

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

efs_kms_key_id

(選用)識別AWS Key Management Service(AWS KMS) 用來保護加密檔案系統的客户託管密鑰。如果設定此選項,則必須將 encrypted (p. 299) 設定設為 true。這會對應於KmsKeyId參數Amazon EFS API 參考。

沒有預設值。

efs_kms_key_id = 1234abcd-12ab-34cd-56ef-1234567890ab

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

encrypted

(選用)指出檔案系統是否已加密。這會對應於Encrypted參數Amazon EFS API 參考。

預設值為 false。

encrypted = true

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

performance_mode

(選用)定義檔案系統的效能模式。這會對應於PerformanceMode參數Amazon EFS API 參考。

有效選項為以下值:

• generalPurpose

• maxIO

這兩個值都區分大小寫。

299

AWS ParallelCluster AWS ParallelCluster 使用者指南[efs] 區段

我們建議對大部分檔案系統使用 generalPurpose 效能模式。

使用 maxIO 效能模式的檔案系統可擴展到更高階的彙總輸出量和每秒操作數。不過,對於大部分檔案操作,代價是延遲會稍微提高。

在檔案系統建立之後,此參數就無法變更。

預設值為 generalPurpose。

performance_mode = generalPurpose

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

provisioned_throughput

(選用)定義檔案系統的佈建輸出量 (以 MiB/s 測量)。這會對應於ProvisionedThroughputInMibps參數AmazonEFS API 參考。

如果使用此參數,則必須將 throughput_mode (p. 300) 設為 provisioned。

輸送量的限制為 1024 MiB/s。聯絡 AWS Support 以請求增加限制。

最小值為 0.0 MiB/s。

provisioned_throughput = 1024

更新政策:您可以在更新期間更改此設定。 (p. 254)

shared_dir

(必要)定義在頭部和運算節點上的 Amazon EFS 掛載點。

此為必要參數。Amazon EFS 部分僅在shared_dir (p. 288)指定。

請勿使用NONE或者/NONE作為共享目錄。

以下範例在掛載 Amazon EFS/efs。

shared_dir = efs

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

throughput_mode

(選用)定義檔案系統的輸出量模式。這會對應於ThroughputMode參數Amazon EFS API 參考。

有效選項為以下值:

• bursting

• provisioned

預設值為 bursting。

throughput_mode = provisioned

更新政策:您可以在更新期間更改此設定。 (p. 254)

300

AWS ParallelCluster AWS ParallelCluster 使用者指南[fsx] 區段

[fsx] 區段主題

• auto_import_policy (p. 302)• automatic_backup_retention_days (p. 302)• copy_tags_to_backups (p. 303)• daily_automatic_backup_start_time (p. 303)• data_compression_type (p. 303)• deployment_type (p. 304)• drive_cache_type (p. 304)• export_path (p. 304)• fsx_backup_id (p. 305)• fsx_fs_id (p. 305)• fsx_kms_key_id (p. 305)• import_path (p. 306)• imported_file_chunk_size (p. 306)• per_unit_storage_throughput (p. 306)• shared_dir (p. 307)• storage_capacity (p. 307)• storage_type (p. 307)• weekly_maintenance_start_time (p. 309)

Lustre 檔案系統的連接 FSx 定義配置設定。如需有關 FSx for Lustre 的詳細資訊,請參Amazon FSx ofLustre。

支持 FSx for Lustre,如果base_os (p. 273)是alinux2、centos7、ubuntu1804, 或ubuntu2004。

使用 Amazon Linux 時,核心必須 >=4.14.104-78.84.amzn1.x86_64。如需詳細說明,請參閱。安裝Lustre 客户端中的Amazon FSx for Lustre 用户指南。

Note

當前不支援 Lustre 的 FSx for Lustreawsbatch作為調度程序。

Note

Support FSx for Lustrecentos8已在AWS ParallelCluster2.10.4 版 Support FSx forLustreubuntu2004新增AWS ParallelCluster2.11.0 版 Support FSx for Lustrecentos8新增AWSParallelCluster2.10.0 版 Support FSx for Lustrealinux2、ubuntu1604,和ubuntu1804新增AWS ParallelCluster2.6.0 版 Support FSx for Lustrecentos7新增AWS ParallelCluster2.4.0 版

如果使用現有的檔案系統,則它必須與安全群組建立關聯,允許傳入 TCP 流量經過連接埠 988。將來源設為0.0.0.0/0,可讓用於從 VPC 安全組內的所有 IP 範圍存取該規則的通訊協定和連接口範圍。若要進一步限制對檔案系統的訪問,建議您針對安全組規則使用更嚴格的來源。例如,您可以使用更特定的 CIDR 範圍、IP 地址或安全組 ID。這不會使用 vpc_security_group_id (p. 317) 而自動完成。

若要使用現有的 Amazon FSx 檔案系統,請指定fsx_fs_id (p. 305)。

格式是[fsx fsx-name]。fsx 區區必須以字母開頭,包含不超過 30 個字母,並且只能包含字母、數字、連字號 (-) 和底線 (_)。

[fsx fs]shared_dir = /fsx

301

AWS ParallelCluster AWS ParallelCluster 使用者指南[fsx] 區段

fsx_fs_id = fs-073c3803dca3e28a6

若要建立和設定新的檔案系統,請使用下列參數:

[fsx fs]shared_dir = /fsxstorage_capacity = 3600imported_file_chunk_size = 1024export_path = s3://bucket/folderimport_path = s3://bucketweekly_maintenance_start_time = 1:00:00

auto_import_policy

(選用)指定用於反映用於為 Lustre 文件系統創建 FSX 的 S3 存儲桶中的更改的自動導入策略。可能值如下:

NEW

Lustre FSx for Lustre 會自動匯入任何新增至連結的 S3 儲存貯體 (目前不存在 FSx for Lustre) 的新物件的目錄清單。

NEW_CHANGED

Lustre FSx for Lustre 會自動匯入任何新增至 S3 儲存貯體的新物件的檔案和目錄清單,以及在 S3 儲存貯體中更改的任何現有物件。

這會對應到AutoImportPolicy屬性。如需詳細資訊,請參閱「」從 S3 儲存貯體自動匯入更新中的Amazon FSx for Lustre 用户指南當auto_import_policy (p. 302)參數時,automatic_backup_retention_days (p. 302)、copy_tags_to_backups (p. 303)、daily_automatic_backup_start_time (p. 303),和fsx_backup_id (p. 305)參數必須指定。

如果auto_import_policy設置,則禁用自動導入。建立檔案系統時,Lustre 的 FSx for Lustre 只會從鏈接的 S3 儲存貯體更新檔案和目錄清單。

auto_import_policy = NEW_CHANGED

Note

支援auto_import_policy (p. 302)新增AWS ParallelCluster2.10.0 版

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

automatic_backup_retention_days

(選用)指定自動備份的保留天數。這僅適用於PERSISTENT_1部署類型。當automatic_backup_retention_days (p. 302)參數時,auto_import_policy (p. 302)、export_path (p. 304)、import_path (p. 306),和imported_file_chunk_size (p. 306)參數必須指定。這會對應到AutomaticBackupRetentionDays屬性。

預設值為 0. 此設定會停用自動備份。可能的值為 0 到 35 之間的整數(含)。

automatic_backup_retention_days = 35

Note

支援automatic_backup_retention_days (p. 302)新增AWS ParallelCluster2.8.0 版

302

AWS ParallelCluster AWS ParallelCluster 使用者指南[fsx] 區段

更新政策:您可以在更新期間更改此設定。 (p. 254)

copy_tags_to_backups

(選用)指定是否將文件系統的標籤複製到備份中。這僅適用於PERSISTENT_1部署類型。當copy_tags_to_backups (p. 303)參數時,automatic_backup_retention_days (p. 302)必須使用大於 0 的值來指定,而auto_import_policy (p. 302)、export_path (p. 304)、import_path (p. 306),和imported_file_chunk_size (p. 306)參數必須指定。這會對應到CopyTagsToBackups屬性。

預設值為 false。

copy_tags_to_backups = true

Note

支援copy_tags_to_backups (p. 303)新增AWS ParallelCluster2.8.0 版

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

daily_automatic_backup_start_time

(選用)指定開始自動備份的時間 (UTC)。這僅適用於PERSISTENT_1部署類型。當daily_automatic_backup_start_time (p. 303)參數時,automatic_backup_retention_days (p. 302)必須使用大於 0 的值來指定,而auto_import_policy (p. 302)、export_path (p. 304)、import_path (p. 306),和imported_file_chunk_size (p. 306)參數必須指定。這會對應到DailyAutomaticBackupStartTime屬性。

格式是HH:MM,其中HH是填補零的一天的幾時 (0-23),而MM是小時的零填充分鐘。例如,世界標準時間上午1:03 將是:

daily_automatic_backup_start_time = 01:03

預設值是介於00:00和23:59。

Note

支援daily_automatic_backup_start_time (p. 303)新增AWS ParallelCluster2.8.0 版

更新政策:您可以在更新期間更改此設定。 (p. 254)

data_compression_type

(選用)指定光澤數據壓縮類型的 FSx。這會對應到數據彙報類型屬性。如需詳細資訊,請參閱「」FSx forLustre 數據壓縮中的Amazon FSx for Lustre 用户指南。

唯一有效的值為 LZ4。要禁用數據壓縮,請刪除data_compression_type (p. 303)參數。

data_compression_type = LZ4

Note

支援data_compression_type (p. 303)新增AWS ParallelCluster2.11.0 版

更新政策:您可以在更新期間更改此設定。 (p. 254)

303

AWS ParallelCluster AWS ParallelCluster 使用者指南[fsx] 區段

deployment_type

(選用)指定光澤部署類型的 FSx。這會對應到DeploymentType屬性。如需詳細資訊,請參閱「」FSxfor Lustre 部署選項中的Amazon FSx for Lustre 用户指南。選擇臨時儲存和短期處理資料的臨時部署類型。SCRATCH_2是最新一代的臨時文件系統。它提供的突增吞吐量高於基準吞吐量和傳輸中資料加密。

有效值為 SCRATCH_1、SCRATCH_2 和 PERSISTENT_1。

SCRATCH_1

Lustre 的 FSx 預設部署類型。使用此部署類型,storage_capacity (p. 307) 設定值可能為1200、2400 和任何 3600 的倍數。支援SCRATCH_1新增AWS ParallelCluster2.4.0 版

SCRATCH_2

最新一代的臨時文件系統。對於高峯工作負載,它支持的吞吐量是基準吞吐量的六倍。它還支持支持區域中受支持的實例類型的數據在傳輸中加密。如需詳細資訊,請參閱「」加密傳輸中的資料中的Amazon FSx for Lustre 用户指南。使用此部署類型,storage_capacity (p. 307) 設定值可能為1200 和任何 2400 的倍數。支援SCRATCH_2新增AWS ParallelCluster2.6.0 版

PERSISTENT_1

專為長期儲存而設計。檔案服務器具有高可用性,而且資料會在檔案系統的AWS可用區域,它支持支持的實例類型的數據在傳輸中加密。使用此部署類型,storage_capacity (p. 307) 設定值可能為1200 和任何 2400 的倍數。支援PERSISTENT_1新增AWS ParallelCluster2.6.0 版

預設值為 SCRATCH_1。

deployment_type = SCRATCH_2

Note

支援deployment_type (p. 304)新增AWS ParallelCluster2.6.0 版

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

drive_cache_type

(選用)指定文件系統具有 SSD 驅動器緩存。此選項只能在storage_type (p. 307)設定設為HDD。這會對應到DriveCacheType屬性。如需詳細資訊,請參閱「」FSx for Lustre 部署選項中的Amazon FSx for Lustre用户指南。

唯一有效的值為 READ。要禁用 SSD 驅動器緩存,請不要指定drive_cache_type設定。

drive_cache_type = READ

Note

支援drive_cache_type (p. 304)新增AWS ParallelCluster2.10.0 版

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

export_path

(選用)指定檔案系統的根匯入所在的 Amazon S3 路徑。當export_path (p. 304)參數時,automatic_backup_retention_days (p. 302)、copy_tags_to_backups (p. 303)、daily_automatic_backup_start_time (p. 303),和fsx_backup_id (p. 305)參數必須指定。這會對應到ExportPath屬性。文件數據和元數據不會自動導

304

AWS ParallelCluster AWS ParallelCluster 使用者指南[fsx] 區段

出到export_path。有關導出數據和元數據的信息,請參閲使用數據存儲庫任務導出數據和元數據更改中的Amazon FSx for Lustre 用户指南。

預設值是 s3://import-bucket/FSxLustre[creation-timestamp],其中 import-bucket 為import_path (p. 306) 參數中提供的儲存貯體。

export_path = s3://bucket/folder

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

fsx_backup_id

(選用)指定用於從現有備份還原檔案系統的備份的 ID。當fsx_backup_id (p. 305)參數時,auto_import_policy (p. 302)、deployment_type (p. 304)、export_path (p. 304)、fsx_kms_key_id (p. 305)、import_path (p. 306)、imported_file_chunk_size (p. 306)、storage_capacity (p. 307),和per_unit_storage_throughput (p. 306)參數必須指定。這些參數是從備份中讀取的。此外,auto_import_policy (p. 302)、export_path (p. 304)、import_path (p. 306),和imported_file_chunk_size (p. 306)參數必須指定。

這會對應到BackupId屬性。

fsx_backup_id = backup-fedcba98

Note

支援fsx_backup_id (p. 305)新增AWS ParallelCluster2.8.0 版

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

fsx_fs_id

(選用)掛載現有的 FSx for Lustre 檔案系統。

如果指定了此選項,則僅shared_dir (p. 307)和fsx_fs_id (p. 305)設定[fsx]區段 (p. 301)中的任何其他設置,並在[fsx]區段 (p. 301)會忽略。

fsx_fs_id = fs-073c3803dca3e28a6

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

fsx_kms_key_id

(選擇性) 指定您 AWS Key Management Service (AWS KMS) 客戶受管金鑰的金鑰 ID。

系統會使用此金鑰來加密靜態檔案系統中的資料。

此 ID 必須與自訂 ec2_iam_role (p. 279) 搭配使用。如需詳細資訊,請參閱 使用自定義 KMS 密鑰進行磁盤加密 (p. 340)。這會對應到KmsKeyId參數Amazon FSx of API 參考。

fsx_kms_key_id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Note

支援fsx_kms_key_id (p. 305)新增AWS ParallelCluster2.6.0 版

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

305

AWS ParallelCluster AWS ParallelCluster 使用者指南[fsx] 區段

import_path

(選用)指定要從中將資料載入到檔案系統並用作匯入儲存貯體的 S3 儲存貯體。如需詳細資訊,請參閱 export_path (p. 304)。如果指定import_path (p. 306)參數,automatic_backup_retention_days (p. 302)、copy_tags_to_backups (p. 303)、daily_automatic_backup_start_time (p. 303),和fsx_backup_id (p. 305)參數必須指定。這會對應到ImportPath參數Amazon FSx of API 參考。

在建立叢集時進行匯入。如需詳細資訊,請參閱「」從資料儲存庫匯入資料中的Amazon FSx for Lustre 用户指南。導入時,僅導入文件元數據(名稱、所有權、時間戳和權限)。在第一次訪問文件之前,文件數據不會從 S3 存儲桶導入。有關預加載文件內容的詳細信息,請參閲將檔案預載入到檔案系統中的Amazon FSxfor Lustre 用户指南。

如果未提供值,則檔案系統為空。

import_path = s3://bucket

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

imported_file_chunk_size

(選用)從資料儲存庫匯入的檔案 (使用import_path (p. 306)。單一檔案可分割範圍的磁碟數上限會受組成檔案系統的磁碟總數所限。當imported_file_chunk_size (p. 306)參數時,automatic_backup_retention_days (p. 302)、copy_tags_to_backups (p. 303)、daily_automatic_backup_start_time (p. 303),和fsx_backup_id (p. 305)參數必須指定。這會對應到ImportedFileChunkSize屬性。

塊大小默認為1024(1 GiB),而且可高達 512,000 MiB (500 GiB)。Amazon S3 物件大小的上限為 5 TB。

imported_file_chunk_size = 1024

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

per_unit_storage_throughput

(為 PERSISTENT_1 部署類型的必要項目) 對於 deployment_type (p. 304) = PERSISTENT_1 部署類型,描述 MB/s/TiB 中每個 1 個 TB 位元組 (TiB) 儲存體的讀取和寫入輸送量。檔案系統輸送量的計算方式是將網路系統儲存容量 (TiB) 乘以 per_unit_storage_throughput (p. 306) (MB/s/TiB)。對於 2.4 TiB 的檔案系統,佈建 50 MB/s/TiB 的 per_unit_storage_throughput (p. 306) 可產生 120 MB/s 的檔案系統輸送量。您需要支付佈建輸送量的費用。這會對應到PerUnitStorageThroughput屬性。

可能的值取決於storage_type (p. 307)設定。

storage_type (p. 307) = SSD

可能值為 50、100、200。storage_type (p. 307) = HDD

可能的值為 12,40。

per_unit_storage_throughput = 200

Note

支援per_unit_storage_throughput (p. 306)新增AWS ParallelCluster2.6.0 版

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

306

AWS ParallelCluster AWS ParallelCluster 使用者指南[fsx] 區段

shared_dir

(必要)頭部和運算節點上的 Lustre 檔案系統的 FSx 定義掛載點。

請勿使用NONE或者/NONE作為共用目錄。

以下範例會在 /fsx 掛載檔案系統。

shared_dir = /fsx

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

storage_capacity

(必要) 指定檔案系統的儲存容量 (GiB)。這會對應到StorageCapacity屬性。

儲存容量可能值會依 deployment_type (p. 304) 設定而有所不同。

SCRATCH_1

可能的值是 1200、2400 和任何 3600 的倍數。SCRATCH_2

可能的值是 1200 和任何 2400 的倍數。PERSISTENT_1

可能的值根據其他設定的值而有所差異。storage_type (p. 307) = SSD

可能的值是 1200 和任何 2400 的倍數。storage_type (p. 307) = HDD

可能的值根據per_unit_storage_throughput (p. 306)設定。per_unit_storage_throughput (p. 306) = 12

可能的值是 6000 的任何倍數。per_unit_storage_throughput (p. 306) = 40

可能的值是 1800 的任何倍數。

storage_capacity = 7200

Note

適用於AWS ParallelCluster2.5.0 版和 2.5.1 版,storage_capacity (p. 307)支援 1200、2400和 3600 的任何倍數。對於早於AWS ParallelCluster2.5.0 版storage_capacity (p. 307)的大小下限為 3600。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

storage_type

(選用)檔案系統的儲存類型。這會對應到StorageType屬性。可能的值為 SSD 和 HDD。預設值為 SSD。

存儲類型會更改其他設置的可能值。

307

AWS ParallelCluster AWS ParallelCluster 使用者指南[fsx] 區段

storage_type = SSD

指定焊接狀態驅動器 (SSD) 存儲類型。

storage_type = SSD更改其他幾個設置的可能值。drive_cache_type (p. 304)

無法指定此設定。deployment_type (p. 304)

此設定可設定為SCRATCH_1、SCRATCH_2, 或PERSISTENT_1。per_unit_storage_throughput (p. 306)

此必須指定,如果deployment_type (p. 304)已設定為PERSISTENT_1。可能的值為 50、100或 200。

storage_capacity (p. 307)

此必須指定。可能的值會依deployment_type (p. 304)。deployment_type = SCRATCH_1

storage_capacity (p. 307)可以是 1200、2400 或任何 3600 的倍數。deployment_type = SCRATCH_2 或 deployment_type = PERSISTENT_1

storage_capacity (p. 307)可以是 1200 或任何 2400 的倍數。storage_type = HDD

硬盤驅動器 (HDD) 儲存類型。

storage_type = HDD更改其他設置的可能值。drive_cache_type (p. 304)

可以指定此設置。deployment_type (p. 304)

此設定必須設定為PERSISTENT_1。per_unit_storage_throughput (p. 306)

此必須指定。可能的值為 12 或 40。storage_capacity (p. 307)

此必須指定。可能的值根據per_unit_storage_throughput (p. 306)設定。storage_capacity = 12

storage_capacity (p. 307)可以是 6000 的任何倍數。storage_capacity = 40

storage_capacity (p. 307)可以是 1800 的任何倍數。

storage_type = SSD

Note

Supportstorage_type (p. 307)設置已添加到AWS ParallelCluster2.10.0 版

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

308

AWS ParallelCluster AWS ParallelCluster 使用者指南[queue] 區段

weekly_maintenance_start_time

(選用) 以 UTC 時區指定偏好的每週維護執行時間。這會對應到WeeklyMaintenanceStartTime屬性。

格式為 [星期幾]:[小時]:[分鐘]。例如,週一半夜為:

weekly_maintenance_start_time = 1:00:00

更新政策:您可以在更新期間更改此設定。 (p. 254)

[queue] 區段主題

• compute_resource_settings (p. 309)• compute_type (p. 309)• disable_hyperthreading (p. 310)• enable_efa (p. 310)• enable_efa_gdr (p. 310)• placement_group (p. 311)

為單一排列定義組態設定。[queue]部分 (p. 309)僅支持scheduler (p. 287)已設定為slurm。

格式為[queue <queue-name>]。區區區區必須以小寫字母開頭,包含不超過 30 個字母,並且只包含小寫字母、數字和連字號 (-)。

[queue q1]compute_resource_settings = i1,i2placement_group = DYNAMICenable_efa = truedisable_hyperthreading = falsecompute_type = spot

Note

Support[queue]區段 (p. 309)新增AWS ParallelCluster2.9.0 版。

compute_resource_settings

(必要)識別[compute_resource]部分 (p. 290)包含此隊列的計算資源配置。節名稱必須以字母開頭,包含不超過 30 個字母,並且只能包含字母、數字、連字號 (-) 和底線 (_)。

最多三 (3)[compute_resource]部分 (p. 290)支持每個[queue]區段 (p. 309)。

例如,以下設定會指定將啟動[compute_resource cr1]和[compute_resource cr2]被使用。

compute_resource_settings = cr1, cr2

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

compute_type

(選用)定義要為此隊列啟動的實例類型。此設定會取代 cluster_type (p. 275) 設定。

有效選項為:ondemand 和 spot。

309

AWS ParallelCluster AWS ParallelCluster 使用者指南[queue] 區段

預設值為 ondemand。

如需 Spot 執行個體的詳細資訊,請參閱 使用 競價型執行個體 (p. 204)。Note

使用 Spot 執行個體需要AWSServiceRoleForEC2Spot您的帳户中存在服務連結角色。若要在您的帳户中使用AWS CLI,執行以下命令:

aws iam create-service-linked-role --aws-service-name spot.amazonaws.com

如需詳細資訊,請參閱「」Spot 執行個體請求的服務連結角色中的Amazon EC2 Linux 執行個體使用者指南。

以下示例對此隊列中的計算節點使用 SpoTinSet。

compute_type = spot

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

disable_hyperthreading(選用)禁用此隊列中的節點上的超執行個體。並非所有執行個體類型都可以停用超執行緒。如需支援禁用超線程的執行個體類型清單,請參每執行個體類型的 CPU 核心和 CPU 核心的執行個體類型中的Amazon EC2Linux 執行個體使用者指南。如果disable_hyperthreading (p. 278)設置[cluster]區段 (p. 271),則無法定義此設置。

預設值為 false。

disable_hyperthreading = true

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

enable_efa(選用)如果設置為true中,指定為此隊列中的節點啟用 Elastic Fabric Adapter (EFA)。EFA 由以下執行個體類型支援c5n.18xlarge、c5n.metal、g4dn.metal、i3en.24xlarge、i3en.metal、m5dn.24xlarge、m5n.24xlarge、m5zn.12xlarge、m5zn.metal、r5dn.24xlarge、r5n.24xlarge、p3dn.24xlarge,以及p4d.24xlarge以及 x86-64 執行個體和c6gn.16xlarge對於這些操作系統上基於 ARM 的重力2 實例(alinux2、centos7、ubuntu1804, 或ubuntu2004。如需詳細資訊,請參閱 Elastic FabricAdapter (p. 250)。如果enable_efa (p. 279)設置[cluster]區段 (p. 271),則無法定義此設置。應使用叢集置放群組以充分減少執行個體之間的延遲。如需更多詳細資訊,請參閱 placement (p. 284) 及placement_group (p. 284)。

enable_efa = true

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

enable_efa_gdr(選用)從開始AWS ParallelCluster2.11.3 版,則此設定沒有作用。啟用 Elastic Fabric Adapter (EFA) 支持GpuDirect RDMA(遠程直接內存訪問)的計算節點(如果實例類型支持)。

Note

AWS ParallelCluster2.10.0 版至 2.11.2:如果true,指定為此隊列中的節點啟用 Elastic FabricAdapter RDMA(遠程直接內存訪問)。將此設置為true要求enable_efa (p. 310)設定設

310

AWS ParallelCluster AWS ParallelCluster 使用者指南[raid] 區段

為true.EFA GpuDirect RDMA 受以下實例類型的支持(p4d.24xlarge)在這些操作系統上(alinux2、centos7、ubuntu1804, 或ubuntu2004。如果enable_efa_gdr (p. 279)設置[cluster]區段 (p. 271),則無法定義此設置。應使用叢集置放群組以充分減少執行個體之間的延遲。如需更多詳細資訊,請參閱 placement (p. 284) 及 placement_group (p. 284)。

預設值為 false。

enable_efa_gdr = true

Note

支援enable_efa_gdr新增AWS ParallelCluster2.10.0 版。

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

placement_group

(選用)如果存在,則定義此隊列的置放羣組。此設定會取代 placement_group (p. 284) 設定。

有效選項為以下值:

• DYNAMIC

• 現有的 Amazon EC2 集置放組名稱

當設置為DYNAMIC,則會建立此隊列的唯一置放組,並在叢集堆疊過程將其刪除。

如需置放組的詳細資訊,請參置放群組中的Amazon EC2 Linux 執行個體使用者指南。如果同一置放羣組用於不同的實例類型,則請求可能會因容量不足錯誤而失敗的可能性更大。如需詳細資訊,請參閱「」執行個體容量不足中的Amazon EC2 Linux 執行個體使用者指南。

沒有預設值。

並非所有執行個體類型都支援叢集置放群組。例如:t2.micro不支援叢集置放組。有關支持集羣置放羣組的實例類型列表的信息,請參閲叢集放置群組的規則與限制中的Amazon EC2 Linux 執行個體使用者指南。如需使用置放群組的秘訣,請參閱 置放羣組和實例啟動問題 (p. 356)。

placement_group = DYNAMIC

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

[raid] 區段主題

• shared_dir (p. 312)• ebs_kms_key_id (p. 312)• encrypted (p. 312)• num_of_raid_volumes (p. 312)• raid_type (p. 313)• volume_iops (p. 313)• volume_size (p. 314)• volume_throughput (p. 314)• volume_type (p. 315)

311

AWS ParallelCluster AWS ParallelCluster 使用者指南[raid] 區段

定義從若幹相同 Amazon EBS 磁碟區構建的 RAID 陣列的配置設定。RAID 磁碟機掛載在頭部節點上,並將其輸入至使用 NFS 的計算節點。

格式是[raid raid-name]。區區區區必須以字母開頭,包含不超過 30 個字元,並且只能包含字母、數字、連字號 (-) 和底線 (_)。

[raid rs]shared_dir = raidraid_type = 1num_of_raid_volumes = 2encrypted = true

shared_dir

(必要)定義 RAID 陣列在頭部和運算節點上的掛載點。

只在指定此參數時,才會建立 RAID 磁碟機。

請勿使用NONE或者/NONE作為共用目錄。

以下範例會在 /raid 掛載陣列。

shared_dir = raid

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

ebs_kms_key_id

(選用)指定自訂AWS KMS用於加密的金鑰。

此參數必須與 encrypted = true 搭配使用,而且它必須具有自訂 ec2_iam_role (p. 279)。

如需詳細資訊,請參閱 使用自定義 KMS 密鑰進行磁盤加密 (p. 340)。

ebs_kms_key_id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

encrypted

(選用)指定檔案系統是否加密。

預設值為 false。

encrypted = false

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

num_of_raid_volumes

(選用)定義要從中組合 RAID 陣列的 Amazon EBS 磁碟區數目。

磁碟區數目下限為2。

磁碟區數目上限為5。

312

AWS ParallelCluster AWS ParallelCluster 使用者指南[raid] 區段

預設值為 2。

num_of_raid_volumes = 2

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

raid_type

(必要)定義 RAID 陣列的 RAID 類型。

只在指定此參數時,才會建立 RAID 磁碟機。

有效選項為以下值:

• 0

• 1

如需 RAID 類型的詳細資訊,請參RAID 資訊中的Amazon EC2 Linux 執行個體使用者指南。

以下範例會建立 RAID 0 陣列:

raid_type = 0

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

volume_iops

(選用)定義 IOPS 數目io1、io2,以及gp3類型磁碟區。

默認值、支持的值和volume_iops至volume_size率變化volume_type (p. 315)和volume_size (p. 314)。

volume_type = io1

預設值volume_iops= 100

支援的值volume_iops= 100 至 64000

最大volume_iops至volume_size比率 = 每 GiB 50 IOPS。5000 IOPS 需要volume_size至少為100 GiB。

volume_type = io2

預設值volume_iops= 100

支援的值volume_iops= 一百至六千io2Block Express 磁碟區)†

最大volume_iops至volume_size比率 = 每 GiB 500 IOPS。5000 IOPS 需要volume_size至少 10GiB。

volume_type = gp3

預設值volume_iops= 3000

支援的值volume_iops= 三億至十六萬

最大volume_iops至volume_size比率 = 每 GiB 500 IOPS。5000 IOPS 需要volume_size至少 10GiB。

313

AWS ParallelCluster AWS ParallelCluster 使用者指南[raid] 區段

volume_iops = 3000

更新政策:您可以在更新期間更改此設定。 (p. 254)

† 最大 IOPS 僅在建置在 Nitro 系統上的執行個體,並提供 32,000 IOPS 以上。其他執行個體保證最高只能保證 32,000 IOPS。舊io1磁碟區可能無法達到完整效能,除非您修改磁碟區。io2Block Express 磁碟區支持volume_iops值高達 256000。如需詳細資訊,請參閱「」io2Block Express 磁碟區 (預覽版)中的Amazon EC2 Linux 執行個體使用者指南。

volume_size(選用)定義要建立的磁碟區大小,以 GiB 為單位。

默認值和支持的值因volume_type (p. 315)。

volume_type = standard

預設值volume_size= 20 GiB

支援的值volume_size= 1 至 1024 GiBvolume_type=gp2、io1、io2,以及gp3

預設值volume_size= 20 GiB

支援的值volume_size= 1 至 16384 GiBvolume_type=sc1和st1

預設值volume_size= 500 GiB

支援的值volume_size= 500 至 16384 GiB

volume_size = 20

Note

之前AWS ParallelCluster版本 2.10.1 時,所有卷類型的默認值都是 20 GiB。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

volume_throughput(選用)定義gp3磁碟區類型,以 MiB/s 為單位。

預設值為 125。

支援的值volume_throughput= 125—1000 毫米/秒

的率volume_throughput至volume_iops不能超過 0.25。最大吞吐量為 1000 MiB/s 要求volume_iops設置的值至少為 4000。

volume_throughput = 1000

Note

支援volume_throughput新增AWS ParallelCluster2.10.1 版。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

314

AWS ParallelCluster AWS ParallelCluster 使用者指南[scaling] 區段

volume_type

(選用)定義要建置的磁碟區類型。

有效選項為以下值:

gp2, gp3

一般用途 (SSD)io1, io2

Provisioned IOPS SSDst1

輸送量最佳化 HDDsc1

Cold HDDstandard

上一代磁碟區

如需詳細資訊,請參閱《Linux 執行個體的 Amazon EC2 使用者指南》中的 Amazon EBS 磁碟區類型。

預設值為 gp2。

volume_type = io2

Note

支援gp3和io2新增AWS ParallelCluster2.10.1 版。

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

[scaling] 區段主題

• scaledown_idletime (p. 315)

指定會定義運算節點擴展方式的設定。

格式為[scaling scaling-name]。區區區區必須以字母開頭,包含不超過 30 個字母,並且只包含字母、數字、連字號 (-) 及底線 (_)。

[scaling custom]scaledown_idletime = 10

scaledown_idletime

(選用)指定時間量 (以分鐘為單位),運算節點在沒有任務的狀況下將在此時間量後終止。

此參數不會使用awsbatch是調度程序。

預設值為 10。

315

AWS ParallelCluster AWS ParallelCluster 使用者指南[vpc] 區段

scaledown_idletime = 10

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

[vpc] 區段主題

• additional_sg (p. 316)• compute_subnet_cidr (p. 316)• compute_subnet_id (p. 316)• master_subnet_id (p. 317)• ssh_from (p. 317)• use_public_ips (p. 317)• vpc_id (p. 317)• vpc_security_group_id (p. 317)

指定亞馬遜 VPC 組態設定。如需 VPC 的詳細資訊,請參「什麼是 Amazon VPC?」和VPC 的安全最佳實務中的Amazon VPC User Guide。

格式是[vpc vpc-name]。VPC-VPC-name (VPC必須以字母開頭,包含不超過 30 個字母,並且只包含字母、數字、連字號 (-) 和底線 (_)。

[vpc public]vpc_id = vpc-xxxxxxmaster_subnet_id = subnet-xxxxxx

additional_sg

(選用)為所有實例提供其他 Amazon VPC 安全組 ID。

沒有預設值。

additional_sg = sg-xxxxxx

compute_subnet_cidr

(選用)指定網域間路由 (CIDR) 區塊。如果您想要 AWS ParallelCluster 建立運算子網路,請使用此參數。

compute_subnet_cidr = 10.0.100.0/24

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

compute_subnet_id

(選用)指定運算節點佈建所在之現有子網路的 ID。

如果未指定,則 compute_subnet_id (p. 316) 會使用 master_subnet_id (p. 317) 的值。

如果子網路是私有的,則您必須設定 NAT,才能進行 Web 存取。

compute_subnet_id = subnet-xxxxxx

316

AWS ParallelCluster AWS ParallelCluster 使用者指南[vpc] 區段

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

master_subnet_id

(必要)指定頭節點佈建所在之現有子網路的 ID。

master_subnet_id = subnet-xxxxxx

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

ssh_from

(選用)指定可允許以 SSH 存取的 CIDR 格式的 IP 範圍。

僅在 AWS ParallelCluster 建立安全群組時,才會使用此參數。

預設值為 0.0.0.0/0。

ssh_from = 0.0.0.0/0

更新政策:您可以在更新期間更改此設定。 (p. 254)

use_public_ips

(選用)定義是否將公有 IP 地址指派至運算執行個體。

如果設置為true,彈性 IP 地址會與頭節點關聯。

如果設置為false,頭節點會根據「自動指派公有 IP」子網路組態參數的值,具有公有 IP (或是不具有)。

如需範例,請參閱聯網設定 (p. 198)。

預設值為 true。

use_public_ips = true

Important

在預設情況下,所有AWS 帳戶僅限為每個區域使用五 (5) 個彈性 IP 地址。如需詳細資訊,請參閱「」彈性 IP 地址限制在Amazon EC2 Linux 執行個體使用者指南。

更新政策:必須停止計算隊列才能更改此設置以進行更新。 (p. 254)

vpc_id

(必要)指定集佈建所在之 Amazon VPC 的 ID。

vpc_id = vpc-xxxxxx

更新政策:如果更改此設置,則不允許進行更新。 (p. 254)

vpc_security_group_id

(選用)指定將現有安全群組用於所有執行個體。

沒有預設值。

317

AWS ParallelCluster AWS ParallelCluster 使用者指南範例

vpc_security_group_id = sg-xxxxxx

創建的安全組AWS ParallelCluster允許使用端口 22 進行 SSH 訪問,從ssh_from (p. 317)設定或所有IPv4 地址 (0.0.0.0/0),如果ssh_from (p. 317)設定未指定。如果啟用了 NICE DCV,則安全組允許使用端口 8443 訪問 NICE DCV(或任何port (p. 294)設置指定)來自access_from (p. 293)設定或所有 IPv4 地址 (0.0.0.0/0),如果access_from (p. 293)設定未指定。

更新政策:您可以在更新期間更改此設定。 (p. 254)

範例下列範例組態AWS ParallelCluster使用設定Slurm、Torque,和AWS Batch。排程器。

Note

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque。排程器。

內容• Slurm Workload Manager (slurm) (p. 318)• Son of Grid Engine(sge)和Torque Resource Manager(torque) (p. 319)• AWS Batch (awsbatch) (p. 319)

Slurm Workload Manager (slurm)以下範例會啟動具 slurm 排程器的叢集。示例配置啟動帶有 2 個作業隊列的 1 個羣集。第一個隊列spot,最初有 2 個t3.micro可用競價型執行個體。它最多可以擴展到 10 個實例,並在 10 分鐘內沒有運行任務時縮小到至少 1 個實例(使用scaledown_idletime (p. 315)設置)。第二個隊列ondemand,從沒有實例開始,最多可擴展到 5t3.micro隨需執行個體。

[global]update_check = truesanity_check = truecluster_template = slurm

[aws]aws_region_name = <your AWS 區區>

[vpc public]master_subnet_id = <your subnet>vpc_id = <your VPC>

[cluster slurm]key_name = <your EC2 keypair name>base_os = alinux2 # optional, defaults to alinux2scheduler = slurmmaster_instance_type = t3.micro # optional, defaults to t3.microvpc_settings = publicqueue_settings = spot,ondemand

[queue spot]compute_resource_settings = spot_i1compute_type = spot # optional, defaults to ondemand

[compute_resource spot_i1]instance_type = t3.micromin_count = 1 # optional, defaults to 0initial_count = 2 # optional, defaults to 0

318

AWS ParallelCluster AWS ParallelCluster 使用者指南範例

[queue ondemand]compute_resource_settings = ondemand_i1

[compute_resource ondemand_i1]instance_type = t3.micromax_count = 5 # optional, defaults to 10

Son of Grid Engine(sge)和Torque Resource Manager(torque)Note

此範例僅適用於AWS ParallelCluster版,直至 2.11.4 版。從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque。排程器。

下列範例會啟動具torque或者sge。排程器。使用SGE,更改scheduler = torque至scheduler =sge。範例組態允許最高 5 個並行節點,並可在 10 分鐘內都沒有任務執行時縮減至 2 個。

[global]update_check = truesanity_check = truecluster_template = torque

[aws]aws_region_name = <your AWS 區區>

[vpc public]master_subnet_id = <your subnet>vpc_id = <your VPC>

[cluster torque]key_name = <your EC2 keypair name>but they aren't eligible for future updatesbase_os = alinux2 # optional, defaults to alinux2scheduler = torque # optional, defaults to sgemaster_instance_type = t3.micro # optional, defaults to t3.microvpc_settings = publicinitial_queue_size = 2 # optional, defaults to 0maintain_initial_size = true # optional, defaults to falsemax_queue_size = 5 # optional, defaults to 10

Note

從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque。排程器。如果您使用這些版本,則可以繼續使用它們,或者從AWS和服務AWSSupport 團隊。

AWS Batch (awsbatch)以下範例會啟動具 awsbatch 排程器的叢集。它會設為根據您的任務資源需求,挑選更好的執行個體類型。

範例組態允許最高 40 個並行 vCPUs,並可在 10 分鐘內都沒有任務執行時縮減至 0(使用scaledown_idletime (p. 315)設置)。

[global]update_check = truesanity_check = truecluster_template = awsbatch

[aws]aws_region_name = <your AWS 區區>

[vpc public]master_subnet_id = <your subnet>

319

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster 的運作方式

vpc_id = <your VPC>

[cluster awsbatch]scheduler = awsbatchcompute_instance_type = optimal # optional, defaults to optimalmin_vcpus = 0 # optional, defaults to 0desired_vcpus = 0 # optional, defaults to 4max_vcpus = 40 # optional, defaults to 20base_os = alinux2 # optional, defaults to alinux2, controls the base_os of # the head node and the docker image for the compute fleetkey_name = <your EC2 keypair name>vpc_settings = public

AWS ParallelCluster 的運作方式AWS ParallelCluster不但是為了管理叢集而建立,還可當做參考以了解如何利用AWS服務來構建您的 HPC環境。

主題• AWS ParallelCluster流程 (p. 320)• AWS使用的服務AWS ParallelCluster (p. 325)• AWS ParallelCluster Auto Scaling (p. 329)

AWS ParallelCluster流程本節僅適用於以其中一個支援的傳統任務排程器 (SGE、Slurm 或 Torque) 部署的 HPC 叢集。與這些調度程序一起使用時,AWS ParallelCluster與 Auto Scaling 組和基礎任務排程器互動,以管理運算節點的佈建和移除。

對於基於AWS Batch、AWS ParallelCluster依賴於AWS Batch用於計算節點管理。

Note

從 2.11.5, 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。您可以繼續在包括 2.11.4 的版本中使用它們,但它們不符合以後的更新或故障排除支持的資格AWS服務和AWSSupport 團隊。

主題• SGE and Torque integration processes (p. 320)• Slurm integration processes (p. 324)

SGE and Torque integration processesNote

本節僅適用於AWS ParallelCluster版本,並且包括 2.11.4 版。從 2.11.5, 版開始,AWSParallelCluster不支援使用SGE和Torque排程器、Amazon SNS 和 Amazon SQS。

一般概觀

叢集的生命週期在使用者建立叢集之後開始。通常,叢集是從命令列界面 (CLI) 建立的。在建立叢集之後,它會一直存在,直到將其刪除。AWS ParallelCluster 協助程式會在叢集節點上執行,主要管理 HPC 叢集彈性。下圖顯示使用者工作流程和叢集生命週期。以下各節說明用來管理叢集的 AWS ParallelCluster 協助程式。

320

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster流程

搭配SGE和Torque排程器,AWS ParallelCluster使用nodewatcher、jobwatcher,以及sqswatcher程序。

jobwatcher

當叢集執行時,root 使用者所擁有的程序會監控已設定的排程器 (SGE或者Torque。每一分鐘,它都會評估隊列,以便決定何時向上擴展。

321

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster流程

sqswatcher

所以此sqswatcher程序會監控是否有 Auto Scaling 傳送的 Amazon SQS 訊息,以通知您叢集內發生狀態變更。當執行個體上線時,它會將「執行個體備妥」訊息提交給 Amazon SQS。此訊息是由sqs_watcher,運行在頭節點上執行。當新執行個體上線或終止時,這些訊息用來通知佇列管理員,因此管理員能夠在佇列中新增或移除執行個體。

322

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster流程

nodewatcher

nodewatcher 程序在運算機群中的每個節點上執行。在使用者定義的 scaledown_idletime 期間之後,會終止該執行個體。

323

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster流程

Slurm integration processes

搭配Slurm排程器,AWS ParallelCluster使用clustermgtd和computemgt程序。

clustermgtd

以異構模式運行的羣集(通過指定queue_settings (p. 286)值)具有一個羣集管理守護進程(clustermgtd) 進程,該進程在頭節點上運行。這些任務由羣集管理守護程序執行。

• 非活動分區清理• 靜態容量管理:確保靜態容量始終保持正常運行

324

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS使用的服務AWS ParallelCluster

• 將調度程序與 Amazon EC2 同步。• 孤立實例清理• 在 Amazon EC2 終止時恢復計劃程序節點狀態,該狀態發生在掛起工作流程之外• 不正常的 Amazon EC2 實例管理(未通過 Amazon EC2 運行狀況檢查)• 計劃的維護事件管理• 不正常的調度程序節點管理(未通過計劃程序運行狀況檢查)

computemgtd

以異構模式運行的羣集(通過指定queue_settings (p. 286)值)具有計算管理守護程序(computemgtd) 在每個計算節點上運行的進程。計算管理守護程序每隔五 (5) 分鐘確認可以到達頭節點並且運行正常。如果過了五 (5) 分鐘,在此期間無法到達頭節點或運行狀況不佳,計算節點將關閉。

AWS使用的服務AWS ParallelCluster以下 Amazon Web Services (AWS) 服務由AWS ParallelCluster。

主題• AWS Auto Scaling (p. 325)• AWS Batch (p. 326)• AWS CloudFormation (p. 326)• Amazon CloudWatch (p. 326)• Amazon CloudWatch Logs (p. 326)• AWS CodeBuild (p. 326)• Amazon DynamoDB (p. 327)• Amazon Elastic Block Store (p. 327)• Amazon Elastic Compute Cloud (p. 327)• Amazon Elastic Container Registry (p. 327)• Amazon EFS (p. 327)• Amazon FSx for Lustre (p. 327)• AWS Identity and Access Management (p. 327)• AWS Lambda (p. 328)• NICE DCV (p. 328)• Amazon Route 53 (p. 328)• Amazon Simple Notification Service (p. 328)• Amazon Simple Queue Service (p. 328)• Amazon Simple Storage Service (p. 329)• Amazon VPC (p. 329)

AWS Auto ScalingNote

本節資訊僅適用於AWS ParallelCluster版,包含 2.11.4 版。從 2.11.5 版AWS ParallelCluster不支援使用AWS Auto Scaling。

AWS Auto Scaling是一種監控應用程序並根據您的特定和不斷變化的服務要求自動調整容量的服務。此服務會將您的 ComputeFleet 執行個體作為 Auto Scaling 組來管理。該組可以由不斷變化的工作負載靈活驅動,也可以通過初始實例配置靜態固定。

325

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS使用的服務AWS ParallelCluster

AWS Auto Scaling與 ComputeFleet 實例一起使用,但不與AWS Batch叢集。

如需有關 的詳細資訊AWS Auto Scaling,請參https://aws.amazon.com/autoscaling/和https://docs.aws.amazon.com/autoscaling/。

AWS BatchAWS Batch是一個AWS託管作業調度程序服務。它會動態佈建最佳數量和類型的運算資源 (例如 CPU 或記憶體最佳化執行個體)AWS Batch叢集。這些資源是根據批處理作業的特定要求(包括卷要求)進行配置的。搭配AWS Batch,您無需安裝或管理其他批次運算軟體或服務器叢集,即可高效地執行任務。

AWS Batch 只與 AWS Batch 叢集搭配使用。

如需有關 的詳細資訊AWS Batch,請參https://aws.amazon.com/batch/和https://docs.aws.amazon.com/batch/。

AWS CloudFormationAWS CloudFormation是一種基礎架構即代碼服務,它提供了一種通用語言來建模和提供AWS和雲環境中的第三方應用程序資源。這是主要的服務AWS ParallelCluster。中的每個羣集AWS ParallelCluster表示為堆棧,並且每個集羣所需的所有資源都在AWS ParallelCluster AWS CloudFormationTemplate 大得多,AWSParallelClusterCLI 命令直接對應於AWS CloudFormation堆疊命令,例如,建立、更新和刪除命令。在叢集中啟動的執行個體會對AWS CloudFormation終端節點。

如需有關 的詳細資訊AWS CloudFormation,請參https://aws.amazon.com/cloudformation/和https://docs.aws.amazon.com/cloudformation/。

Amazon CloudWatchAmazon CloudWatch (CloudWatch) 是一項監控和可觀察性服務,可為您提供資料和可行的洞察。這些見解可用於監控您的應用程序、響應性能變化和服務異常以及優化資源利用率。InAWSParallelCluster(CloudWatch) 用於儀錶板、監控和記錄 Docker 影像建置步驟以及AWS Batch任務。

之前AWS ParallelCluster2.10.0 版,CloudWatch 僅與AWS Batch叢集。

如需 CloudWatch 的詳細資訊,請參https://aws.amazon.com/cloudwatch/和https://docs.aws.amazon.com/cloudwatch/。

Amazon CloudWatch LogsAmazon CloudWatch Logs (CloudWatch Logs) 是 Amazon CloudWatch 的核心功能之一。您可以使用它來監控、儲存、查看和搜索日誌文件,以獲得許多AWS ParallelCluster。

之前AWS ParallelCluster2.6.0 版,CloudWatch Logs 僅與AWS Batch叢集。

如需詳細資訊,請參閱 與卓越亞馬遜整合CloudWatch日誌 (p. 248)。

AWS CodeBuildAWS CodeBuild(CodeBuild)是一個AWS受管持續集成服務,可遵守源碼、執行測試,並產生可立即部署的軟體套件。InAWS ParallelCluster,CodeBuild 可用來在叢集建立時自動和透明地建置 Docker 影像。

CodeBuild 僅用於AWS Batch叢集。

如需 CodeBuild 的詳細資訊,請參https://aws.amazon.com/codebuild/和https://docs.aws.amazon.com/codebuild/。

326

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS使用的服務AWS ParallelCluster

Amazon DynamoDBAmazon DynamoDB (DynamoDB) 是一種快速靈活的 NoSQL 數據庫服務。它用來儲存叢集的最基本狀態資訊。頭節點會跟蹤 DynamoDB 表中佈建的執行個體。

DynamoDB 庫不與AWS Batch叢集。

如需有關 DynamoDB 的詳細資訊,請參https://aws.amazon.com/dynamodb/和https://docs.aws.amazon.com/dynamodb/。

Amazon Elastic Block StoreAmazon Elastic Block Store (Amazon EBS) 是一種高性能塊儲存體服務,可為共享磁碟區提供永久存放。所有 Amazon EBS 設置都可以通過配置傳遞。Amazon EBS 磁碟區可能是初始化空白或透過現有 AmazonEBS 快照。

如需 Amazon EBS 的詳細資訊,請參https://aws.amazon.com/ebs/和https://docs.aws.amazon.com/ebs/。

Amazon Elastic Compute CloudAmazon Elastic Compute Cloud (Amazon EC2) 提供AWS ParallelCluster。頭部和計算節點是 Amazon EC2執行個體。可選取支援 HVM 的任何執行個體類型。頭節點和計算節點可以是不同的實例類型。此外,如果使用多個隊列,則部分或全部計算節點也可以作為競價型實例啟動。在執行個體上找到的執行個體存放區磁碟區會掛載為條帶 LVM 磁碟區。

如需 Amazon EC2 的詳細資訊,請參https://aws.amazon.com/ec2/和https://docs.aws.amazon.com/ec2/。

Amazon Elastic Container RegistryAmazon EElastic Container Registry (Amazon ECR) 是全受管 Docker 容器註冊表,可讓您輕鬆存放、管理和部署 Docker 容器影像。InAWS ParallelCluster中,Amazon ECR 存儲創建集羣時構建的 Docker 映像。接著,AWS Batch 會使用 Docker 影像來執行提交任務的容器。

Amazon ECR 僅用於搭配AWS Batch叢集。

如需詳細資訊,請參閱「」https://aws.amazon.com/ecr/和https://docs.aws.amazon.com/ecr/。

Amazon EFSAmazon Elastic File System (Amazon EFS) 提供簡單、可擴展且完全受管的彈性 NFS 檔案系統,可搭配使用AWS 雲端服務和內部署資源。亞馬遜 EFS 用於efs_settings (p. 279)設置,並引用[efs]區段 (p. 298)。Support Amazon EFS 已添加至AWS ParallelCluster2.1.0 版

如需 Amazon EFS 的詳細資訊,請參https://aws.amazon.com/efs/和https://docs.aws.amazon.com/efs/。

Amazon FSx for Lustre適用 FSx for Lustre 提供了一個使用開源 Lustre 文件系統的高性能文件系統。用 FSx for Lustre在fsx_settings (p. 281)設置,並引用[fsx]區段 (p. 301)。對 FSx for Lustre Support 已添加到AWSParallelCluster2.2.1 版

如需 FSx for Lustre 詳細資訊,請參https://aws.amazon.com/fsx/lustre/和https://docs.aws.amazon.com/fsx/。

AWS Identity and Access ManagementAWS Identity and Access Management(IAM) 用於AWS ParallelCluster為特定於每個集羣的實例提供Amazon EC2 權限最低的 IAM 角色。AWS ParallelCluster執行個體會獲得僅對部署和管理叢集所需之特定API 呼叫的存取。

327

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS使用的服務AWS ParallelCluster

搭配AWS Batch叢集,系統會為在叢集建立時透過 Docker 影像建置程式包含的元件建立 IAM 角色。這些元件包含的 Lambda 函數允許將 Docker 影像新增至 Amazon ECR 儲存庫。它們還包含的函數允許刪除為叢集和 CodeBuild 專案建立的 Amazon S3 儲存貯體。也有針對 AWS Batch 資源、執行個體和任務的角色。

如需 IAM 的詳細資訊,請參https://aws.amazon.com/iam/和https://docs.aws.amazon.com/iam/。

AWS LambdaAWS Lambda(Lambda) 會執行函數來協調 Docker 影像的建立。Lambda 還會管理自定義叢集資源的清除,例如存放在 Amazon ECR 儲存庫和 Amazon S3 上的 Docker 影像。

如需 Lambda 的詳細資訊,請參https://aws.amazon.com/lambda/和https://docs.aws.amazon.com/lambda/。

NICE DCVNICE DCV 是一種高性能遠端顯示協議,可提供安全的方式,可將遠端桌面和應用程式串流傳送至任何設備,從而在不同的網絡條件下。NICE DCV 用於當dcv_settings (p. 277)設置,並引用[dcv]區段 (p. 293)。對 NICE DCV 的 Support 已添加到AWS ParallelCluster2.5.0 版

有關 NICE DCV 的詳細信息,請參閲https://aws.amazon.com/hpc/dcv/和https://docs.aws.amazon.com/dcv/。

Amazon Route 53Amazon Route 53(Route 53)用於為每個計算節點創建具有主機名和完全限定域名的託管區域。

如需 Route 53 的詳細資訊,請參https://aws.amazon.com/route53/和https://docs.aws.amazon.com/route53/。

Amazon Simple Notification ServiceNote

本節資訊僅適用於AWS ParallelCluster版,包含 2.11.4 版。從 2.11.5 版AWS ParallelCluster不支援 Amazon Simple Notification Service 的使用。

Amazon Simple Notification Service (Amazon SNS) 會收到 Auto Scaling 的通知。這些事件稱為生命週期事件,會在 Auto Scaling 組中啟動或終止時產生。WINAWS ParallelCluster,則 Auto Scaling 組的 AmazonSNS 主題已訂閲 Amazon SQS 隊列。

Amazon SNS 不與AWS Batch叢集。

如需 Amazon SNS 的詳細資訊,請參https://aws.amazon.com/sns/和https://docs.aws.amazon.com/sns/。

Amazon Simple Queue ServiceNote

本節資訊僅適用於AWS ParallelCluster版,包含 2.11.4 版。從 2.11.5 版AWS ParallelCluster不支持使用亞馬遜簡單隊列服務。

Amazon Simple Queue Service (Amazon SQS) 會保留從 Auto Scaling 發送的通知、通過 Amazon SNS 發送的通知以及從計算節點發送的通知。Amazon SQS 會將通知的發送與通知的接收分離。這允許頭節點通過輪詢過程處理通知。在此過程中,頭節點會執行 Amazon SQSwatcher 並輪詢該隊列。Auto Scaling 和計算節點會將消息張貼至隊列。

Amazon SQS 不與AWS Batch叢集。

328

AWS ParallelCluster AWS ParallelCluster 使用者指南AWS ParallelCluster Auto Scaling

如需 Amazon SQS 的詳細資訊,請參https://aws.amazon.com/sqs/和https://docs.aws.amazon.com/sqs/。

Amazon Simple Storage ServiceAmazon Simple Storage Service (Amazon S3) 儲存AWS ParallelCluster模板位於每個地區。AWSParallelCluster可以將設定為允許 CLI/SDK 工具使用 Amazon S3。

當您使用AWS Batch羣集時,您賬户中的 Amazon S3 存儲桶用於存儲相關數據。例如,存儲桶存儲從提交的作業創建 Docker 映像和腳本時創建的對象。

如需詳細資訊,請參閱「」https://aws.amazon.com/s3/和https://docs.aws.amazon.com/s3/。

Amazon VPCAmazon VPC 會定義叢集節點所使用的網絡。集羣的 VPC 設置在[vpc]區段 (p. 316)。

如需 Amazon VPC 的詳細資訊,請參https://aws.amazon.com/vpc/和https://docs.aws.amazon.com/vpc/。

AWS ParallelCluster Auto ScalingNote

本節資訊僅適用於AWS ParallelCluster版本,直至 2.11.4 版。從 2.11.5, 版開始,AWSParallelCluster不支援使用SGE或者Torque排程器。您可以繼續在包括 2.11.4 的版本中使用它們,但是它們不符合未來更新或故障排除支持的資格AWS服務和AWSSupport 團隊。之前AWS ParallelCluster2.9.0 版,Auto Scaling 用於Slurm Workload Manager(Slurm。進一步了解Slurm和多個隊列縮放,請參閲多隊列模式教程 (p. 341)。

本主題中所述的自動調整規模策略適用於透過Son of Grid Engine(SGE)或Torque ResourceManager(Torque。當與其中一個調度程序一起部署時,AWS ParallelCluster透過管理運算節點的 AutoScaling 組,然後視需要變更排程器組態,來實作擴展功能。對於基於AWS Batch、AWS ParallelCluster依賴於彈性擴展功能,它們會依賴於AWS託管作業調度程序。如需詳細資訊,請參閱「」Amazon EC2 AutoScaling中的Amazon EC2 Auto Scaling 使用者指南。

AWS ParallelCluster 部署的叢集在數種方面來說都是彈性的。設定initial_queue_size (p. 282)會指定 ComputeFleet Auto Scaling 組大小值下限,以及所需的容量值。設定max_queue_size (p. 283)會指定 ComputeFleet Auto Scaling 組大小值上限。

329

AWS ParallelCluster AWS ParallelCluster 使用者指南教學課程

向上擴展每分鐘都會發出一個稱為jobwatcher會在前端節點上執行。它會評估佇列中待處理任務目前所需的執行個體數目。如果忙碌節點和請求節點的總數大於 Auto Scaling 組中目前所需的值,則會增加更多執行個體。如果您提交更多任務,系統會對該隊列進行評估,且 Auto Scaling 組會更新,直到指定的max_queue_size (p. 283)。

使用 SGE 排程器,每個任務需要一些插槽才能執行 (一個插槽對應一個處理單位,例如,vCPU)。若要評估處理目前待處理任務所需的執行個體數目,jobwatcher 會將請求的插槽總數除以單一運算節點的容量。對應於可用 vCPUs 數目的運算節點容量,取決於在叢集組態中指定的 Amazon EC2 執行個體類型。

搭配Slurm(之前AWS ParallelCluster2.9.0 版)以及Torque排程器,視情況而定,每個任務可能同時需要一些節點以及每個節點需要一些插槽。對於每個請求,jobwatcher 會判斷滿足新運算需求所需的運算節點數目。例如,假設有一個叢集具有 c5.2xlarge (8 vCPU) 做為運算執行個體類型,且有三個排入佇列的待處理任務具有下列需求:

• 任務 1:2 個節點/每個節點 4 個插槽• 任務 2:3 個節點/每個節點 2 個插槽• 任務 3:1 個節點/每個節點 4 個插槽

在此範例中,jobwatcher需要 Auto Scaling (Auto Scaling) 組中三個新運算執行個體來處理這三個任務。

目前限制:自動擴展邏輯不考慮部分加載的忙節點。例如,運行任務的節點會被視為忙碌,即使其中的插槽是空的。

向下擴增在每個運算節點上,稱為 nodewatcher 的程序會執行,並評估節點的閒置時間。滿足以下兩個條件時,即會終止執行個體:

• 執行個體沒有任務的時段超過 scaledown_idletime (p. 315) (預設設定為 10 分鐘)• 叢集中沒有待處理任務

要終止執行個體,nodewatcher呼叫TerminateInstanceInAutoScalingGroupAPI 操作,如果 Auto Scaling組的大小至少為 Auto Scaling 組大小的最小值,則會刪除實例。此程序會縮減叢集,而不會影響執行中任務。它還會啟用具有固定基本數目執行個體的彈性叢集。

靜態叢集對於 HPC,自動擴展的值與任何其他工作負載相同。唯一的差別是,AWS ParallelCluster具備的程式碼可讓它的互動方式更聰明。例如,如果需要靜態羣集,則可以將initial_queue_size (p. 282)和max_queue_size (p. 283)參數設定為所需叢集的確切大小,然後設定maintain_initial_size (p. 282)參數設置為 true。這麼做會使得 ComputeFleet Auto Scaling 組的下限、上限,以及所需的容量擁有相同的值。

教學課程以下教學課程說明如何開始使用 AWS ParallelCluster,並提供一些常見任務的最佳實務指導。

主題• 在 AWS ParallelCluster 上執行您的第一個任務 (p. 331)• 建置自訂 AWS ParallelCluster AMI (p. 333)• 使用執行 MPI 任務AWS ParallelCluster和awsbatch排程器 (p. 335)

330

AWS ParallelCluster AWS ParallelCluster 使用者指南在 AWS ParallelCluster 上執行您的第一個任務

• 使用自定義 KMS 密鑰進行磁盤加密 (p. 340)• 多隊列模式教程 (p. 341)

在 AWS ParallelCluster 上執行您的第一個任務本教學課程會逐步解說如何在 AWS ParallelCluster 上執行您的第一個 Hello World 任務。

如果您尚未完成 AWS ParallelCluster 的安裝,也未設定 CLI,請在繼續本教學課程之前,依照入門 (p. 182)指南中的指示進行。

確認安裝首先,我們會驗證是否已正確安裝及設定 AWS ParallelCluster。

$ pcluster version

這會傳回 AWS ParallelCluster 的執行版本。如果輸出提供您有關組態的訊息,您將需要執行以下動作來設定AWS ParallelCluster:

$ pcluster configure

建立您的第一個集羣現在要建立您的第一個叢集。由於本教學課程的工作負載不是效能密集的工作負載,我們可以使用t2.micro 的預設執行個體大小。(對於生產工作負載,您可以選擇最適合您需求的執行個體大小。)

讓我們呼叫您的叢集 hello-world。

$ pcluster create hello-world

建立叢集後,您會看到類似如下的輸出:

Starting: hello-worldStatus: parallelcluster-hello-world - CREATE_COMPLETEMasterPublicIP = 54.148.x.xClusterUser: ec2-userMasterPrivateIP = 192.168.x.xGangliaPrivateURL = http://192.168.x.x/ganglia/GangliaPublicURL = http://54.148.x.x/ganglia/

訊息 CREATE_COMPLETE 顯示已成功建立叢集。輸出還會提供主節點的公有和私有 IP 地址。我們需要此 IP才能登入。

登錄到您的頭節點使用 OpenSSH pem 檔案來登入頭節點。

pcluster ssh hello-world -i /path/to/keyfile.pem

登入之後,執行命令 qhost 來驗證您的運算節點是否已設置和設定。

$ qhost

331

AWS ParallelCluster AWS ParallelCluster 使用者指南在 AWS ParallelCluster 上執行您的第一個任務

HOSTNAME ARCH NCPU NSOC NCOR NTHR LOAD MEMTOT MEMUSE SWAPTO SWAPUS----------------------------------------------------------------------------------------------global - - - - - - - - - -ip-192-168-1-125 lx-amd64 2 1 2 2 0.15 3.7G 130.8M 1024.0M 0.0ip-192-168-1-126 lx-amd64 2 1 2 2 0.15 3.7G 130.8M 1024.0M 0.0

輸出顯示我們的叢集中有兩個運算節點,兩者都有兩個可供它們使用的執行緒。

使用 SGE 執行您的第一個任務Note

此示例僅適用於AWS ParallelCluster版,直至 2.11.4 版。從 2.11.5 版開始,AWS ParallelCluster不支援使用SGE或者Torque排程器。

接著,我們建立一個任務,它會休眠一會兒,然後輸出其自己的主機名稱。

建立稱為 hellojob.sh 的檔案,其中具有以下內容。

#!/bin/bashsleep 30echo "Hello World from $(hostname)"

接著,使用 qsub 來提交任務,並驗證它是否執行。

$ qsub hellojob.shYour job 1 ("hellojob.sh") has been submitted

現在,您可以檢視佇列並檢查此任務的狀態。

$ qstatjob-ID prior name user state submit/start at queue slots ja-task-ID----------------------------------------------------------------------------------------------------------------- 1 0.55500 hellojob.s ec2-user r 03/24/2015 22:23:48 [email protected] 1

輸出顯示任務目前處於執行中狀態。等待 30 秒讓任務完成,然後再次執行 qstat。

$ qstat$

現在佇列中沒有任何任務,我們可以在目前的目錄中檢查輸出。

$ ls -ltotal 8-rw-rw-r-- 1 ec2-user ec2-user 48 Mar 24 22:34 hellojob.sh-rw-r--r-- 1 ec2-user ec2-user 0 Mar 24 22:34 hellojob.sh.e1-rw-r--r-- 1 ec2-user ec2-user 34 Mar 24 22:34 hellojob.sh.o1

在輸出中,我們看到 “e1” 和 “o1” 檔案出現在任務指令碼中。由於e1檔案是空的,沒有任何輸出送到stderr。如果檢視 o1 檔案,我們可以看到來自任務的輸出。

332

AWS ParallelCluster AWS ParallelCluster 使用者指南建置自訂 AWS ParallelCluster AMI

$ cat hellojob.sh.o1Hello World from ip-192-168-1-125

輸出也會顯示我們的任務已在執行個體 ip-192-168-1-125 上成功執行。

建置自訂 AWS ParallelCluster AMIImportant

我們不建議構建自定義 AMI 作為自定義AWS ParallelCluster。這是因為,在建置您自己的 AMI 之後,您不再收到未來版本AWS ParallelCluster。此外,如果您建置自訂 AMI,則必須使用每個新的AWS ParallelCluster釋放。

進一步讀之前,我們建議您先看一下自訂引導操作 (p. 202)一節,以判斷您想做的修改是否可編成指令碼,並且支援用於未來AWS ParallelCluster版本。

即使構建自定義 AMI 並不理想(由於前面提到的原因),但仍然存在為AWS ParallelCluster是必要的。本教學課程會逐步引導您建置針對這些方案的自訂 AMI。

Note

從AWS ParallelCluster2.6.1 版,啟動節點時預設會略過大部分的安裝配方。這是為了縮短啟動時間。若要使所有安裝配方有更佳的向後相容性,而不需要啟動時間,請將"skip_install_recipes" : "no"添加到cluster金鑰extra_json (p. 281)設定。例如:

extra_json = { "cluster" : { "skip_install_recipes" : "no" } }

如何自訂 AWS ParallelCluster AMI有三個使用自訂 AWS ParallelCluster AMI 的方法。這三個方法中的兩個要求您建置可在AWS 帳戶。第三個方法(在運行時間使用自訂 AMI)不需要您事先建置任何項目。選取最符合您需求的方法。

自訂方法• 修改 AWS ParallelCluster AMI (p. 150)• 建置自訂 AWS ParallelCluster AMI (p. 148)• 在執行時間使用自訂 AMI (p. 334)

修改 AWS ParallelCluster AMI

這是最安全的,最推薦的方法。因為基地AWS ParallelClusterAMI 時常更新為新版本,此 AMI 具有AWSParallelCluster以在安裝和配置時正常工作。您可以開始以此做為基礎。

1. 在 AMI 清單中,找到對應於您使用的特定區域的 AMI。您選取的 AMI 清單必須符合AWS ParallelCluster您使用的。執行 pcluster version 以驗證版本。適用於AWS ParallelCluster2.11.5 版,請轉到https://github.com/aws/aws-parallelcluster/blob/v2.11.5/amis.txt。要選擇其他版本,請使用相同的鏈接,選擇標籤:2.11.5按鈕,選擇標籤選項卡,然後選取適當的版本。

2. 在 Amazon EC2 主控台中,選取執行個體啟動。3. 導覽至。Community AMIs (社群 AMI),然後在搜尋框中輸入區域的 AMI ID。4. 選取 AMI,選擇您的執行個體類型和屬性,然後啟動執行個體。5. 使用作業系統使用者和 SSH 金鑰來登入執行個體。6. 視需要自訂執行個體。7. 執行下列命令,以備妥執行個體來建立 AMI:

333

AWS ParallelCluster AWS ParallelCluster 使用者指南建置自訂 AWS ParallelCluster AMI

sudo /usr/local/sbin/ami_cleanup.sh

8. 停止執行個體。9. 從執行個體建立新的 AMI。10.在叢集組態的 custom_ami (p. 276) 欄位中輸入 AMI id。

建置自訂 AWS ParallelCluster AMI如果已有適當的自訂 AMI 和軟體,您可以在它上面套用 AWS ParallelCluster 所需的變更。

1. 將以下內容安裝在本機系統中,並將AWS ParallelClusterCLI:• Packer:從 Packer 網站中,尋找您作業系統的最新版本並加以安裝。版本必須至少為 1.4.0,但建議使

用最新版本。驗證packer命令在您的 PATH 中可用。Note

之前AWS ParallelCluster2.8.0 版Berkshelf(這是通過使用gem install berkshelf)才能使用pcluster createami。

2. 設定AWS 帳戶憑據,以便打包程序可以調用AWSAPI 操作會代表您。Packer 工作所需的最低許可集合在IAM 任務或實例角色的 區段Amazon AMI 建置器主題。

3. 使用 createami CLI 中的 AWS ParallelCluster,以從您提供的基礎 AMI 來開始建置 AWSParallelCluster AMI:

pcluster createami --ami-id <BASE_AMI> --os <BASE_AMI_OS>

Important

您不應該使用AWS ParallelClusterAMI 從執行中的羣集<BASE_AMI>(針對)createami命令。否則命令會失敗。

如需其他參數,請參pcluster createami (p. 259)。4. 步驟 4 中的命令會運行 Packer,它專門執行下列動作:

a. 使用提供的基礎 AMI 來啟動執行個體。b. 將AWS ParallelCluster食譜到執行個體,以安裝相關軟體並執行其他必要的設定任務。c. 停止執行個體。d. 從執行個體建立新的 AMI。e. 在建立 AMI 之後終止執行個體。f. 輸出新的 AMI ID 字串以用來建立叢集。

5. 若要建立叢集,請在叢集組態的 custom_ami (p. 276) 欄位中輸入 AMI ID。

Note

執行個體類型,用來建置自訂AWS ParallelClusterAMI 是t2.xlarge。此實例類型不符合AWS免費套餐,因此您需要對建置此 AMI 時建立的任何執行個體付費。

在執行時間使用自訂 AMI如果您完全不想要事先建立任何項目,則可以使用您的 AMI 來建立AWS ParallelCluster從該 AMI。

使用此方法,需要更長的時間AWS ParallelCluster來創建,因為所有AWS ParallelCluster必須安裝。此外,擴展也需要更長的時間。

• 在叢集組態的 custom_ami (p. 276) 欄位中輸入 AMI id。

334

AWS ParallelCluster AWS ParallelCluster 使用者指南使用執行 MPI 任務AWS ParallelCluster和awsbatch排程器

使用執行 MPI 任務AWS ParallelCluster和awsbatch排程器本教學課程會逐步解說如何搭配 awsbatch 做為排程器來執行 MPI 任務。

如果您尚未安裝 AWS ParallelCluster 和設定 CLI,請在繼續本教學課程之前,依照入門 (p. 182)指南中的指示進行。在進入下一步之前,也務必仔細閱讀 awsbatch 聯網步驟 (p. 201)文件。

建立叢集首先,讓我們為叢集建立一個組態,使用 awsbatch 做為排程器。務必以您在設定時所建立的資源插入 vpc區段和 key_name 欄位中缺少的資料。

[global]sanity_check = true

[aws]aws_region_name = us-east-1

[cluster awsbatch]base_os = alinux# Replace with the name of the key you intend to use.key_name = key-區區區區區區區vpc_settings = my-vpcscheduler = awsbatchcompute_instance_type = optimalmin_vcpus = 2desired_vcpus = 2max_vcpus = 24

[vpc my-vpc]# Replace with the id of the vpc you intend to use.vpc_id = vpc-區區區區區區區# Replace with id of the subnet for the Head node.master_subnet_id = subnet-區區區區區區區# Replace with id of the subnet for the Compute nodes.# A NAT Gateway is required for MNP.compute_subnet_id = subnet-區區區區區區區

您現在可以開始建立叢集。讓我們呼叫叢集 awsbatch-tutorial。

$ pcluster create -c /path/to/the/created/config/aws_batch.config -t awsbatch awsbatch-tutorial

建立叢集後,您會看到類似如下的輸出:

Beginning cluster creation for cluster: awsbatch-tutorialCreating stack named: parallelcluster-awsbatchStatus: parallelcluster-awsbatch - CREATE_COMPLETEMasterPublicIP: 54.160.xxx.xxxClusterUser: ec2-userMasterPrivateIP: 10.0.0.15

登錄到您的頭節點AWS ParallelCluster 批次 CLI (p. 241) 命令都可在安裝 AWS ParallelCluster 的用戶端機器上使用。不過,我們將透過 SSH 進入頭節點,並從那裡提交任務。這讓我們可以利用 NFS 磁盤區,而此 NFS 磁區是在頭部與執行的所有 Docker 執行個體之間共用AWS Batch任務

335

AWS ParallelCluster AWS ParallelCluster 使用者指南使用執行 MPI 任務AWS ParallelCluster和awsbatch排程器

使用 SSH pem 檔案來登入頭節點。

$ pcluster ssh awsbatch-tutorial -i /path/to/keyfile.pem

登入後,請執行以下命令awsbqueues和awsbhosts以顯示已配置的AWS Batch隊列和正在運行的亞馬遜彈性雲服務器實例。

[ec2-user@ip-10-0-0-111 ~]$ awsbqueuesjobQueueName status--------------------------------- --------parallelcluster-awsbatch-tutorial VALID

[ec2-user@ip-10-0-0-111 ~]$ awsbhostsec2InstanceId instanceType privateIpAddress publicIpAddress runningJobs------------------- -------------- ------------------ ----------------- -------------i-0d6a0c8c560cd5bed m4.large 10.0.0.235 34.239.174.236 0

如您在輸出中所見,我們只有一個執行中的主機。這是由於我們在組態中針對 min_vcpus (p. 284) 選擇的值所致。如果您想要顯示有關 AWS Batch 佇列和主機的其他詳細資訊,請將 -d 旗標新增至命令。

使用 AWS Batch 執行您的第一個任務在移至 MPI 之前,讓我們先建立一個虛擬任務,它會先休眠一會兒,之後便會輸出其自己的主機名稱,並問候以參數傳遞的名稱。

建立名為 "hellojob.sh" 的檔案,其中內容如下。

#!/bin/bash

sleep 30echo "Hello $1 from $HOSTNAME"echo "Hello $1 from $HOSTNAME" > "/shared/secret_message_for_${1}_by_${AWS_BATCH_JOB_ID}"

接著,使用 awsbsub 來提交任務,並驗證它是否執行。

$ awsbsub -jn hello -cf hellojob.sh LucaJob 6efe6c7c-4943-4c1a-baf5-edbfeccab5d2 (hello) has been submitted.

檢視佇列並檢查任務的狀態。

$ awsbstatjobId jobName status startedAt stoppedAt exitCode------------------------------------ ----------- -------- ------------------- ----------- ----------6efe6c7c-4943-4c1a-baf5-edbfeccab5d2 hello RUNNING 2018-11-12 09:41:29 - -

輸出提供任務的詳細資訊。

$ awsbstat 6efe6c7c-4943-4c1a-baf5-edbfeccab5d2jobId : 6efe6c7c-4943-4c1a-baf5-edbfeccab5d2jobName : hellocreatedAt : 2018-11-12 09:41:21startedAt : 2018-11-12 09:41:29stoppedAt : -status : RUNNING

336

AWS ParallelCluster AWS ParallelCluster 使用者指南使用執行 MPI 任務AWS ParallelCluster和awsbatch排程器

statusReason : -jobDefinition : parallelcluster-myBatch:1jobQueue : parallelcluster-myBatchcommand : /bin/bash -c 'aws s3 --region us-east-1 cp s3://parallelcluster-mybatch-lui1ftboklhpns95/batch/job-hellojob_sh-1542015680924.sh /tmp/batch/job-hellojob_sh-1542015680924.sh; bash /tmp/batch/job-hellojob_sh-1542015680924.sh Luca'exitCode : -reason : -vcpus : 1memory[MB] : 128nodes : 1logStream : parallelcluster-myBatch/default/c75dac4a-5aca-4238-a4dd-078037453554log : https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logEventViewer:group=/aws/batch/job;stream=parallelcluster-myBatch/default/c75dac4a-5aca-4238-a4dd-078037453554-------------------------

請注意,任務目前處於 RUNNING 狀態。等待 30 秒讓任務完成,然後再次執行 awsbstat。

$ awsbstatjobId jobName status startedAt stoppedAt exitCode------------------------------------ ----------- -------- ------------------- ----------- ----------

現在,您可以看到任務處於 SUCCEEDED 狀態。

$ awsbstat -s SUCCEEDEDjobId jobName status startedAt stoppedAt exitCode------------------------------------ ----------- --------- ------------------- ------------------- ----------6efe6c7c-4943-4c1a-baf5-edbfeccab5d2 hello SUCCEEDED 2018-11-12 09:41:29 2018-11-12 09:42:00 0

由於現在佇列中沒有任何任務,我們可以透過 awsbout 命令來檢查輸出。

$ awsbout 6efe6c7c-4943-4c1a-baf5-edbfeccab5d22018-11-12 09:41:29: Starting Job 6efe6c7c-4943-4c1a-baf5-edbfeccab5d2download: s3://parallelcluster-mybatch-lui1ftboklhpns95/batch/job-hellojob_sh-1542015680924.sh to tmp/batch/job-hellojob_sh-1542015680924.sh2018-11-12 09:42:00: Hello Luca from ip-172-31-4-234

我們可以看到任務已在執行個體 "ip-172-31-4-234" 上成功執行。

如果您查看 /shared 目錄,您會發現一則給您的秘密訊息。

若要探索不是本教學課程一部分的所有可用功能,請參閱 AWS ParallelCluster 批次 CLI 文件 (p. 241)。當您準備好繼續教學課程時,讓我們繼續看如何提交 MPI 任務。

在多節點平行環境中執行 MPI 任務儘管仍會登入頭節點,請在/shared名為的目錄mpi_hello_world.c。將以下 MPI 程式新增至這個檔案:

// Copyright 2011 www.mpitutorial.com//// An intro MPI hello world program that uses MPI_Init, MPI_Comm_size,

337

AWS ParallelCluster AWS ParallelCluster 使用者指南使用執行 MPI 任務AWS ParallelCluster和awsbatch排程器

// MPI_Comm_rank, MPI_Finalize, and MPI_Get_processor_name.//#include <mpi.h>#include <stdio.h>#include <stddef.h>

int main(int argc, char** argv) { // Initialize the MPI environment. The two arguments to MPI Init are not // currently used by MPI implementations, but are there in case future // implementations might need the arguments. MPI_Init(NULL, NULL);

// Get the number of processes int world_size; MPI_Comm_size(MPI_COMM_WORLD, &world_size);

// Get the rank of the process int world_rank; MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);

// Get the name of the processor char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_len; MPI_Get_processor_name(processor_name, &name_len);

// Print off a hello world message printf("Hello world from processor %s, rank %d out of %d processors\n", processor_name, world_rank, world_size);

// Finalize the MPI environment. No more MPI calls can be made after this MPI_Finalize();}

現在,將下列程式碼儲存為 submit_mpi.sh:

#!/bin/bashecho "ip container: $(/sbin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1)"echo "ip host: $(curl -s "http://169.254.169.254/latest/meta-data/local-ipv4")"

# get shared dirIFS=',' _shared_dirs=(${PCLUSTER_SHARED_DIRS})_shared_dir=${_shared_dirs[0]}_job_dir="${_shared_dir}/${AWS_BATCH_JOB_ID%#*}-${AWS_BATCH_JOB_ATTEMPT}"_exit_code_file="${_job_dir}/batch-exit-code"

if [[ "${AWS_BATCH_JOB_NODE_INDEX}" -eq "${AWS_BATCH_JOB_MAIN_NODE_INDEX}" ]]; then echo "Hello I'm the main node $HOSTNAME! I run the mpi job!"

mkdir -p "${_job_dir}"

echo "Compiling..." /usr/lib64/openmpi/bin/mpicc -o "${_job_dir}/mpi_hello_world" "${_shared_dir}/mpi_hello_world.c"

echo "Running..." /usr/lib64/openmpi/bin/mpirun --mca btl_tcp_if_include eth0 --allow-run-as-root --machinefile "${HOME}/hostfile" "${_job_dir}/mpi_hello_world"

# Write exit status code echo "0" > "${_exit_code_file}" # Waiting for compute nodes to terminate sleep 30else echo "Hello I'm the compute node $HOSTNAME! I let the main node orchestrate the mpi processing!"

338

AWS ParallelCluster AWS ParallelCluster 使用者指南使用執行 MPI 任務AWS ParallelCluster和awsbatch排程器

# Since mpi orchestration happens on the main node, we need to make sure the containers representing the compute # nodes are not terminated. A simple trick is to wait for a file containing the status code to be created. # All compute nodes are terminated by AWS Batch if the main node exits abruptly. while [ ! -f "${_exit_code_file}" ]; do sleep 2 done exit $(cat "${_exit_code_file}")fi

我們現在準備好提交第一個 MPI 任務,讓它在三個節點上同時執行:

$ awsbsub -n 3 -cf submit_mpi.sh

現在,讓我們監控任務狀態,等待它進入 RUNNING 狀態:

$ watch awsbstat -d

當任務進入 RUNNING 狀態時,我們可以查看其輸出。若要顯示主節點的輸出,請將 #0 附加到任務 ID。若要顯示運算節點的輸出,請使用 #1 和 #2:

[ec2-user@ip-10-0-0-111 ~]$ awsbout -s 5b4d50f8-1060-4ebf-ba2d-1ae868bbd92d#02018-11-27 15:50:10: Job id: 5b4d50f8-1060-4ebf-ba2d-1ae868bbd92d#02018-11-27 15:50:10: Initializing the environment...2018-11-27 15:50:10: Starting ssh agents...2018-11-27 15:50:11: Agent pid 72018-11-27 15:50:11: Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)2018-11-27 15:50:11: Mounting shared file system...2018-11-27 15:50:11: Generating hostfile...2018-11-27 15:50:11: Detected 1/3 compute nodes. Waiting for all compute nodes to start.2018-11-27 15:50:26: Detected 1/3 compute nodes. Waiting for all compute nodes to start.2018-11-27 15:50:41: Detected 1/3 compute nodes. Waiting for all compute nodes to start.2018-11-27 15:50:56: Detected 3/3 compute nodes. Waiting for all compute nodes to start.2018-11-27 15:51:11: Starting the job...download: s3://parallelcluster-awsbatch-tutorial-iwyl4458saiwgwvg/batch/job-submit_mpi_sh-1543333713772.sh to tmp/batch/job-submit_mpi_sh-1543333713772.sh2018-11-27 15:51:12: ip container: 10.0.0.1802018-11-27 15:51:12: ip host: 10.0.0.2452018-11-27 15:51:12: Compiling...2018-11-27 15:51:12: Running...2018-11-27 15:51:12: Hello I'm the main node! I run the mpi job!2018-11-27 15:51:12: Warning: Permanently added '10.0.0.199' (RSA) to the list of known hosts.2018-11-27 15:51:12: Warning: Permanently added '10.0.0.147' (RSA) to the list of known hosts.2018-11-27 15:51:13: Hello world from processor ip-10-0-0-180.ec2.internal, rank 1 out of 6 processors2018-11-27 15:51:13: Hello world from processor ip-10-0-0-199.ec2.internal, rank 5 out of 6 processors2018-11-27 15:51:13: Hello world from processor ip-10-0-0-180.ec2.internal, rank 0 out of 6 processors2018-11-27 15:51:13: Hello world from processor ip-10-0-0-199.ec2.internal, rank 4 out of 6 processors2018-11-27 15:51:13: Hello world from processor ip-10-0-0-147.ec2.internal, rank 2 out of 6 processors2018-11-27 15:51:13: Hello world from processor ip-10-0-0-147.ec2.internal, rank 3 out of 6 processors

[ec2-user@ip-10-0-0-111 ~]$ awsbout -s 5b4d50f8-1060-4ebf-ba2d-1ae868bbd92d#12018-11-27 15:50:52: Job id: 5b4d50f8-1060-4ebf-ba2d-1ae868bbd92d#12018-11-27 15:50:52: Initializing the environment...

339

AWS ParallelCluster AWS ParallelCluster 使用者指南使用自定義 KMS 密鑰進行磁盤加密

2018-11-27 15:50:52: Starting ssh agents...2018-11-27 15:50:52: Agent pid 72018-11-27 15:50:52: Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)2018-11-27 15:50:52: Mounting shared file system...2018-11-27 15:50:52: Generating hostfile...2018-11-27 15:50:52: Starting the job...download: s3://parallelcluster-awsbatch-tutorial-iwyl4458saiwgwvg/batch/job-submit_mpi_sh-1543333713772.sh to tmp/batch/job-submit_mpi_sh-1543333713772.sh2018-11-27 15:50:53: ip container: 10.0.0.1992018-11-27 15:50:53: ip host: 10.0.0.2272018-11-27 15:50:53: Compiling...2018-11-27 15:50:53: Running...2018-11-27 15:50:53: Hello I'm a compute node! I let the main node orchestrate the mpi execution!

我們現在可以確認任務已成功完成:

[ec2-user@ip-10-0-0-111 ~]$ awsbstat -s ALLjobId jobName status startedAt stoppedAt exitCode------------------------------------ ------------- --------- ------------------- ------------------- ----------5b4d50f8-1060-4ebf-ba2d-1ae868bbd92d submit_mpi_sh SUCCEEDED 2018-11-27 15:50:10 2018-11-27 15:51:26 -

注意:如果想要在任務結束之前終止任務,您可以使用 awsbkill 命令。

使用自定義 KMS 密鑰進行磁盤加密AWS ParallelCluster 支援組態選項 ebs_kms_key_id 和 fsx_kms_key_id。這些選項可讓您提供自訂AWS KMS用於亞馬遜 EBS 磁盤加密的密鑰或 FSx for Lustre。若要使用它們,請指定 ec2_iam_role。

若要建立叢集,AWS KMS 金鑰必須知道叢集角色的名稱。這會防止您使用建立叢集時所建立的角色,因此需要自訂 ec2_iam_role。

建立 角色首先建立政策:

1. 前往 IAM 主控台:https://console.aws.amazon.com/iam/home。2. 在 Policies (政策) > Create policy (建立政策) 下,按一下 JSON 標籤。3. 做為政策的內文,貼入 執行個體政策 (p. 206)中。務必取代所有出現的 <AWS ACCOUNT ID> 和

<REGION>。4. 將政策命名為 ParallelClusterInstancePolicy,然後按一下 Create Policy (建立政策)。

接著,建立角色:

1. 在 Roles (角色) 下,建立角色。2. 按一下 EC2 做為信任的實體。3. 在 Permissions (許可) 下,搜尋您剛建立的 ParallelClusterInstancePolicy 角色並連接它。4. 將角色命名為 ParallelClusterInstanceRole,然後按一下 Create Role (建立角色)。

授予您的密鑰在 中AWS KMS主控台 >客戶受管金鑰 > 點擊您的密鑰別名或者金鑰 ID。

340

AWS ParallelCluster AWS ParallelCluster 使用者指南多隊列模式教程

按一下Add按鈕主要用户框中,位於金鑰政策選項卡,然後搜索並行集羣實例您剛才建立。連接它。

建立叢集現在建立叢集。以下是叢集的範例,其中具有加密的 Raid 0 磁碟機:

[cluster default]...raid_settings = rsec2_iam_role = ParallelClusterInstanceRole

[raid rs]shared_dir = raidraid_type = 0num_of_raid_volumes = 2volume_size = 100encrypted = trueebs_kms_key_id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

以下是 Lustre 檔案系統 FSx 的示例:

[cluster default]...fsx_settings = fsec2_iam_role = ParallelClusterInstanceRole

[fsx fs]shared_dir = /fsxstorage_capacity = 3600imported_file_chunk_size = 1024export_path = s3://bucket/folderimport_path = s3://bucketweekly_maintenance_start_time = 1:00:00fsx_kms_key_id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

類似組態適用於亞馬遜 EBS 和 Amazon FSx 檔案系統。

多隊列模式教程

在上運行作業AWS ParallelCluster具有多個隊列模式本教學課程會逐步解説如何在上執行您的第一個 Hello WorldAWS ParallelCluster取代為多隊列模式 (p. 245)。如果您尚未安裝AWS ParallelCluster並設定 CLI,請遵循設定 AWSParallelCluster (p. 182)指南,然後繼續學習本教程。

Note

多隊列模式僅支持AWS ParallelCluster2.9.0 版或更高版本。

設定叢集

首先,驗證AWS ParallelCluster執行下列命令即會正確安裝。

$ pcluster version

如需有關 pcluster version 的詳細資訊,請參閱《pcluster version (p. 267)》。

341

AWS ParallelCluster AWS ParallelCluster 使用者指南多隊列模式教程

此命令會傳回運行版本的AWS ParallelCluster。

接下來,運行pcluster configure生成基本配置文件。按照此命令後面的所有提示進行操作。

$ pcluster configure

如需 pcluster configure 命令的詳細資訊,請參閱pcluster configure (p. 257)。

完成此步驟後,您應具有一個基本的組態檔案~/.parallelcluster/config。此文件應包含基本羣集配置和 VPC 部分。

本教程的下一部分概述瞭如何修改新創建的配置以及如何啟動具有多個隊列的集羣。Note

本教程中使用的某些實例不符合免費套餐條件。

對於本教學課程,請使用下列組態。

[global]update_check = truesanity_check = truecluster_template = multi-queue

[aws]aws_region_name = <Your AWS 區區>

[scaling demo]scaledown_idletime = 5 # optional, defaults to 10 minutes

[cluster multi-queue-special]key_name = < Your key name >base_os = alinux2 # optional, defaults to alinux2scheduler = slurmmaster_instance_type = c5.xlarge # optional, defaults to t2.microvpc_settings = <Your VPC section>scaling_settings = demo # optional, defaults to no custom scaling settingsqueue_settings = efa,gpu

[cluster multi-queue]key_name = <Your SSH key name>base_os = alinux2 # optional, defaults to alinux2scheduler = slurmmaster_instance_type = c5.xlarge # optional, defaults to t2.microvpc_settings = <Your VPC section>scaling_settings = demoqueue_settings = spot,ondemand

[queue spot]compute_resource_settings = spot_i1,spot_i2compute_type = spot # optional, defaults to ondemand

[compute_resource spot_i1]instance_type = c5.xlargemin_count = 0 # optional, defaults to 0max_count = 10 # optional, defaults to 10

[compute_resource spot_i2]instance_type = t2.micromin_count = 1initial_count = 2

[queue ondemand]compute_resource_settings = ondemand_i1

342

AWS ParallelCluster AWS ParallelCluster 使用者指南多隊列模式教程

disable_hyperthreading = true # optional, defaults to false

[compute_resource ondemand_i1]instance_type = c5.2xlarge

建立叢集

本節詳細介紹如何創建多隊列模式羣集。

首先,命名您的集羣multi-queue-hello-world,然後根據multi-queue叢集部分。

$ pcluster create multi-queue-hello-world -t multi-queue

如需有關 pcluster create 的詳細資訊,請參閱《pcluster create (p. 257)》。

建立叢集後,系統即會顯示下列輸出:

Beginning cluster creation for cluster: multi-queue-hello-worldCreating stack named: parallelcluster-multi-queue-hello-worldStatus: parallelcluster-multi-queue-hello-world - CREATE_COMPLETEMasterPublicIP: 3.130.xxx.xxClusterUser: ec2-userMasterPrivateIP: 172.31.xx.xx

訊息CREATE_COMPLETE指示已成功建立叢集 輸出還會提供頭節點的公有和私有 IP 地址。

登錄到您的頭節點

使用私有 SSH 密鑰檔案來登入頭節點。

$ pcluster ssh multi-queue-hello-world -i ~/path/to/keyfile.pem

如需有關 pcluster ssh 的詳細資訊,請參閱《pcluster ssh (p. 264)》。

登錄後,運行sinfo命令來驗證您的調度程序隊列是否已設置和設定。

如需有關 的詳細資訊sinfo,請參信佛中的Slurm文件。

$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTondemand up infinite 10 idle~ ondemand-dy-c52xlarge-[1-10]spot* up infinite 18 idle~ spot-dy-c5xlarge-[1-10],spot-dy-t2micro-[2-9]spot* up infinite 2 idle spot-dy-t2micro-1,spot-st-t2micro-1

輸出結果會顯示您有兩個t2.micro計算節點idle狀態,這些狀態在您的羣集中可用。

Note

• spot-st-t2micro-1是一個靜態節點,st在它的名稱。此節點始終可用,並且對應於min_count (p. 291) = 1在您的叢集組態中。

• spot-dy-t2micro-1是一個動態節點,dy在它的名稱。此節點當前可用,因為它對應於initial_count (p. 290) - min_count (p. 291) = 1根據您的叢集組態。此節點在您的自定義scaledown_idletime (p. 315)五分鐘。

其他節點都處於節能狀態,如~後綴處於節點狀態,沒有 EC2 實例支持它們。默認隊列由*後綴,因此spot是您的預設任務隊列。

343

AWS ParallelCluster AWS ParallelCluster 使用者指南多隊列模式教程

在多個隊列模式下運行作業接下來,嘗試運行一個作業睡眠一段時間。作業稍後將輸出自己的主機名。確保當前用户可以運行此腳本。

$ cat hellojob.sh#!/bin/bashsleep 30echo "Hello World from $(hostname)"

$ chmod +x hellojob.sh$ ls -l hellojob.sh-rwxrwxr-x 1 ec2-user ec2-user 57 Sep 23 21:57 hellojob.sh

提交作業使用sbatch命令。為此作業請求兩個節點,並使用-N 2選項,並驗證作業是否成功提交。如需有關 的詳細資訊sbatch,請參sbatch中的泥漿資料。

$ sbatch -N 2 --wrap "srun hellojob.sh"Submitted batch job 2

您可以檢視您的隊列並檢查任務的狀態。squeue命令。請注意,由於您沒有指定特定隊列,因此默認隊列(spot)被使用。如需有關 的詳細資訊squeue,請參squeue中的Slurm文件。

$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 2 spot wrap ec2-user R 0:10 2 spot-dy-t2micro-1,spot-st-t2micro-1

輸出顯示任務目前處於執行中狀態。等待 30 秒讓任務完成,然後再次執行 squeue。

$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)

現在隊列中的作業全部完成,請查找輸出文件slurm-2.out並貼入您目前的目錄。

$ cat slurm-2.outHello World from spot-dy-t2micro-1Hello World from spot-st-t2micro-1

輸出還會顯示我們的任務已在spot-st-t2micro-1和spot-st-t2micro-2節點。

現在,通過使用以下命令為特定實例指定約束來提交相同的作業。

$ sbatch -N 3 -p spot -C "[c5.xlarge*1&t2.micro*2]" --wrap "srun hellojob.sh"Submitted batch job 3

您將這些參數用於sbatch。

• -N 3— 請求三個節點• -p spot― 將作業提交到spotqueue. 您也可以將任務提交至ondemand隊列通過指定-p ondemand。• -C "[c5.xlarge*1&t2.micro*2]"— 指定此作業的特定節點約束。這要求一 (1)c5.xlarge節點和兩

個 (2)t2.micro節點來用於此作業。

執行sinfo命令查看節點和隊列。(在中的排列AWS ParallelCluster被稱為Slurm。)

$ sinfo

344

AWS ParallelCluster AWS ParallelCluster 使用者指南多隊列模式教程

PARTITION AVAIL TIMELIMIT NODES STATE NODELISTondemand up infinite 10 idle~ ondemand-dy-c52xlarge-[1-10]spot* up infinite 1 mix# spot-dy-c5xlarge-1spot* up infinite 17 idle~ spot-dy-c5xlarge-[2-10],spot-dy-t2micro-[2-9]spot* up infinite 2 alloc spot-dy-t2micro-1,spot-st-t2micro-1

節點正在通電。這是由#後綴的節點狀態。執行squeue命令來檢視叢集中的任務的相關資訊。

$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 3 spot wrap ec2-user CF 0:04 3 spot-dy-c5xlarge-1,spot-dy-t2micro-1,spot-st-t2micro-1

您的工作位於CF(CONFIGURING)狀態,等待實例向上擴展並加入集羣。

大約三分鐘後,節點應該可用,作業進入R(RUNNING) 狀態。

$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTondemand up infinite 10 idle~ ondemand-dy-c52xlarge-[1-10]spot* up infinite 17 idle~ spot-dy-c5xlarge-[2-10],spot-dy-t2micro-[2-9]spot* up infinite 1 mix spot-dy-c5xlarge-1spot* up infinite 2 alloc spot-dy-t2micro-1,spot-st-t2micro-1$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 3 spot wrap ec2-user R 0:04 3 spot-dy-c5xlarge-1,spot-dy-t2micro-1,spot-st-t2micro-1

作業完成,並且所有三個節點都位於idle狀態。

$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTondemand up infinite 10 idle~ ondemand-dy-c52xlarge-[1-10]spot* up infinite 17 idle~ spot-dy-c5xlarge-[2-10],spot-dy-t2micro-[2-9]spot* up infinite 3 idle spot-dy-c5xlarge-1,spot-dy-t2micro-1,spot-st-t2micro-1

然後,在隊列中沒有剩餘任務後,您可以檢查slurm-3.out並貼入您的本機目錄。

$ cat slurm-3.out Hello World from spot-dy-c5xlarge-1Hello World from spot-st-t2micro-1Hello World from spot-dy-t2micro-1

輸出還會顯示任務已在相應節點上成功執行。

您可以觀察縮小規模過程。在您的羣集配置中,您指定了自定義scaledown_idletime (p. 315)5 分鐘。處於空閒狀態的五分鐘後,動態節點spot-dy-c5xlarge-1和spot-dy-t2micro-1自動縮小並進入POWER_DOWN模式。請注意,靜態節點spot-st-t2micro-1不會縮小。

$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTondemand up infinite 10 idle~ ondemand-dy-c52xlarge-[1-10]spot* up infinite 2 idle% spot-dy-c5xlarge-1,spot-dy-t2micro-1spot* up infinite 17 idle~ spot-dy-c5xlarge-[2-10],spot-dy-t2micro-[2-9]spot* up infinite 1 idle spot-st-t2micro-1

345

AWS ParallelCluster AWS ParallelCluster 使用者指南多隊列模式教程

從上面的代碼中,你可以看到spot-dy-c5xlarge-1和spot-dy-t2micro-1位於POWER_DOWN模式。這是由%後置。相應的實例將立即終止,但節點保留在POWER_DOWN狀態,並且在 120 秒(兩分鐘)內無法使用。在此時間之後,節點返回節能狀態,並可以再次使用。如需詳細資訊,請參閱 Slurm多隊列模式的指南 (p. 234)。

這應該是集羣的最終狀態:

$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTondemand up infinite 10 idle~ ondemand-dy-c52xlarge-[1-10]spot* up infinite 19 idle~ spot-dy-c5xlarge-[1-10],spot-dy-t2micro-[1-9]spot* up infinite 1 idle spot-st-t2micro-1

註銷叢集後,您可以執行pcluster delete。如需詳細資訊,請參pcluster list和pclusterdelete,請參pcluster list (p. 263)和pcluster delete (p. 262)。

$ pcluster listmulti-queue CREATE_COMPLETE 2.11.5$ pcluster delete multi-queueDeleting: multi-queue...

在具有 EFA 和 GPU 實例的集羣上運行作業

本教程的這部分詳細介紹瞭如何修改配置並啟動包含具有 EFA 網絡和 GPU 資源的實例的多個隊列的集羣。請注意,本教程中使用的實例是價格較高的實例。

在繼續執行本教程中概述的步驟之前,請檢查您的賬户限制以確保您已獲得使用這些實例的授權。

使用下列項目來修改組態檔案。

[global]update_check = truesanity_check = truecluster_template = multi-queue-special

[aws]aws_region_name = <Your AWS 區區>

[scaling demo]scaledown_idletime = 5

[cluster multi-queue-special]key_name = <Your SSH key name>base_os = alinux2 # optional, defaults to alinux2scheduler = slurmmaster_instance_type = c5.xlarge # optional, defaults to t2.microvpc_settings = <Your VPC section>scaling_settings = demoqueue_settings = efa,gpu

[queue gpu]compute_resource_settings = gpu_i1disable_hyperthreading = true # optional, defaults to false

[compute_resource gpu_i1]instance_type = g3.8xlarge

[queue efa]compute_resource_settings = efa_i1enable_efa = true

346

AWS ParallelCluster AWS ParallelCluster 使用者指南多隊列模式教程

placement_group = DYNAMIC # optional, defaults to no placement group settings

[compute_resource efa_i1]instance_type = c5n.18xlargemax_count = 5

建立叢集

$ pcluster create multi-queue-special -t multi-queue-special

創建集羣後,使用私有 SSH 密鑰文件登錄到頭節點。

$ pcluster ssh multi-queue-special -i ~/path/to/keyfile.pem

這應該是叢集的初始狀態:

$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTefa* up infinite 5 idle~ efa-dy-c5n18xlarge-[1-5]gpu up infinite 10 idle~ gpu-dy-g38xlarge-[1-10]

本節介紹如何提交一些作業以檢查節點是否具有 EFA 或 GPU 資源。

首先,編寫作業腳本。efa_job.sh將睡眠 30 秒。之後,尋找全民教育在lspci命令。gpu_job.sh將睡眠 30 秒。之後,運行nvidia-smi以顯示有關節點的 GPU 信息。

$ cat efa_job.sh#!/bin/bash

sleep 30lspci | grep "EFA"

$ cat gpu_job.sh#!/bin/bash

sleep 30nvidia-smi

$ chmod +x efa_job.sh$ chmod +x gpu_job.sh

提交作業sbatch、

$ sbatch -p efa --wrap "srun efa_job.sh"Submitted batch job 2$ sbatch -p gpu --wrap "srun gpu_job.sh" -G 1Submitted batch job 3 $ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 2 efa wrap ec2-user CF 0:32 1 efa-dy-c5n18xlarge-1 3 gpu wrap ec2-user CF 0:20 1 gpu-dy-g38xlarge-1$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTefa* up infinite 1 mix# efa-dy-c5n18xlarge-1efa* up infinite 4 idle~ efa-dy-c5n18xlarge-[2-5]gpu up infinite 1 mix# gpu-dy-g38xlarge-1gpu up infinite 9 idle~ gpu-dy-g38xlarge-[2-10]

幾分鐘後,您應該會看到節點聯機並執行任務。

347

AWS ParallelCluster AWS ParallelCluster 使用者指南多隊列模式教程

[ec2-user@ip-172-31-15-251 ~]$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTefa* up infinite 4 idle~ efa-dy-c5n18xlarge-[2-5]efa* up infinite 1 mix efa-dy-c5n18xlarge-1gpu up infinite 9 idle~ gpu-dy-g38xlarge-[2-10]gpu up infinite 1 mix gpu-dy-g38xlarge-1[ec2-user@ip-172-31-15-251 ~]$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 4 gpu wrap ec2-user R 0:06 1 gpu-dy-g38xlarge-1 5 efa wrap ec2-user R 0:01 1 efa-dy-c5n18xlarge-1

任務完成後,檢查輸出。從slurm-2.out文件中,您可以看到 EFA 存在於efa-dy-c5n18xlarge-1節點。從slurm-3.out檔案中,您可以查看nvidia-smi輸出包含gpu-dy-g38xlarge-1節點。

$ cat slurm-2.out00:06.0 Ethernet controller: Amazon.com, Inc. Elastic Fabric Adapter (EFA)

$ cat slurm-3.outThu Oct 1 22:19:18 2020+-----------------------------------------------------------------------------+| NVIDIA-SMI 450.51.05 Driver Version: 450.51.05 CUDA Version: 11.0 ||-------------------------------+----------------------+----------------------+| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. || | | MIG M. ||===============================+======================+======================|| 0 Tesla M60 Off | 00000000:00:1D.0 Off | 0 || N/A 28C P0 38W / 150W | 0MiB / 7618MiB | 0% Default || | | N/A |+-------------------------------+----------------------+----------------------+| 1 Tesla M60 Off | 00000000:00:1E.0 Off | 0 || N/A 36C P0 37W / 150W | 0MiB / 7618MiB | 98% Default || | | N/A |+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+| Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=============================================================================|| No running processes found |+-----------------------------------------------------------------------------+

您可以觀察縮小規模過程。在羣集配置中,您之前指定了自定義scaledown_idletime (p. 315)五分鐘。因此,在處於空閒狀態的五分鐘後,動態節點,spot-dy-c5xlarge-1和spot-dy-t2micro-1,自動縮小並進入POWER_DOWN模式。最終,節點進入省電模式並可再次使用。

$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTefa* up infinite 1 idle% efa-dy-c5n18xlarge-1efa* up infinite 4 idle~ efa-dy-c5n18xlarge-[2-5]gpu up infinite 1 idle% gpu-dy-g38xlarge-1gpu up infinite 9 idle~ gpu-dy-g38xlarge-[2-10]

# After 120 seconds$ sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELISTefa* up infinite 5 idle~ efa-dy-c5n18xlarge-[1-5]gpu up infinite 10 idle~ gpu-dy-g38xlarge-[1-10]

註銷叢集後,您可以執行pcluster delete (p. 262) <cluster name>。

348

AWS ParallelCluster AWS ParallelCluster 使用者指南開發

$ pcluster listmulti-queue-special CREATE_COMPLETE 2.11.5$ pcluster delete multi-queue-specialDeleting: multi-queue-special...

如需詳細資訊,請參閱Slurm多隊列模式的指南 (p. 234)。

開發您可以使用以下區段,開始 AWS ParallelCluster 的開發。

Important

以下區段包括使用自訂版本之技術指南配方及自訂 AWS ParallelCluster 節點套件的指示。此資訊涵蓋自訂 AWS ParallelCluster 的進階方法,可處理難以除錯的潛在問題。AWS ParallelCluster 團隊強烈建議在自訂引導操作 (p. 202)中使用指令碼進行自訂,因為安裝後勾點通常較容易除錯,在AWS ParallelCluster 的發行過程中也較容易轉移。

主題• 設定自訂AWS ParallelCluster食譜 (p. 349)• 設定自訂AWS ParallelCluster節點套件 (p. 350)

設定自訂AWS ParallelCluster食譜Important

下列是要使用自訂版本之 AWS ParallelCluster 技術指南配方的指示。這是自訂 AWSParallelCluster 的進階方法,可處理難以除錯的潛在問題。AWS ParallelCluster 團隊強烈建議在自訂引導操作 (p. 202)中使用指令碼進行自訂,因為安裝後勾點通常較容易除錯,在 AWSParallelCluster 的發行過程中也較容易轉移。

步驟1. 識別AWS ParallelCluster技術指南工作目錄,您會在其中複製AWS ParallelCluster食譜代碼。

_cookbookDir=<path to cookbook>

2. 偵測 AWS ParallelCluster 技術指南的目前版本。

_version=$(grep version ${_cookbookDir}/metadata.rb|awk '{print $2}'| tr -d \')

3. 建立 AWS ParallelCluster 技術指南的封存並計算其 md5。

cd "${_cookbookDir}"_stashName=$(git stash create)git archive --format tar --prefix="aws-parallelcluster-cookbook-${_version}/" "${_stashName:-HEAD}" | gzip > "aws-parallelcluster-cookbook-${_version}.tgz"md5sum "aws-parallelcluster-cookbook-${_version}.tgz" > "aws-parallelcluster-cookbook-${_version}.md5"

4. 建立 Amazon S3 儲存儲體並將該存檔、其 md5 和最近一次修改的日期上傳至儲存儲體。透過 public-read ACL 來提供可公開讀取的許可。

349

AWS ParallelCluster AWS ParallelCluster 使用者指南設定自訂AWS ParallelCluster節點套件

_bucket=<the bucket name>aws s3 cp --acl public-read aws-parallelcluster-cookbook-${_version}.tgz s3://${_bucket}/cookbooks/aws-parallelcluster-cookbook-${_version}.tgzaws s3 cp --acl public-read aws-parallelcluster-cookbook-${_version}.md5 s3://${_bucket}/cookbooks/aws-parallelcluster-cookbook-${_version}.md5aws s3api head-object --bucket ${_bucket} --key cookbooks/aws-parallelcluster-cookbook-${_version}.tgz --output text --query LastModified > aws-parallelcluster-cookbook-${_version}.tgz.dateaws s3 cp --acl public-read aws-parallelcluster-cookbook-${_version}.tgz.date s3://${_bucket}/cookbooks/aws-parallelcluster-cookbook-${_version}.tgz.date

5. 將以下變數新增至AWS ParallelCluster配置文件,在[cluster]區段 (p. 271)。

custom_chef_cookbook = https://${_bucket}.s3.<the bucket region>.amazonaws.com/cookbooks/aws-parallelcluster-cookbook-${_version}.tgzextra_json = { "cluster" : { "skip_install_recipes" : "no" } }

Note

從開始AWS ParallelCluster2.6.1 版,啟動節點時預設會略過大部分的安裝配方,以改善啟動時間。若要略過大部分的安裝配方,以獲得更佳的啟動時間並犧牲向後相容性,請在"skip_install_recipes" : "no"來自cluster金鑰extra_json (p. 281)設定。

設定自訂AWS ParallelCluster節點套件Warning

下列是要使用自訂版本之 AWS ParallelCluster 節點套件的指示。這是自訂 AWS ParallelCluster的進階方法,可處理難以除錯的潛在問題。AWS ParallelCluster 團隊強烈建議在自訂引導操作 (p. 202)中使用指令碼進行自訂,因為安裝後勾點通常較容易除錯,在 AWS ParallelCluster 的發行過程中也較容易轉移。

步驟1. 識別 AWS ParallelCluster 節點工作目錄,您已在其中複製 AWS ParallelCluster 節點程式碼。

_nodeDir=<path to node package>

2. 偵測 AWS ParallelCluster 節點的目前版本。

_version=$(grep "version = \"" ${_nodeDir}/setup.py |awk '{print $3}' | tr -d \")

3. 建立 AWS ParallelCluster 節點的存檔。

cd "${_nodeDir}"_stashName=$(git stash create)git archive --format tar --prefix="aws-parallelcluster-node-${_version}/" "${_stashName:-HEAD}" | gzip > "aws-parallelcluster-node-${_version}.tgz"

4. 建立一個 Amazon S3 儲存儲體並將該存檔上傳到這個儲存檔。透過 public-read ACL 來提供可公開讀取的許可。

_bucket=<the bucket name>aws s3 cp --acl public-read aws-parallelcluster-node-${_version}.tgz s3://${_bucket}/node/aws-parallelcluster-node-${_version}.tgz

350

AWS ParallelCluster AWS ParallelCluster 使用者指南疑難排解

5. 將以下變數新增至AWS ParallelCluster配置文件,在[cluster]區段 (p. 271)。

extra_json = { "cluster" : { "custom_node_package" : "https://${_bucket}.s3.<the bucket region>.amazonaws.com/node/aws-parallelcluster-node-${_version}.tgz", "skip_install_recipes" : "no" } }

Note

從開始AWS ParallelCluster2.6.1 版本,啟動節點時預設會略過大部分的安裝配方,以改善啟動時間。若要略過大部分的安裝配方,以獲得更佳的啟動時間並犧牲向後相容性,請在其中移除"skip_install_recipes" : "no"來自cluster金鑰extra_json (p. 281)設定。

對 AWS ParallelCluster 進行故障診斷主題

• 檢索和保留日誌 (p. 351)• 疑難排解堆疊問題 (p. 351)• 排除多個隊列模式羣集中的問題 (p. 352)• 排除單隊列模式羣集中的問題 (p. 355)• 置放羣組和實例啟動問題 (p. 356)• 無法取代的目錄 (p. 357)• NICE DCV 中的問題疑難解答 (p. 357)• 針對AWS Batch整合 (p. 357)• 資源創建失敗時的故障排除 (p. 358)• 其他支援 (p. 359)

所以此AWS ParallelCluster社區維護了一個 Wiki 頁面,該頁面提供了AWS ParallelClusterGitHub Wiki。有關已知問題的列表,請參閲已知問題。

檢索和保留日誌日誌是對問題進行故障排除的有用資源。在您可以使用日誌針對AWS ParallelCluster資源,則應首先創建羣集日誌的歸檔文件。按照創建羣集日誌的歸檔主題上的AWS ParallelClusterGitHub Wiki啟動此過程。

如果您的某個正在運行的集羣遇到問題,則應將該集羣放在STOPPED狀態,方法是運行pclusterstop (p. 266) <cluster_name>命令,然後再開始進行故障排除。這可以防止產生任何意外的成本。

如果pcluster停止運行,或者如果要刪除集羣,同時仍保留其日誌,請運行pclusterdelete (p. 262) —keep-logs <cluster_name>命令。運行此命令會刪除集羣,但保留存儲在Amazon CloudWatch 中的日誌組。如需此命令的詳細資訊,請參pcluster delete (p. 262)文件中)。

疑難排解堆疊問題如果無法創建集羣並回滾堆棧創建,您可以查看以下日誌文件以查看問題。你想查找ROLLBACK_IN_PROGRESS在這些日誌中。失敗消息應如下所示:

$ pcluster create myclusterCreating stack named: parallelcluster-myclusterStatus: parallelcluster-mycluster - ROLLBACK_IN_PROGRESS Cluster creation failed. Failed events: - AWS::EC2::Instance MasterServer Received FAILURE signal with UniqueId i-07af1cb218dd6a081

351

AWS ParallelCluster AWS ParallelCluster 使用者指南排除多個隊列模式羣集中的問題

要診斷問題,請使用pcluster create (p. 257),包括--norollback旗標。然後,SSH 進入羣集:

$ pcluster create mycluster --norollback...$ pcluster ssh mycluster

登錄到頭節點後,您應該找到三個可用於查明錯誤的主日誌文件。

• /var/log/cfn-init.log的日誌是cfn-init指令碼。首先檢查此日誌。你可能會看到一個錯誤,如Command chef failed在此日誌中。查看此行之前的行以瞭解與錯誤消息相關的詳細信息。如需詳細資訊,請參閱「」cfn-init。

• /var/log/cloud-init.log是cloud-init。如果您在cfn-init.log,然後嘗試下一步檢查此日誌。• /var/log/cloud-init-output.log是運行的命令的輸出cloud-init。這包括來自cfn-init。在大多

數情況下,您不需要查看此日誌來診斷此類問題。

排除多個隊列模式羣集中的問題本節與使用AWS ParallelCluster2.0 版及更高版Slurm任務排程器。如需多隊列模式的詳細資訊,請參多隊列模式 (p. 245)。

關鍵日誌下表概述了 Head 節點的密鑰日誌:

/var/log/cfn-init.log

這是AWS CloudFormation初始化日誌。它包含設置實例時運行的所有命令。它對於初始化問題進行故障排除很有用。

/var/log/chef-client.log

這是 Chef 客户端日誌。它包含通過廚師 /CINC 運行的所有命令。它對於初始化問題進行故障排除很有用。

/var/log/parallelcluster/slurm_resume.log

這是一個ResumeProgram日誌。它啟動動態節點的實例,並且有助於解決動態節點啟動問題。/var/log/parallelcluster/slurm_suspend.log

這是SuspendProgram日誌。它在動態節點的實例終止時調用,並且對於故障排除動態節點終止問題非常有用。當您檢查此日誌時,還應檢查clustermgtd日誌。

/var/log/parallelcluster/clustermgtd

這是clustermgtd日誌。它作為管理大多數羣集操作操作的集中式守護進程運行。它對於任何啟動、終止或羣集操作問題進行故障排除非常有用。

/var/log/slurmctld.log

這是Slurm控制守護程序日誌。AWS ParallelCluster不會做出擴展決策。相反,它只嘗試啟動資源來滿足Slurm要求。它適用於擴展和分配問題、與作業相關的問題以及任何與計劃程序相關的啟動和終止問題。

以下是計算節點的關鍵注意事項:

/var/log/cloud-init-output.log

這是cloud-init日誌。它包含設置實例時運行的所有命令。它對於初始化問題進行故障排除很有用。

352

AWS ParallelCluster AWS ParallelCluster 使用者指南排除多個隊列模式羣集中的問題

/var/log/parallelcluster/computemgtd

這是computemgtd日誌。它在每個計算節點上運行,以在極少數事件中監視節點clustermgtd守護程序處於脱機狀態。它對於解決意外終止問題非常有用。

/var/log/slurmd.log

這是Slurm計算守護程序日誌。它對於初始化和計算故障相關問題進行故障排除非常有用。

解決節點初始化問題本節介紹如何解決節點初始化問題。這包括節點無法啟動、啟動或加入羣集的問題。

Head 節點:

適用的記錄:

• /var/log/cfn-init.log

• /var/log/chef-client.log

• /var/log/parallelcluster/clustermgtd

• /var/log/parallelcluster/slurm_resume.log

• /var/log/slurmctld.log

檢查/var/log/cfn-init.log和/var/log/chef-client.log日誌。這些日誌應包含設置頭節點時運行的所有操作。在安裝過程中發生的大多數錯誤都應該在/var/log/chef-client.log日誌。如果在羣集的配置中指定了預安裝或安裝後腳本,請仔細檢查腳本是否成功運行日誌消息。

創建集羣時,頭節點需要等待計算節點加入羣集,然後才能加入羣集。因此,如果運算節點無法加入叢集,則頭節點也會失敗。根據使用的計算備註類型,您可以按照下列其中一組程序進行故障診斷:

動態運算節點:

• 搜尋ResumeProgram日誌 (/var/log/parallelcluster/slurm_resume.log)作為您的運算節點名稱,以查看ResumeProgram曾經與節點調用。(如果ResumeProgram從來沒有被調用,您可以slurmctld日誌 (/var/log/slurmctld.log)來確定Slurm曾試圖調用ResumeProgram與節點一起。)

• 請注意,不正確的權限ResumeProgram可能會導致ResumeProgram以靜默方式失敗。如果您使用的是自訂 AMI,並修改為ResumeProgram設置中,請檢查ResumeProgram屬於slurm用户,並具有744(rwxr--r--) 許可。

• 如果ResumeProgram,請檢查是否為該節點啟動了實例。如果沒有啟動實例,您應該能夠看到描述啟動失敗的錯誤消息。

• 如果實例已啟動,則可能在安裝過程中出現問題。您應該看到相應的私有 IP 地址和實例 ID,從ResumeProgram日誌。此外,您還可以查看特定實例的相應安裝日誌。如需有關使用運算節點排解安裝錯誤的詳細資訊,請參下一節。

靜態運算節點:

• 檢查clustermgtd(/var/log/parallelcluster/clustermgtd)日誌以查看是否為節點啟動了實例。如果它們沒有啟動,應該顯示明確的錯誤消息,詳細説明啟動失敗。

• 如果實例已啟動,則在安裝過程中會出現一些問題。您應該看到相應的私有 IP 地址和實例 ID,從ResumeProgram日誌。此外,您還可以查看特定實例的相應安裝日誌。

• 運算節點:

353

AWS ParallelCluster AWS ParallelCluster 使用者指南排除多個隊列模式羣集中的問題

• 適用的記錄:• /var/log/cloud-init-output.log

• /var/log/slurmd.log• 如果計算節點已啟動,請首先選中/var/log/cloud-init-output.log,它應該包含類似於/var/log/chef-client.log登錄頭節點。安裝過程中發生的大多數錯誤都應該有錯誤消息位於/var/log/cloud-init-output.log日誌。如果在羣集配置中指定預安裝腳本或安裝後腳本,請檢查它們是否成功運行。

• 如果您使用的是自訂 AMI,並修改為Slurm配置,那麼可能會有一個Slurm相關錯誤,阻止計算節點加入羣集。有關調度程序相關的錯誤,請檢查/var/log/slurmd.log日誌。

故障排除意外的節點替換和終止本節將繼續探討如何解決與節點相關的問題,特別是當節點被意外替換或終止時。

• 適用的記錄:• /var/log/parallelcluster/clustermgtd(頭節點)• /var/log/slurmctld.log(頭節點)• /var/log/parallelcluster/computemgtd(運算節點)

• 意外替換或終止的節點• 簽入clustermgtd日誌 (/var/log/parallelcluster/clustermgtd),以查看clustermgtd採

取了操作來替換或終止節點。請注意,clustermgtd處理所有正常節點維護操作。• 如果clustermgtd替換或終止節點時,應該有一條消息,詳細説明為什麼在節點上執行此操作。如果

原因與調度程序相關(例如,因為節點位於DOWN),檢入slurmctld日誌瞭解詳細資訊。如果原因與Amazon EC2 相關,則應提供詳細信息,詳細説明需要更換的 Amazon EC2 相關問題。

• 如果clustermgtd沒有終止節點,首先檢查這是否是 Amazon EC2 的預期終止,更具體地説是現貨終止。computemgtd(在 Compute 節點上運行)也可以採取操作來終止節點,如果clustermgtd被確定為不健康。Checkcomputemgtd日誌 (/var/log/parallelcluster/computemgtd),以查看computemgtd終止節點。

• 節點失敗• 簽入slurmctld日誌 (/var/log/slurmctld.log),查看作業或節點失敗的原因。請注意,如果節

點出現故障,作業將自動重新排隊。• 如果slurm_resume報告節點已啟動並clustermgtd報告之後幾分鐘在 Amazon EC2 中沒有該節點

的相應實例,則該節點在安裝過程中可能會失敗。要從計算中檢索日誌(/var/log/cloud-init-output.log),請執行下列步驟:• 提交工作以讓Slurm啟動一個新的節點。• 節點啟動後,使用此命令啟用終止保護。

aws ec2 modify-instance-attribute --instance-id i-xyz --disable-api-termination

• 使用此命令從節點檢索控制台輸出。

aws ec2 get-console-output --instance-id i-xyz --output text

替換、終止或關閉有問題的實例和節點• 適用的記錄:

• /var/log/parallelcluster/clustermgtd(頭節點)• /var/log/parallelcluster/slurm_suspend.log(頭節點)

• 大得多,clustermgtd處理所有預期的實例終止操作。簽入clustermgtd日誌,瞭解為什麼它無法替換或終止節點。

• 對於動態節點出現故障scaledown_idletime (p. 315)中,檢入SuspendProgram日誌以查看SuspendProgram被稱為slurmctld將特定節點作為參數。請注意,SuspendProgram實際上並沒有

354

AWS ParallelCluster AWS ParallelCluster 使用者指南排除單隊列模式羣集中的問題

執行任何操作。相反,它只在調用時記錄。所有實例終止和NodeAddr重置由clustermgtd。Slurm將節點放回POWER_SAVING狀態後SuspendTimeout自動進行。

排除其他已知節點和作業問題另一種已知問題是AWS ParallelCluster可能無法分配作業或做出擴展決策。有了這種類型的問題,AWSParallelCluster僅啟動、終止或維護資源,根據Slurm指示。對於這些問題,請檢查slurmctld日誌以解決這些問題。

排除單隊列模式羣集中的問題Note

從 2.11.5 版開始,AWS ParallelCluster不支援SGE或者Torque排程器。

本節適用於沒有具有以下兩種配置之一的多個隊列模式的羣集:

• 使用AWS ParallelCluster2.0 版SGE、Torque, 或Slurm任務排程器。• 啟動使用AWS ParallelCluster2.0 版SGE或者Torque任務排程器。

關鍵日誌以下日誌文件是頭節點的關鍵日誌。

適用於AWS ParallelCluster2.0 版

/var/log/chef-client.log

這是 CINC(廚師)客户端日誌。它包含通過 CINC 運行的所有命令。它對於初始化問題進行故障排除很有用。

FORALLAWS ParallelCluster版本:

/var/log/cfn-init.log

這是cfn-init日誌。它包含設置實例時運行的所有命令,因此對於初始化問題進行故障排除非常有用。如需詳細資訊,請參閱「」cfn-init。

/var/log/jobwatcher

這是jobwatcher日誌。jobwatcher監視調度程序隊列並更新 Auto Scaling 組。它可用於排除與擴展節點相關的問題。

/var/log/sqswatcher

這是sqswatcher日誌。sqswatcher處理成功初始化後由計算實例發送的實例就緒事件。它還將計算節點添加到調度程序配置中。此日誌對於故障排除某個或多個節點無法加入羣集的原因非常有用。

以下是計算節點的關鍵日誌。

AWS ParallelCluster2.0 版

/var/log/cloud-init-output.log

這是雲初始化日誌。它包含設置實例時運行的所有命令。它對於初始化問題進行故障排除很有用。

AWS ParallelCluster2.0 之前的版

355

AWS ParallelCluster AWS ParallelCluster 使用者指南置放羣組和實例啟動問題

/var/log/cfn-init.log

這是 CloudFormation 初始化日誌。它包含設置實例時運行的所有命令。它對於解決初始化問題非常有用

所有版本

/var/log/nodewatcher

這是nodewatcher日誌。nodewatcher在每個計算節點上運行的守護進程。如果節點處於空閒狀態,他們會縮小節點。此日誌對於任何與縮減資源相關的問題非常有用。

故障排除啟動和加入操作失敗• 適用的記錄:

• /var/log/cfn-init-cmd.log(頭節點和計算節點)• /var/log/sqswatcher(頭節點)

• 如果節點啟動失敗,請檢入/var/log/cfn-init-cmd.log日誌以查看特定的錯誤消息。在大多數情況下,節點啟動失敗是由於設置失敗所致。

• 如果計算節點儘管設置成功但仍未加入調度程序配置,請檢查/var/log/sqswatcher日誌以查看sqswatcher處理事件。大多數情況下,這些問題是因為sqswatcher未處理事件。

針對縮放規模問題• 適用的記錄:

• /var/log/jobwatcher(頭節點)• /var/log/nodewatcher(運算節點)

• 擴充規模問題:對於頭節點,請檢查/var/log/jobwatcher日誌以查看jobwatcher守護進程計算了所需節點的適當數量並更新了 Auto Scaling 組。請注意,jobwatcher監視調度程序隊列並更新 AutoScaling 組。

• 縮減規模問題:對於計算節點,請檢查/var/log/nodewatcher登錄問題節點,查看節點縮小的原因。請注意,nodewatcher守護程序如果計算節點處於空閒狀態,則會縮小計算節點。

排除其他羣集相關問題一個已知的問題是隨機計算音符在大規模羣集上失敗,特別是那些具有 500 個或更多計算節點的羣集。此問題與單個隊列羣集的擴展體繫結構的限制有關。如果您想使用大規模集羣,則使用AWS ParallelCluster版本v2.9.0 或更高版本,正在使用Slurm,並希望避免此問題,您應該升級並切換到多個隊列模式支持的羣集。您可以pcluster-config convert (p. 268)。

對於超大規模羣集,可能需要對系統進行額外的調整。如需詳細資訊,請聯絡AWS Support。

置放羣組和實例啟動問題若要獲得最低的節點間延遲,請使用置放羣組。置放群組可確保您的執行個體位於相同的網路骨幹上。如果發出請求時沒有足夠的實例可用,InsufficientInstanceCapacity錯誤返回。若要在使用叢集置放組時減少收到此錯誤的可能性,請將placement_group (p. 284)參數設置為DYNAMIC並設置placement (p. 284)參數設置為compute。

如果您需要高效能的共用檔案系統,請考慮使用FSx for Lustre。

如果頭節點必須位於置放羣組中,請為頭部和所有運算節點使用相同的執行個體類型和子網路。通過這樣做,compute_instance_type (p. 275)參數的值與master_instance_type (p. 283)參數中

356

AWS ParallelCluster AWS ParallelCluster 使用者指南無法取代的目錄

的placement (p. 284)參數設為cluster,以及compute_subnet_id (p. 316)參數。使用此配置時,master_subnet_id (p. 317)參數用於運算節點。

如需詳細資訊,請參閱「」執行個體啟動問題故障診斷和置放羣組角色和限制中的Amazon EC2 Linux 執行個體使用者指南

無法取代的目錄下列目錄會在節點之間共用,且無法取代。

/home

這包括默認的用户主目錄文件夾 (/home/ec2_userAmazon Linux 上的/home/centos上CentOS,和/home/ubuntu上Ubuntu。

/opt/intel

這包括 Intel MPI、Intel Parallel Studio 和相關檔案。/opt/sge

Note

從 2.11.5 版開始,AWS ParallelCluster不支援SGE或者Torque排程器。

這包括 Son of Grid Engine 和相關的檔案。(有條件,僅在 scheduler (p. 287) = sge 的時候。)/opt/slurm

這包括 Slurm Workload Manager 和相關的檔案。(有條件,僅在 scheduler (p. 287) = slurm 的時候。)

/opt/torque

Note

從 2.11.5 版開始,AWS ParallelCluster不支援SGE或者Torque排程器。

這包括 Torque Resource Manager 和相關的檔案。(有條件,僅在 scheduler (p. 287) = torque的時候。)

NICE DCV 中的問題疑難解答NICE DCV 的日誌被寫入到/var/log/dcv/目錄。查看這些日誌有助於問題故障診斷。

若要運行 NICE DCV,則執行個體類型應該至少有 1.7 千兆字節 (GiB) RAM。Nano和micro實例類型沒有足夠的內存來運行 NICE DCV。

針對AWS Batch整合本節與AWS Batch調度程序集成。

Head 節點問題頭節點相關的安裝問題可以用與單個隊列羣集相同的方式進行故障排除。如需這些問題的詳細資訊,請參排除單隊列模式羣集中的問題 (p. 355)。

AWS Batch多節點平行任務提交問題如果您在使用AWS Batch作為作業調度程序,您應該升級到AWS ParallelCluster2.5.0 版。如果這不可行,您可以使用主題中詳細介紹的解決方法:自行修補用於提交多節點平行任務的集羣AWS Batch。

357

AWS ParallelCluster AWS ParallelCluster 使用者指南資源創建失敗時的故障排除

運算問題AWS Batch管理服務的擴展和計算方面。如果遇到與計算相關的問題,請參閲AWS Batch 疑難排解文檔以獲取幫助。

Job 行如果作業失敗,您可以運行awsbout (p. 243)命令檢索作業輸出。您也可以awsbstat (p. 243) -d命令獲取由 Amazon CloudWatch 存儲的作業日誌的鏈接。

資源創建失敗時的故障排除當羣集資源創建失敗時,本節與羣集資源相關。

當資源創建失敗時,ParallelCluster 會返回一條錯誤消息,如下所示。

pcluster create -c config my-clusterBeginning cluster creation for cluster: my-clusterWARNING: The instance type 'p4d.24xlarge' cannot take public IPs. Please make sure that the subnet with id 'subnet-1234567890abcdef0' has the proper routing configuration to allow private IPs reaching the Internet (e.g. a NAT Gateway and a valid route table).WARNING: The instance type 'p4d.24xlarge' cannot take public IPs. Please make sure that the subnet withid 'subnet-1234567890abcdef0' has the proper routing configuration to allow private IPs reaching the Internet (e.g. a NAT Gateway and a valid route table).Info: There is a newer version 3.0.3 of AWS ParallelCluster available.Creating stack named: parallelcluster-my-clusterStatus: parallelcluster-my-cluster - ROLLBACK_IN_PROGRESS Cluster creation failed. Failed events:- AWS::CloudFormation::Stack MasterServerSubstack Embedded stack arn:aws:cloudformation:region-id:123456789012:stack/parallelcluster-my-cluster-MasterServerSubstack-ABCDEFGHIJKL/a1234567-b321-c765-d432-dcba98766789 was not successfully created: The following resource(s) failed to create: [MasterServer]. - AWS::CloudFormation::Stack parallelcluster-my-cluster-MasterServerSubstack-ABCDEFGHIJKL The following resource(s) failed to create: [MasterServer]. - AWS::EC2::Instance MasterServer You have requested more vCPU capacity than your current vCPU limit of 0 allows for the instance bucket that the specified instance type belongs to. Please visit http://aws.amazon.com/contact-us/ec2-request to request an adjustment to this limit. (Service: AmazonEC2; Status Code: 400; Error Code: VcpuLimitExceeded; Request ID: a9876543-b321-c765-d432-dcba98766789; Proxy: null)}

例如,如果您看到上一個命令響應中顯示的狀態消息,則必須使用不超過當前 vCPU 限制的實例類型或請求更多 vCPU 容量。

您也可以使用 CloudFormation 控制台來查看"Cluster creation failed"狀態。

從主控台查看 CloudFormation 錯誤消息。

1. 登錄到AWS Management Console並導覽至。https://console.aws.amazon.com/cloudformation。2. 選取名為平行叢集的堆疊-區區區區。3. 選擇活動標籤。4. 檢查狀態對於通過滾動瀏覽資源事件列表創建失敗的資源邏輯 ID。如果子任務創建失敗,則向後工作以

查找失敗的資源事件。

358

AWS ParallelCluster AWS ParallelCluster 使用者指南其他支援

5. 的範例為AWS CloudFormation錯誤訊息:

2022-02-07 11:59:14 UTC-0800 MasterServerSubstack CREATE_FAILED Embedded stack arn:aws:cloudformation:region-id:123456789012:stack/parallelcluster-my-cluster-MasterServerSubstack-ABCDEFGHIJKL/a1234567-b321-c765-d432-dcba98766789was not successfully created: The following resource(s) failed to create: [MasterServer].

其他支援有關已知問題的列表,請參閲主GitHub Wiki頁面上的問題(憑證已建立!) 頁面上的名稱有些許差異。有關更緊急的問題,請聯繫AWS Support或開啟GitHub 新問題。

359

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster支援政策AWS ParallelCluster一次具有多個版本可用。從版本 2.11.0 開始,新版本(由x。x.0)可以指定為最新(有資格獲得功能、安全性和錯誤修復更新)或功能穩定(僅適用於安全和錯誤修復更新)。

既不是版本最新也不功能穩定盡可能進行故障排除。任何安全修補程序或錯誤修復僅適用於功能穩定版本;功能更新僅應用於最新版本。

從發佈AWS ParallelCluster版本 2.11.0,在 2021 年 12 月 31 日之前支持 2.11.0 之前的版本(2.10.4 及更早版本)。AWS ParallelCluster2.11.0 版是第一個功能穩定釋放。功能穩定版本支持安全性和錯誤修復更新,直到發佈後的年底。2.11.0 版發佈於 2021 年,2.11 版。x的支持直到 12 月 31 日。2022 年

AWS ParallelCluster旨在提供一致性和可預測性,在我們的功能穩定版本,但請注意,這不會擴展到已達到使用壽命終止的產品組件。例如,對於 SGE、扭矩和 CentOS 8 操作系統,這些功能都在 2021 年 12 月 31日標記為使用壽命終止,並且不包含在 2.11 中。x版本超過該日期。

AWS ParallelCluster3 個次要版本在其發佈日期後的 18 個月內得到支持。此受下列規定的約束:

• 錯誤和安全問題將在次要版本(例如 3.1)中得到解決,除非嚴重性需要更快的修補程序版本(例如3.1.1)。

• 要接收錯誤和安全修復,您必須升級到提供這些修復程序的次要版本或修補程序版本。• 要獲得功能增強功能,您需要升級到最新版本的AWS ParallelCluster3.

AWS ParallelCluster 版本 支持壽命結束 (EOSL) 日期

2.10.4 及更早版 12/31/2021

2.11.x 12/31/2022

3.0.x 3/31/2023

360

AWS ParallelCluster AWS ParallelCluster 使用者指南使用的服務的安全信息AWS ParallelCluster

AWS ParallelCluster 中的安全性雲端安全是 AWS 最重視的一環。身為 AWS 客戶的您,將能從資料中心和網路架構的建置中獲益,以滿足組織最為敏感的安全要求。

安全是 AWS 與您共同肩負的責任。共同責任模型將其描述為雲端本身的安全和雲端內部的安全:

• 雲端本身的安全:AWS 負責保護在 AWS Cloud 中執行 AWS 服務的基礎設施。AWS 也提供您可安全使用的服務。第三方稽核人員會定期測試和驗證我們安全性的有效性,作為 AWS 合規計劃的一部分。若要了解適用於 AWS ParallelCluster 的合規計劃,請參閱合規計劃的 AWS 服務範圍。

• 雲端內部的安全— 您的責任取決於具體AWS服務或服務。您也必須對其他幾個相關因素負責,包括資料的敏感性、您公司的要求和適用法律和法規。

本文件介紹了您在使用時的共同責任模型AWS ParallelCluster。下列主題說明如何將 AWS ParallelCluster設定為達到您的安全及合規目標。您還可以了解如何使用AWS ParallelCluster,以幫助您監控和保護AWS的費用。

主題• 使用的服務的安全信息AWS ParallelCluster (p. 361)• AWS ParallelCluster 中的資料保護 (p. 362)• AWS ParallelCluster 的 Identity and Access Management (p. 363)• AWS ParallelCluster 的合規驗證 (p. 363)• 強制執行最低版本為 TLS 1.2 (p. 364)

使用的服務的安全信息AWS ParallelCluster• Amazon EC2 中的安全• Amazon API Gateway 的安全性• 中的安全AWS Batch• 中的安全AWS CloudFormation• Amazon CloudWatch 中的安全• 中的安全AWS CodeBuild• Amazon DynamoDB 的安全性• Amazon ECR 的安全性• Amazon ECS 的安全性• Amazon EFS 的安全性• FSx 的光澤安全性• 中的安全AWS Identity and Access Management(IAM)• EC2 Image Builder 的安全性• 中的安全AWS Lambda• Amazon Route 53 中的安全性• Amazon SNS 的安全性• Amazon SQS 的安全性(適用於AWS ParallelCluster2.x 版本)• Amazon S3 的安全性• Amazon VPC 的安全性

361

AWS ParallelCluster AWS ParallelCluster 使用者指南資料保護

AWS ParallelCluster 中的資料保護AWS 共同的責任模型適用於 AWS ParallelCluster 中的資料保護。如此模型所述,AWS 負責保護執行所有AWS 雲端 的全球基礎設施。您必須負責維護在此基礎設施上託管之內容的控制權。此內容包括AWS 服務您所使用的。如需有關資料隱私權的詳細資訊,請參閱資料隱私權常見問答集。如需有關歐洲資料保護的相關資訊,請參閱 AWS 安全性部落格上的 AWS 共同的責任模型和 GDPR 部落格文章。

基於資料保護目的,建議您使用 AWS 帳戶 (IAM) 保護 AWS Identity and Access Management 憑證,並設定個別使用者帳戶。如此一來,每個使用者都只會獲得授予完成其任務所必須的許可。我們也建議您採用下列方式保護資料:

• 每個帳戶都使用多重要素驗證 (MFA)。• 使用 SSL/TLS 與 AWS 資源通訊。建議使用 TLS 1.2 或更新版本。• 使用 AWS CloudTrail 設定 API 和使用者活動記錄。• 使用 AWS 加密解決方案,以及 AWS 服務內的所有預設安全控制。• 使用進階的受管安全服務 (例如 Amazon Macie),協助探索和保護儲存在 Simple Storage Service

(Amazon S3) 的個人資料。• 如果您在透過命令列介面或 API 存取 AWS 時,需要 FIPS 140-2 驗證的加密模組,請使用 FIPS 端點。如

需有關 FIPS 和 FIPS 端點的詳細資訊,請參閱聯邦資訊處理標準 (FIPS) 140-2 概觀。

我們強烈建議您絕對不要將客戶的電子郵件地址等機密或敏感資訊,放在標籤或自由格式的欄位中,例如Name (名稱) 欄位。這包括當您使用 AWS ParallelCluster 或使用主控台、API、AWS CLI 或 AWS 開發套件的其他 AWS 服務。您在標籤或自由格式欄位中輸入的任何資料都可能用於計費或診斷記錄。如果您提供外部伺服器的 URL,我們強烈建議請勿在驗證您對該伺服器請求的 URL 中包含憑證資訊。

資料加密任何安全服務都有一項重要功能,就是當資訊處於非使用中狀態時,就會將資訊加密。

靜態加密AWS ParallelCluster本身不會存放任何客户資料,除了與AWS服務代表用户。

對於羣集中節點上的數據,可以靜態加密數據。

對於 Amazon EBS 卷,加密是使用EbsSettings (p. 127)/Encrypted和EbsSettings (p. 127)/KmsKeyId中的設定設定EbsSettings (p. 127)區段 (encrypted (p. 295)和ebs_kms_key_id (p. 295)中的設定設定[ebs]區段 (p. 294)為了AWS ParallelCluster2.x 版本) 如需詳細資訊,請參閱「」Amazon EBS encryption中的Amazon EC2 Linux 執行個體使用者指南中。

對於 Amazon EFS 卷,加密是使用EfsSettings (p. 130)/Encrypted和EfsSettings (p. 130)/KmsKeyId中的設定設定EfsSettings (p. 130)(encrypted (p. 299)和efs_kms_key_id (p. 299)中的設定設定[efs]區段 (p. 298)在AWS ParallelCluster2.x 版本)。如需詳細資訊,請參閱「」靜態加密的運作方式中的AmazonElastic File System 使用者指南。

對於 Lustre 文件系統的 FSx,在創建 Amazon FSx 文件系統時,會自動啟用靜態數據加密。如需詳細資訊,請參閱「」靜態資料加密中的Amazon FSx for Lustre 使用者指南。

對於 NVMe 卷的執行個體類型,NVMe 執行個體存放區上的資料會以執行個體上的硬體模組中實作的 XTS-AES-256 區塊編碼器來加密。加密金鑰是以硬體模組來產生,且對每個 NVMe 執行個體儲存體設備而言是唯一的。所有加密金鑰會在執行個體停止或終止時銷毀,且無法復原。您無法停用此加密,也無法提供您自己的加密金鑰。如需詳細資訊,請參閱「」靜態加密中的Amazon EC2 Linux 執行個體使用者指南。

362

AWS ParallelCluster AWS ParallelCluster 使用者指南另請參閱

如果您使用AWS ParallelCluster來呼叫AWS服務會將客户資料傳輸至您的本機電腦進行儲存,則請參考該服務之《使用者指南》的《安全與合規》一章,取得該資料的儲存、保護和加密方式的相關資訊。

傳輸中加密根據預設,從執行AWS ParallelCluster和AWS服務端點會經過加密,其採用的方法是透過 HTTPS/TLS 連線傳送所有內容。集羣中節點之間的流量可以自動加密,具體取決於所選實例類型。如需詳細資訊,請參閱適用於 Linux 執行個體的 Amazon EC2 使用者指南中的傳輸中加密。

另請參閱• Amazon EC2 中的資料保護• EC2 Image Builder 中的資料保護• 中的資料保護AWS CloudFormation• Amazon EFS 中的資料保護• Amazon S3 的資料保護• FSx 中的資料保護

AWS ParallelCluster 的 Identity and AccessManagement

AWS ParallelCluster使用角色訪問您的AWS資源及其服務. 的實例和使用者政策AWS ParallelCluster用於授予權限的記錄在AWS Identity and Access Management角色AWS ParallelCluster3.x (p. 25)(AWS Identityand Access Management角色AWS ParallelCluster (p. 206)為了AWS ParallelCluster2.x 版本)。

唯一的主要差異在於使用標準 IAM 使用者和長期憑證時的驗證方式。雖然 IAM 用户需要密碼才能訪問AWS服務的主控台,則該同一位 IAM 使用者則需要存取金 key pair,才能執行使用的相同操作AWSParallelCluster。所有其他短期憑證的使用方式都與搭配主控台使用的方式一樣。

使用的登入資料AWS ParallelCluster存儲為純文字格式的檔案,且是不加密保存。

• $HOME/.aws/credentials 檔案會存放存取 AWS 資源所需的長期憑證。這些包含您的存取金鑰 ID 和私密存取金鑰。

• 短期憑證,像是您擔任的角色,或用於 AWS Single Sign-On 服務的角色,也會分別儲存於$HOME/.aws/cli/cache 和 $HOME/.aws/sso/cache 資料夾中。

降低風險

• 強烈建議您設定 $HOME/.aws 資料夾及其子資料夾和檔案的檔案系統權限,以限制為僅供授權使用者進行存取。

• 盡可能使用具有臨時憑證的角色,以在憑證洩漏時減少損害的機會。僅將長期憑證用於請求及重新整理短期角色憑證。

AWS ParallelCluster 的合規驗證在多個 AWS 合規計畫中,第三方稽核人員會評估 AWS 服務的安全與合規。使用AWS ParallelCluster存取服務並不會更改該服務的合規。

如需特定合規計劃的 AWS 服務範圍清單,請參閱合規計劃的 AWS 服務範圍。如需一般資訊,請參閱 AWS合規計劃。

363

AWS ParallelCluster AWS ParallelCluster 使用者指南強制執行 TLS 1.2

您可使用 AWS Artifact 下載第三方稽核報告。如需詳細資訊,請參閱下載 AWS Artifact 中的報告。

您使用 AWS ParallelCluster 時的合規責任取決於資料的敏感度、您的公司的合規目標,以及適用的法律和法規。AWS 提供以下資源協助您處理合規事宜:

• 安全性與合規快速入門指南 – 這些部署指南會描述架構考量,並提供在 AWS 上部署以安全性及合規為重心之基準環境的步驟。

• HIPAA 安全與合規架構白皮書 – 本白皮書說明公司可如何運用 AWS 來建立 HIPAA 合規的應用程式。• AWS 合規資源 – 這組手冊和指南可能適用於您的產業和所處位置。• 《AWS Config 開發人員指南》中的使用規則評估資源 – AWS Config 服務會評估資源組態在內部實務、業

界準則和法規方面的合規程度。• AWS Security Hub – 此 AWS 服務可供您檢視 AWS 中的安全狀態,可助您檢查是否符合安全產業標準和

最佳實務。

強制執行最低版本為 TLS 1.2在與通信時增加更高的安全性AWS服務,您應該配置AWS ParallelCluster來使用 TLS 1.2 或更新版本。當您使用AWS ParallelCluster,您會使用 Python 來設定 TLS 版本。

若要確保AWS ParallelCluster不使用 TLS 1.2 之前的 TLS 版本,您可能必須重新編譯 OpenSSL 來強制執行此最低版本限制,然後重新編譯 Python 以使用新建立的 OpenSSL。

判定目前支援的通訊協定首先,使用 OpenSSL 建立用於測試伺服器和 Python SDK 的自簽憑證。

$ openssl req -subj '/CN=localhost' -x509 -newkey rsa:4096 -nodes -keyout key.pem -out cert.pem -days 365

然後使用 OpenSSL 啟動測試伺服器。

$ openssl s_server -key key.pem -cert cert.pem -www

在新的終端機視窗中,建立虛擬環境並安裝 Python SDK。

$ python3 -m venv test-envsource test-env/bin/activatepip install botocore

建立一個名為 check.py 的 Python 指令碼,此指令碼使用 SDK 的基礎 HTTP 程式庫。

$ import urllib3URL = 'https://localhost:4433/'

http = urllib3.PoolManager(ca_certs='cert.pem',cert_reqs='CERT_REQUIRED',)r = http.request('GET', URL)print(r.data.decode('utf-8'))

執行新的指令碼。

364

AWS ParallelCluster AWS ParallelCluster 使用者指南編譯 OpenSSL 和 Python

$ python check.py

這會顯示有關所建立連線的詳細資訊。搜尋「協定:」 在輸出中。如果輸出是 "TLSv1.2" 或更新版本,SDK就預設為 TLS v1.2 或更新版本。如果是較早的版本,您就必須重新編譯 OpenSSL 再重新編譯 Python。

但是,即使您安裝的 Python 預設為 TLS v1.2 或更新版本,如果伺服器不支援 TLS v1.2 或更新版本,則Python 仍然可能必須與 TLS v1.2 更早的版本重新交涉。若要確保 Python 不會自動與較早版本重新交涉,請使用以下命令重新啟動測試伺服器。

$ openssl s_server -key key.pem -cert cert.pem -no_tls1_3 -no_tls1_2 -www

如果您使用的是較早版本的 OpenSSL,您可能無法使用 -no_tls_3 旗標。如果是這種情況,請刪除該旗標,因為您使用的 OpenSSL 版本不支援 TLS v1.3。然後執行 Python 指令碼。

$ python check.py

如果您的 Python 安裝正確,不會與 TLS 1.2 之前的版本重新交涉,您應該會收到 SSL 錯誤。

$ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='localhost', port=4433): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:1108)')))

如果能夠建立連線,則您必須重新編譯 OpenSSL 和 Python,以禁止與 TLS v1.2 之前的通訊協定交涉。

編譯 OpenSSL 和 Python為了確保AWS ParallelCluster不會與 TLS 1.2 之前的任何版本交涉,您必須重新編譯 OpenSSL 和 Python。若要執行此操作,請複製下列內容以建立並執行此指令碼。

#!/usr/bin/env bashset -e

OPENSSL_VERSION="1.1.1d"OPENSSL_PREFIX="/opt/openssl-with-min-tls1_2"PYTHON_VERSION="3.8.1"PYTHON_PREFIX="/opt/python-with-min-tls1_2"

curl -O "https://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz"tar -xzf "openssl-$OPENSSL_VERSION.tar.gz"cd openssl-$OPENSSL_VERSION./config --prefix=$OPENSSL_PREFIX no-ssl3 no-tls1 no-tls1_1 no-sharedmake > /dev/nullsudo make install_sw > /dev/null

cd /tmpcurl -O "https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz"tar -xzf "Python-$PYTHON_VERSION.tgz"cd Python-$PYTHON_VERSION./configure --prefix=$PYTHON_PREFIX --with-openssl=$OPENSSL_PREFIX --disable-shared > /dev/nullmake > /dev/nullsudo make install > /dev/null

這樣會編譯一個 Python 版本,內含不會自動與 TLS 1.2 之前任何版本交涉的靜態連結 OpenSSL。這也會在/opt/openssl-with-min-tls1_2 目錄中安裝 OpenSSL,並在 /opt/python-with-min-tls1_2 目錄中安裝 Python。執行此指令碼之後,確認已安裝新版本的 Python。

365

AWS ParallelCluster AWS ParallelCluster 使用者指南編譯 OpenSSL 和 Python

$ /opt/python-with-min-tls1_2/bin/python3 --version

這應該會列印以下內容。

Python 3.8.1

若要確認這個新版本的 Python 不會與 TLS 1.2 之前的版本交涉,請使用新安裝的 Python 版本 (也就是 /opt/python-with-min-tls1_2/bin/python3) 重新執行 判定目前支援的通訊協定 (p. 364) 的步驟。

366

AWS ParallelCluster AWS ParallelCluster 使用者指南

文件歷史記錄下表介紹主要更新和新功能。AWS ParallelCluster使用者指南。我們也會經常更新文件,以處理您傳送給我們的意見回饋。

update-history-change update-history-description update-history-date

AWS ParallelCluster3.1.2 版現已發行

AWS ParallelCluster3.1.2 版現已發行。

變更:

• 將 Surm 升級到版本21.08.6來自的21.08.5。

錯誤修正:

• 修復/etc/hosts文件,當羣集部署在沒有 Internet 訪問的子網中時。

• 修復計算節點引導程序,以等待臨時驅動器初始化,然後再加入羣集。

有關更改的詳細信息,請參閲CHANGELOG文件AWS-並行羣集(在 GitHub 上)。

2022 年 3 月 2 日

AWS ParallelCluster2.11.5 版現已發行

AWS ParallelCluster2.11.5 版現已發行。

增強功能:

• 新增對 的支援NEW_CHANGED_DELETED作為 FSx of Lustre 的值AutoImportPolicy選項。

• 刪除對 SGE 和扭矩調度器的支持。

• Disablelog4j-cve-2021-44228-hotpatch服務,以避免潛在的性能下降。

變更:

• 將 NVIDIA 驅動程序升級到版本470.103.01來自的470.82.01。

2022 年 3 月 1 日

367

AWS ParallelCluster AWS ParallelCluster 使用者指南

• 將 NVIDIA 結構管理器升級到版本470.103.01來自的470.82.01。

• 將 CUDA 庫升級到版本11.4.4來自的11.4.3。

• Intel MPI (p. 251)更新到版本2021 Update 4 (更新自版本2019 Update 8)。如需詳細資訊,請參閱「」英特爾® MPI庫 2021 更新 4。

• 將頭節點創建超時延長至 1 小時。

錯誤修正:

• 修復通過瀏覽器的 DCV 連接。• 修復 YAML 引用以防止自定義

標籤被解析為數字。

有關更改的詳細信息,請參閲CHANGELOG文件AWS-並行羣集(在 GitHub 上)。

368

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster3.1.1 版現已發行

AWS ParallelCluster3.1.1 版現已發行。

• 添加對多用户羣集環境的支持,方法是與 Active Directory (AD)域集成 (p. 137)通過管理AWSDirectory Service。

• 新增對 的支援UseEc2Hostnames (p. 125)在羣集配置文件中。如果設置為 true,則對計算節點使用 EC2 默認主機名(例如ip-1-2-3-4)。

• 新增對叢集創建的支援沒有互聯網訪問的子網 (p. 52)。

• 為每個隊列添加對多個計算實例類型的支持。

• 在具有 NVIDIA 卡的 ARM 實例上使用 Surm 添加對 GPU 調度的支持。

• 添加縮寫標誌cluster-name(-n),region(-r),image-id(-i)和cluster-configuration/image-configuration(-c)添加到AWS ParallelClusterCLI。

• 新增對 的支援NEW_CHANGED_DELETEDFSxforLustreAutoImportPolicy (p. 134)參數。

• Addparallelcluster:compute-resource-name標籤添加到EC2LaunchTemplates計算節點使用的資源。

• 改進在羣集中創建的安全組,以允許自定義安全組的入站連接SecurityGroups參數為某些頭節點和/或隊列指定。

• 為 ARM 安裝 NVIDIA 驅動程式和 CUDA 庫。

變更:

• 將 Surm 升級到版本21.08.5來自的20.11.8。

• 將 Slurm 插件升級到版本21.08來自的20.11。

• 將 NICE DCV 升級到版本2021.3-11591來自的2021.1-10851。

2022 年 2 月 10 日

369

AWS ParallelCluster AWS ParallelCluster 使用者指南

• 將 NVIDIA 驅動程序升級到版本470.103.01來自的470.57.02。

• 將 NVIDIA 結構管理器升級到版本470.103.01來自的470.57.02。

• 將 CUDA 升級到版本11.4.4來自的11.4.0。

• Intel MPI (p. 251)更新到版本2021 Update 4 (更新自版本2019 Update 8)。如需詳細資訊,請參閱「」英特爾® MPI庫 2021 更新 4。

• 將 PMix 升級到版本3.2.3來自的3.1.5。

• 刪除將失敗的計算節點轉儲到/home/logs/compute。計算節點日誌文件在 CloudWatch 和EC2 控制台日誌中可用。

• 啟用抑制的潛力SlurmQueues和ComputeResources長度驗證器。

• 在 Amazon Linux 2 上執行個體中繼資料包執行個體中繼資料包更新。

• 在構建時禁用 EC2 映ImageBuilder 增強型映像元數據AWS ParallelCluster自定義圖像。

• 明確設定cloud-init數據源設置為 EC2。這樣可以節省Ubuntu 和 CentOS 平台的啟動時間。

• 在計算隊列啟動模板名稱中使用計算資源名稱而不是實例類型。

• 將 stderr 和標準輸出重定向到 CLI 日誌文件,以防止在pcluster CLI 輸出中出現不需要的文本。

• 將配置/安裝配方移動到從主菜譜調用的食譜分開。現有入口點得到維護,並向後兼容。

• 在 AMI 構建期間下載英特爾HPC 平台的依賴關係,以避免在羣集創建期間聯繫互聯網。

• 請勿剝離-從計算資源名稱中配置 Surm 節點。

• 如果未安裝 NVIDIA 驅動程序,請勿在 Surm 中配置 GPU。

• 修正項目ecs:ListContainerInstances中的許可BatchUserRole。

370

AWS ParallelCluster AWS ParallelCluster 使用者指南

• 修復在未指定前綴時導出羣集日誌的問題,以前導出到Noneprefix.

• 修復羣集更新失敗時不執行回滾的問題。

• 修正項目ecs:ListContainerInstances中的許可BatchUserRole。

• 修正項目RootVolume架構的HeadNode通過引發錯誤,如果KmsKeyId指定。

• 修復亞馬遜 FSX 缺失的指標,以便在 CloudWatch 儀錶板中顯示。

• 修正項目EfaSecurityGroupValidator。以前,當提供了自定義安全組並啟用了 EFA 時,它可能會產生錯誤的故障。

有關更改的詳細信息,請參閲CHANGELOG文件AWS-並行羣集、AWS-並行羣集-食譜,以及AWS-並行羣集節點(在 GitHub上)。

AWS ParallelCluster3.0.3 版現已發行

AWS ParallelCluster3.0.3 版現已發行。

• Disablelog4j-cve-2021-44228-hotpatch代理程式(Log4jHotPatch),以避免潛在的性能下降。如需詳細資訊,請參閱「」Amazon LinuxApache Log4j 推出 AmazonLinux 熱補丁程式公告。

有關更改的詳細信息,請參閲CHANGELOG文件AWS-並行羣集和AWS-並行羣集-食譜(在GitHub 上)。

2022年 1 月 17 日

371

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster2.11.4 版現已發行

AWS ParallelCluster2.11.4 版現已發行。

變更包括:

• CentOS8 支持已刪除。CentOS8 個已於 2021 年12 月 31 日到達生命週期結束。

• 升級Slurm Workload Manager升級到版本。

• 將 Cinc 客户端升級到17.2.29。

• NICE DCV (p. 253)更新到美國尼斯航空公司。如需詳細資訊,請參閱「」2021年10月11日中的NICE DCV 管理員指南。

• 將 NVIDIA 驅動程序升級到版本470.82.01來自的460.73.01。

• 將 CUDA 庫升級到版本11.4.3來自的11.3.0。

• 將 NVIDIA 結構管理器升級到470.82.01。

• 在 Amazon Linux 2 上執行個體中繼資料包執行個體中繼資料包更新。

• 禁用無人參與的軟件包更新UbuntuAmazon Linux 2.

• 安裝 Python 3 版本的AWSCloudFormation協助程式指令碼上CentOS7 和Ubuntu18.04.(這些已經在亞馬遜 Linux 2 和Ubuntu20.04)

修復包括:

• 停用ec2_iam_role (p. 279)參數。

• 修正CpuOptions啟動模板中的配置T2實例。

有關更改的詳細信息,請參閲CHANGELOG文件AWS-並行羣集、AWS-並行羣集-食譜和AWS-並行羣集節點(在 GitHub 上)。

2021 年 12 月 20 日

372

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster3.0.2 版現已發行

AWS ParallelCluster3.0.2 版現已發行。

升級Elastic FabricAdapter (p. 250)安裝程式升級到1.14.1

• EFA 配置:efa-config-1.9-1來自的efa-config-1.9)

• EFA 概要:efa-profile-1.5-1來自的efa-profile-1.5)

• EFA 核心模組:efa-1.14.2來自的efa-1.13.0)

• RDMA 核心:rdma-core-37.0來自的rdma-core-35)

• Libfabric:libfabric-1.13.2來自的libfabric-1.13.0)

• Open MPI:openmpi40-aws-4.1.1-2(無更改)

GpuDirect RDMA 始終處於啟用狀態(如果實例類型支持)。所以此GDR 支持 (p. 121)配置選項則沒有影響。

.

有關更改的詳細信息,請參閲CHANGELOG文件AWS-並行羣集、AWS-並行羣集-食譜和AWS-並行羣集節點(在 GitHub 上)。

2021 年 11 月 5 日

373

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster2.11.3 版現已發行

AWS ParallelCluster2.11.3 版現已發行。

修正項目pclustercreateami (p. 259)由於Son of Grid Engine源不可用arc.liv.ac.uk。升級Elastic FabricAdapter (p. 250)安裝程序更改為1.14.1(從 1.13.0)

• EFA 配置:efa-config-1.9-1來自的efa-config-1.9)

• EFA 概要:efa-profile-1.5-1(無更改)

• EFA 核心模組:efa-1.14.2來自的efa-1.13.0)

• RDMA 核心:rdma-core-37.0來自的rdma-core-35.0amzn)

• Libfabric:libfabric-1.13.2來自的libfabric-1.13.0amzn1.0)

• Open MPI:openmpi40-aws-4.1.1-2(無更改)

GpuDirect RDMA 始終處於啟用狀態(如果實例類型支持)。

所以此enable_efa_gdr (p. 279)和enable_efa_gdr (p. 310)配置選項不起作用。

有關更改的詳細信息,請參閲CHANGELOG文件AWS-並行羣集、AWS-並行羣集-食譜和AWS-並行羣集節點(在 GitHub 上)。

2021 年 11 月 3 日

374

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster3.0.1 版現已發行

AWS ParallelCluster3.0.1 版現已發行。

叢集配置遷移工具

客户現在可以將其羣集配置從AWS ParallelCluster版本2 格式轉換為基於 YAML 的AWS ParallelCluster第 3 版格式。如需更多詳細資訊,請參閱 pcluster3-config-converter (p. 101)。

頭節點可以停止

停止計算隊列後,可以停止頭節點,然後使用 AmazonEC2 控制台或停止執行個體AWS CLI命令。

從中讀取的預設區域~/.aws/config文件

對於pcluster (p. 82)命令,如果在配置文件、環境中或命令行中未指定區域,則在region設置[default]的區段~/.aws/config文件。

有關更改的詳細信息,請參閲CHANGELOG文件AWS-並行羣集、AWS-並行羣集-食譜和AWS-並行羣集節點(在 GitHub 上)。

2021 年 10 月 27 日

375

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster3.0.0 版現已發行

AWS ParallelCluster3.0.0 版現已發行。

Support 通過 Amazon APIGateway 進行集羣管理

客户現在可以通過 AmazonAPI Gateway 通過 HTTP 終端節點管理和部署集羣。這為腳本化或事件驅動的工作流提供了新的可能性。

所以此AWS ParallelCluster命令行界面 (CLI) 也經過重新設計,以便與此 API 兼容,幷包括一個新的 JSON 輸出選項。這一新功能使客户也可以使用 CLI 實施類似的構建基塊功能。

改進自訂 AMI 建立

客户現在可以使用 EC2Image Builder 訪問更強大的流程來創建和管理自定義 AMI。自定義 AMI 現在可以通過單獨的AWSParallelCluster配置文件,並且可以使用pclusterbuild-image (p. 83)命令AWS ParallelCluster命令列界面。

有關更改的詳細信息,請參閲CHANGELOG文件AWS-並行羣集、AWS-並行羣集-食譜和AWS-並行羣集節點(在 GitHub 上)。

2021 年 9 月 10 日

376

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster2.11.2 版現已發行

AWS ParallelCluster2.11.2 版現已發行。

變更包括:

• 如果在基本 AMI 中安裝了EFA,則不要在引導時啟用GPUDirect RDMA (GDR) 的情況下安裝 EFA。

• 的鎖定版nvidia-fabricmanager軟件包保持與安裝的 NVIDIA 驅動程序版本保持同步AWS ParallelCluster。

• Slurm:修復節點通電時停止並重新啟動羣集時引起的問題。

• Elastic FabricAdapter (p. 250)更新安裝程式到 1.13.0:• EFA 配置:efa-config-1.9(無更改)

• EFA 概要:efa-profile-1.5-1(無更改)

• EFA 核心模組:efa-1.13.0(無更改)

• RDMA 核心:rdma-core-35.0amzn來自的rdma-core-32.1amzn)

• Libfabric:libfabric-1.13.0amzn1.0來自的libfabric-1.11.2amzn1.1)

• Open MPI:openmpi40-aws-4.1.1-2(無更改)

• 將自定義 AMI 與預安裝的 EFA軟件包一起使用時,節點引導時不會對 EFA 進行任何更改。原始的 EFA 軟件包部署將被保留。

有關更改的詳細信息,請參閲AWS-並行羣集和AWS-並行羣集-食譜(在 GitHub 上)。

2021年 8 月 27 日

377

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster2.11.1 版現已發行

AWS ParallelCluster2.11.1 版現已發行。

變更包括:

• 裝載文件系統使用noatime掛載選項可在讀取文件時停止記錄上次訪問時間。這可提高遠程文件系統的性能。

• Elastic FabricAdapter (p. 250)更新安裝程式到 1.12.3:• EFA 配置:efa-config-1.9來自的efa-config-1.8-1)

• EFA 概要:efa-profile-1.5-1(無更改)

• EFA 核心模組:efa-1.13.0來自的efa-1.12.3)

• RDMA 核心:rdma-core-32.1amzn (未變更)

• Libfabric:libfabric-1.11.2amzn1.1(未變更)

• Open MPI:openmpi40-aws-4.1.1-2(無更改)

• 重試aws-parallelcluster包在頭部節點上使用AWS Batch作為調度程序。

• 避免構建時出現故障SGE在具有 31 個以上 vCPUs 的實例類型上。

• 已固定到 Amazon CloudWatch代理版本 1.247347.6 版,以避免版本 1.247348.0 中出現的問題。

有關更改的詳細信息,請參閲AWS-並行羣集和AWS-並行羣集-食譜(在 GitHub 上)。

2021 年 7 月 23 日

378

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster2.11.0 版現已發行

AWS ParallelCluster2.11.0 版現已發行。

變更包括:

• 新增對 的支援Ubuntu20.04(ubuntu2004),並刪除了Ubuntu16.04(ubuntu1604) 和 AmazonLinux (alinux。Amazon Linux2 (alinux2)仍然完整支援。如需詳細資訊,請參閱base_os (p. 273)。

• 刪除了對 3.6 以下 Python 版本的支持。

• 預設根卷大小已增加到 35 GiB。如需更多詳細資訊,請參閱compute_root_volume_size (p. 276)及master_root_volume_size (p. 283)。

• Elastic FabricAdapter (p. 250)更新安裝程式到 1.12.2:• EFA 配置:efa-config-1.8-1來自的efa-config-1.7)

• EFA 概要:efa-profile-1.5-1來自的efa-profile-1.4)

• EFA 核心模組:efa-1.12.3來自的efa-1.10.2)

• RDMA 核心:rdma-core-32.1amzn來自的rdma-core-31.2amzn)

• Libfabric:libfabric-1.11.2amzn1.1來自的libfabric-1.11.1amzn1.0)

• Open MPI:openmpi40-aws-4.1.1-2來自的openmpi40-aws-4.1.0)

• 升級Slurm到版本20.11.7來自的20.02.7。

• 在上安裝 SSM 代理程式centos7和centos8。(SSM 代理已預安裝在alinux2、ubuntu1804,以及ubuntu2004。)

• SGE:始終使用短名作為主機名過濾器qstat。

• 使用實例元數據服務第 2 版(IMDSv2) 而不是實例元數據服務第 1 版 (IMDSv1) 來檢索實例

2021 年 7 月 1 日

379

AWS ParallelCluster AWS ParallelCluster 使用者指南

元數據。如需詳細資訊,請參閱《Amazon EC2 Linux 執行個體使用者指南》中的執行個體中繼資料和使用者資料。

• 將 NVIDIA 驅動程序升級到版本460.73.01來自的450.80.02。

• 將 CUDA 庫升級到版本11.3.0來自的11.0。

• 將 NVIDIA 結構管理器升級到nvidia-fabricmanager-460。

• 升級用於AWSParallelClusterVirtualenv3.7.10來自的3.6.13。

• 將 Cinc 客户端升級到16.13.16。

• 升級第三方相依性AWS-並行羣集-食譜:• apt-7.4.0來自

的apt-7.3.0。• iptables-8.0.0來自

的iptables-7.1.0。• line-4.0.1來自

的line-2.9.0。• openssh-2.9.1來自

的openssh-2.8.1。• pyenv-3.4.2來自

的pyenv-3.1.1。• selinux-3.1.1來自

的selinux-2.1.1。• ulimit-1.1.1來自

的ulimit-1.0.0。• yum-6.1.1來自

的yum-5.1.0。• yum-epel-4.1.2來自

的yum-epel-3.3.0。

有關更改的詳細信息,請參閲AWS-並行羣集、AWS-並行羣集-食譜,以及AWS-並行羣集節點(在 GitHub 上)。

380

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster2.10.4 版現已發行

AWS ParallelCluster2.10.4 版現已發行。

變更包括:

• 升級Slurm到版本20.02.7來自的20.02.4。

有關更改的詳細信息,請參閲AWS-並行羣集(在 GitHub 上)。

2021 年 5 月 15 日

AWS ParallelCluster2.10.3 版現已發行

AWS ParallelCluster2.10.3 版現已發行。

變更包括:

• 新增對 的支援Ubuntu18.04及 Amazon Linux 2AWS中的引力實例AWS中國和AWSGovCloud (US)地區。

• Elastic FabricAdapter (p. 250)更新安裝程式到 1.11.2:• EFA 配置:efa-config-1.7(無更改)

• EFA 概要:efa-profile-1.4來自的efa-profile-1.3)

• EFA 核心模組:efa-1.10.2(無更改)

• RDMA 核心:rdma-core-31.2amzn (未變更)

• Libfabric:libfabric-1.11.1amzn1.0(未變更)

• Open MPI:openmpi40-aws-4.1.0(無更改)

有關更改的詳細信息,請參閲AWS-並行羣集(在 GitHub 上)。

2021 年 3 月 18 日

381

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster2.10.2 版現已發行

AWS ParallelCluster2.10.2 版現已發行。

變更包括:

• 改進集羣配置驗證,以便在調用Amazon EC2 時使用集羣目標AMIRunInstancesAPI 操作--dry-run模式的。

• 更新AWS ParallelCluster虛擬環境更改為 3.6.13。

• 修正項目sanity_check (p. 270)對於Arm 實例類型。

• 修正項目enable_efa當您使用centos8使用Slurm調度程序或 Arm 實例類型。

• 執行apt update在非交互模式下(-y。

• 修正項目encrypted_ephemeral (p. 280)=truealinux2和centos8。

有關更改的詳細信息,請參閲AWS-並行羣集(在 GitHub 上)。

2021 年 3 月 2 日

382

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster2.10.1 版現已發行

AWS ParallelCluster2.10.1 版現已發行。

變更包括:

• 新增對非洲 (開普敦) 的支援(af-south-1), 歐洲 (米蘭)(me-south-1) 和中東 (巴林)(me-south-1) 區域。啟動時,支援受到以下方面的限制:• 這些區域中的任何區域都不支

持 Lustre 和基於 ARM 的引力實例的 FSX。

• AWS Batch在非洲 (開普敦)不受支援。

• Amazon EBSio2和gp3非洲(開普敦) 和歐洲 (米蘭) 區域不支援卷類型。

• 新增對 Amazon EBS 的支援io2和gp3磁盤區類型。如需詳細資訊,請參閱「」[ebs]區段 (p. 294)和[raid]區段 (p. 311)。

• 新增對 的支援Elastic FabricAdapter (p. 250)在基於ARM 的重力 2 實例上運行alinux2、ubuntu1804,或ubuntu2004。如需詳細資訊,請參閱 Elastic FabricAdapter (p. 250)。

• 在 ARM AMI 上安裝 ARM 性能庫20.2.1(alinux2、centos8,以及ubuntu1804。如需詳細資訊,請參閱 Arm 性能庫 (p. 252)。

• Intel MPI (p. 251)更新到版本2019 Update 8 (更新自版本2019 Update 7)。如需詳細資訊,請參閱「」Intel® MPILibrary 2019 Update 8。

• 已移除AWS CloudFormationDescribeStacksAPI 操作調用AWS BatchDocker 入口點來結束由AWS CloudFormation。

• 改進了對 Amazon EC2 的調用DescribeInstanceTypes驗證集羣配置時調用 API 操作。

• 亞馬遜 Linux 2 碼頭映像是從亞馬遜 ECR 公共部件中提取的awsbatch調度器。

• 更改默認執行個體類型從硬編碼t2.micro實例類型設置為區域的免費套餐實例類型

2020 年 12 月 22 日

383

AWS ParallelCluster AWS ParallelCluster 使用者指南

(t2.micro或者t3.micro,具體取決於地區)。沒有免費套餐的區域默認為t3.micro執行個體類型。

• Elastic FabricAdapter (p. 250)更新安裝程式到 1.11.1:• EFA 配置:efa-config-1.7來自的efa-config-1.5)

• EFA 概要:efa-profile-1.3來自的efa-profile-1.1)

• EFA 核心模組:efa-1.10.2(無更改)

• RDMA 核心:rdma-core-31.2amzn來自的rdma-core-31.amzn0)

• Libfabric:libfabric-1.11.1amzn1.0來自的libfabric-1.10.1amzn1.1)

• Open MPI:openmpi40-aws-4.1.0來自的openmpi40-aws-4.0.5)

• 所以此vpc_settings (p. 290)、vpc_id (p. 317),以及master_subnet_id (p. 317)參數現在是必要參數。

• 所以此nfsd守護進程現在設置為使用至少 8 個線程。如果有 8 個以上的內核,它將使用與內核一樣多的線程。時機ubuntu1604,則只有在重新引導節點後才會更改設置。

• NICE DCV (p. 253)更新為尼斯通信公司。如需詳細資訊,請參閱「」中華人民共和國電視台中的NICE DCV 管理員指南。

• 英特爾 MPI 和 HPC 軟件包AWS ParallelCluster從 AmazonS3 中提取範圍。它們不再從英特爾百勝回購中提取。

• 已更改預設systemd運行級別到multi-user.target在所有操作系統上創建官方AWSParallelClusterAMI。運行級別設置為graphical.target只有在啟用 DCV 時,才會在頭節點上。這樣可以防止圖形服務(例如x/gdm),當它們不是必需的時候運行。

• 啟用對p4d.24xlarge執行個體在頭部節點上。

384

AWS ParallelCluster AWS ParallelCluster 使用者指南

• 增加註冊時的重試次數上限Slurm節點在 Amazon Route 53中。

有關更改的詳細信息,請參閲AWS-並行羣集、AWS-並行羣集-食譜,以及AWS-並行羣集節點(在 GitHub 上)。

385

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster2.10.0 版現已發行

AWS ParallelCluster2.10.0 版現已發行。

變更包括:

• 新增對 的支援CentOS8 (總共8)AWS 區域(在AWS中國和AWSGovCloud (US) 區域)。已移除對CentOS6.

• 新增對 的支援p4d.24xlarge執行個體為計算節點設定。

• 通過使用新的全民教育支持 NVIDIA GPUDirectRDMAenable_efa_gdr (p. 279)設定設定。

• 新增對 Amazon FSx for Lustre功能的支援。• 將 Amazon FSx for

Lustre 檔案系統配置為使用auto_import_policy (p. 302)設定設定。

• 添加了對基於 HDD 的Amazon FSX 的支持,適用於 Lustre 文件系統,使用storage_type (p. 307)和drive_cache_type (p. 304)設定。

• 添加了 Amazon CloudWatch 儀錶板,其中包括頭節點指標和輕鬆訪問集羣日誌。如需詳細資訊,請參閱 亞馬遜CloudWatch儀表板 (p. 248)。

• 添加了對使用現有 AmazonS3 存儲桶存儲集羣配置信息的支持,使用cluster_resource_bucket (p. 274)設定設定。

• 增強型pclustercreateami (p. 259)命令。• 已新增--post-install參

數在構建 AMI 時使用安裝後腳本。

• 添加了一個驗證步驟,以便在使用由不同版本的AWSParallelCluster。

• 添加了在選定操作系統與基本AMI 中的操作系統不同時失敗的驗證步驟。

• 新增了對使用AWSParallelCluster基礎 AMI。

• 增強型pclusterupdate (p. 266)命令。

2020 年 11 月 18 日

386

AWS ParallelCluster AWS ParallelCluster 使用者指南

• 所以此tags (p. 289)設置現在可以在更新過程中進行更改。

• 現在可以在更新過程中調整隊列的大小,而無需停止計算隊列

• 已新增all_or_nothing_batch的組態參數slurm_resume指令碼。時機True、slurm_resume只有當Slurm將可用。如需詳細資訊,請參閱「」簡介all_or_nothing_batch啟動中的AWS ParallelCluster(在GitHub 上)。

• Elastic FabricAdapter (p. 250)更新安裝程式到 1.10.1:• EFA 配置:efa-config-1.5來自的efa-config-1.4)

• EFA 概要:efa-profile-1.1來自的efa-profile-1.0.0)

• EFA 核心模組:efa-1.10.2(來自efa-1.6.0)

• RDMA 核心:rdma-core-31.amzn0(來自rdma-core-28.amzn0)

• Libfabric:libfabric-1.11.1amzn1.0(來自libfabric-1.10.1amzn1.1)

• Open MPI:openmpi40-aws-4.0.5(來自openmpi40-aws-4.0.3)

• 在 中AWS GovCloud (US)區域,啟用對 NICE DCV 和AWSBatch。

• 在 中AWS中國地區,啟用針對Amazon FSx for Lustre 支持。

• 將 NVIDIA 驅動程序升級到版本 450.80.02(從 450.51.05 開始)。

• 安裝 NVIDIA 結構管理器以在支持的平台上啟用 NVIDIA NV 交換機。

• 已刪除默認區域us-east-1。默認情況下使用此查找順序。• 在中指定的區域-r或者--region引數。

• AWS_DEFAULT_REGION環境變數。

387

AWS ParallelCluster AWS ParallelCluster 使用者指南

• aws_region_name設置[aws]區段 (p. 271)的AWS ParallelCluster配置文件(默認為~/.parallelcluster/config。

• region設置[default]的區段AWS CLI配置文件(默認為~/aws/config。

有關更改的詳細信息,請參閲AWS-並行羣集、AWS-並行羣集-食譜,以及AWS-並行羣集節點(在 GitHub 上)。

388

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster2.9.0 版現已發行

AWS ParallelCluster2.9.0 版現已發行。

變更包括:

• 添加了對計算隊列中多個隊列和多個實例類型的支持,當與Slurm Workload Manager。使用隊列時,Auto Scaling 組不再用於Slurm。Amazon Route53 託管區域現在已與羣集一起創建,並且用於計算節點的DNS 解析Slurm調度程序。如需詳細資訊,請參閱 多隊列模式 (p. 245)。

• 新增對 的支援NICEDCV (p. 253)基於 ARM 型AWS重力型執行個體。

• 添加了對不支持啟動模板中CPU 選項的實例類型禁用超線程的支持(例如*.metal執行個體類型)。

• 為從頭節點共享的文件系統添加了對 NFS 4 的支持。

• 已移除對cfn-init在引導計算節點時,以避免AWSCloudFormation當大量節點加入羣集時。

• Elastic FabricAdapter (p. 250)更新安裝程式到 1.9.5:• EFA 配置:efa-config-1.4(來自efa-config-1.3)

• EFA 概要:efa-profile-1.0.0(新)

• 核心模組:efa-1.6.0 (未變更)

• RDMA 核心:rdma-core-28.amzn0 (未變更)

• Libfabric:libfabric-1.10.1amzn1.1(未變更)

• Open MPI:openmpi40-aws-4.0.3(無更改)

• 升級Slurm到版本20.02.4(來自19.05.5。

• NICE DCV (p. 253)更新為尼斯航空公司。如需詳細資訊,請參閱「」二零零四年八月二十四日發行紀錄中的NICE DCV 管理員指南。

2020 年 9 月 11 日

389

AWS ParallelCluster AWS ParallelCluster 使用者指南

• 裝載共享 NFS 驅動器時,請使用頭節點私有 IP 地址而不是主機名。

• 新增對 CloudWatch Logs的新增資訊流:chef-client、clustermgtd、computemgtd、slurm_resume,以及slurm_suspend。

• 新增對預安裝和安裝後腳本中的隊列名稱的支援。

• 在 中AWS GovCloud (US)地區,請使用亞 AmazonDynamoDB 按需計費選項。如需詳細資訊,請參閱「」隨需模式中的Amazon DynamoDB 開發人員指南。

有關更改的詳細信息,請參閲AWS-並行羣集、AWS-並行羣集-食譜,以及AWS-並行羣集節點(在 GitHub 上)。

AWS ParallelCluster2.8.1 版現已發行

AWS ParallelCluster2.8.1 版現已發行。

變更包括:

• 禁用 NICE DCV 會話的屏幕鎖定,以防止用户被鎖定。

• 修正項目pclusterconfigure (p. 257)包含 ARM型AWS重力型執行個體類型。

有關更改的詳細信息,請參閲AWS-並行羣集、AWS-並行羣集-食譜,以及AWS-並行羣集節點(在 GitHub 上)。

2020 年 8 月 4 日

390

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster2.8.0 版現已發行

AWS ParallelCluster2.8.0 版現已發行。

變更包括:

• 新增對 ARM 型的支援AWS基於重力的實例(如A1和C6g。

• 添加了對亞馬遜 FSX 光澤自動日常備份功能的支持。如需詳細資訊,請參閱automatic_backup_retention_days (p. 302)、copy_tags_to_backups (p. 303)、daily_automatic_backup_start_time (p. 303)和 fsx_backup_id (p. 305)。

• 刪除對 Berkshelf 的相依性pclustercreateami (p. 259)。

• 改善了用户的穩健性和用户體驗pclusterupdate (p. 266)。如需詳細資訊,請參閱 使用 pclusterupdate (p. 254)。

• Elastic FabricAdapter (p. 250)更新安裝程式到 1.9.4:• 核心模

組:efa-1.6.0(從efa-1.5.1)• RDMA 核心:rdma-core-28.amzn0(從rdma-core-25.0)

• Libfabric:libfabric-1.10.1amzn1.1(從libfabric-aws-1.9.0amzn1.1)

• Open MPI:openmpi40-aws-4.0.3(無更改)

• 將 NVIDIA 驅動程序升級到特斯拉版本 440.95.01CentOS6 和450.51.05 版本在所有其他發行版上。

• 將 CUDA 庫升級到版本 11.0,在除CentOS6.

有關更改的詳細信息,請參閲AWS-並行羣集、AWS-並行羣集-食譜,以及AWS-並行羣集節點(在 GitHub 上)。

2020 年 7 月 23 日

391

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster2.7.0 版現已發行

AWS ParallelCluster2.7.0 版現已發行。

變更包括:

• base_os (p. 273) 現在是必要參數。

• scheduler (p. 287) 現在是必要參數。

• 漂亮的 DCV (p. 253)更新到NICE DCV 2020.0。如需詳細資訊,請參閱「」尼斯 DCV 發佈版本 2020.0 與環繞聲 7.1 和手寫筆支持。

更新 Intel MPI (p. 251) 到版本 2019 Update 7 (更新自版本2019 Update 6)。如需詳細資訊,請參閱 Intel® MPI Library2019 Update 7。

更新 Elastic FabricAdapter (p. 250) 安裝程式到1.8.4:• 核心模組:efa-1.5.1 (未

變更)• RDMA 核心:rdma-core-25.0 (未變更)

• Libfabric:libfabric-aws-1.9.0amzn1.1 (未變更)

• Open MPI:openmpi40-aws-4.0.3 (更新自openmpi40-aws-4.0.2)

• 升級 CentOS 7 AMI 至版本7.8-2003 (更新自 7.7-1908)。如需詳細資訊,請參閱「」CentOS-7 (2003) 版本備註。

2020 年 5 月 19 日

AWS ParallelCluster2.6.1 版現已發行

AWS ParallelCluster2.6.1 版現已發行。

變更包括:

• 已移除cfn-init-cmd和cfn-wire從存儲在 AmazonCloudWatch Logs 的日誌中繼資料。如需詳細資訊,請參閱與卓越亞馬遜整合CloudWatch日誌 (p. 248)。

2020 年 4 月 17 日

392

AWS ParallelCluster AWS ParallelCluster 使用者指南

AWS ParallelCluster2.6.0 版現已發行

AWS ParallelCluster2.6.0 版現已發行。

變更包括:

• 已新增 Amazon Linux 2 的支援。

• 現在,Amazon CloudWatchLogs 已用於收集叢集和排程器日誌。如需詳細資訊,請參閱與卓越亞馬遜整合CloudWatch日誌 (p. 248)。

• 新增對 Amazon FSx forLustre 部署類型的新增支援SCRATCH_2和PERSISTENT_1。FSxfor LustreUbuntu18.04 和Ubuntu16.04. 如需詳細資訊,請參閱:fsx (p. 301)。

• 添加了對 NICE DCV 的支持Ubuntu18.04. 如需詳細資訊,請參閱 通過 NICE DCVConnect 到頭節點 (p. 253)。

2020 年 2 月 27 日

AWS ParallelCluster2.5.1 版現已發行

AWS ParallelCluster2.5.1 版現已發行。

2019 年 12 月 13 日

AWS ParallelCluster2.5.0 版現已發行

AWS ParallelCluster2.5.0 版現已發行。

2019 年 11 月 18 日

AWS ParallelCluster推出 IntelMPI 支援

AWS ParallelCluster2.4.1 版推出Intel MPI 支援。

2019 年 7 月 29 日

AWS ParallelCluster推出 EFA 支援

AWS ParallelCluster2.4.0 推出Elastic Fabric Adapter (EFA) 支援。

2019 年 6 月 11 日

AWS ParallelCluster文件發佈在AWS文檔網站 (p. 367)

AWS ParallelCluster 文件現在提供 10 種語言版本,並提供 HTML和 PDF 格式。

2018 年 5 月 24 日

393

AWS ParallelCluster AWS ParallelCluster 使用者指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

cccxciv