

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用陣列、機群和佇列隔離工作負載
<a name="farm-structure"></a>

您可以透過多種方式安排截止日期雲端陣列、機群和佇列。您選擇的配置會設定工作負載之間的隔離界限，因此請在建置之前，決定您的團隊、 顯示或用戶端需要多少區隔。

有關機群的兩個事實推動了決策：
+ 當機群與多個佇列相關聯時，所有這些佇列中的任務都會在相同的工作者主機上執行。任務執行後，資料可以保留在主機上，例如暫存目錄或佇列使用者主目錄中的檔案，而且任務可以讓執行中的程序保留之後任務可以觀察的程序。

  其中一些資料依設計保留。任務可以在任務使用者的主目錄下快取資料，以便稍後的工作階段重複使用。例如，conda佇列環境會在該處快取下載的套件。在服務受管機群上，所有任務會以單一使用者身分執行，因此機群上的每個佇列都會共用這些快取。快取的資料會保留到工作者關閉，或在機群使用持久性儲存時跨工作者替換。如需詳細資訊，請參閱*截止日期雲端開發人員指南*中的[工作階段](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/build-jobs-scheduling.html#jobs-scheduling-sessions)，以及*截止日期雲端使用者指南*中的[持久性儲存](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/volumes.html)。
+ 工作者主機會以作業系統使用者身分執行任務。在客戶管理的機群上，您可以為每個佇列提供自己的使用者，讓佇列可以在其任務的檔案和程序保持分隔時共用機群。在服務受管機群上，所有任務都會以單一使用者身分執行，因此請給予需要分離自己機群的佇列。在這兩種情況下，主機只會從陣列中的佇列執行任務。

考慮到這些事實，請選擇符合您隔離需求的安排：
+ **獨立陣列** – 一個陣列不會與其他陣列共用截止期限的雲端資源，例如機群、佇列和儲存設定檔，因此個別陣列可為工作負載提供最強大的分離。權衡是設定和管理的更多資源，以及一個陣列無法借給另一個陣列的工作者容量。在陣列之間共用外部 AWS 資源，例如 Amazon S3 儲存貯體會削弱界限，因此請為每個陣列提供自己的資源。
+ **一個陣列，每個佇列的機群** – 需要彼此分隔的佇列會取得自己的機群，因此其任務永遠不會共用工作者主機。您可以保留要管理的單一陣列，並監控使用者的範圍可限定為每個佇列。如需界定使用者範圍的詳細資訊，請參閱*《截止日期雲端使用者指南*》中的[管理使用者](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/managing-users.html)。權衡是分割的容量：一個機群中的閒置工作者無法挑選另一個佇列的任務。
+ **一個陣列、佇列共用機群** – 共用機群可為您提供最簡單的設定和最佳的工作者使用率。由於佇列共用工作者主機，請將共用機群的所有佇列視為一個安全界限。在客戶受管機群上，您也可以為每個佇列提供不同的作業系統使用者，以將任務程序和檔案彼此分開。

無論您選擇哪種配置，請將資源共用保持在安全界限內：
+ 僅在相同安全界限的佇列之間共用任務附件的 Amazon S3 儲存貯體和根字首。如需詳細資訊，請參閱[安全任務連接和軟體儲存貯體](job-attachment-queues.md)。
+ 僅在相同安全界限的佇列之間共用作業系統使用者。如需詳細資訊，請參閱[以專用作業系統使用者身分執行任務](job-run-as-user.md)。
+ 將相同的界限套用至您整合到陣列的任何其他 AWS 資源，例如共用檔案系統。