本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Terraform 和 DRA 部署 Lustre 檔案系統以進行高效能資料處理
由 Arun Bagal (AWS) 和 Ishwar Chauthaiwale (AWS) 建立
Summary
此模式會自動在 上部署 Lustre 檔案系統, AWS 並將其與 Amazon Elastic Compute Cloud (Amazon EC2) 和 Amazon Simple Storage Service (Amazon S3) 整合。
此解決方案可協助您快速設定具有整合式儲存、運算資源和 Amazon S3 資料存取的高效能運算 (HPC) 環境。它結合了 Lustre 的儲存功能與 Amazon EC2 提供的彈性運算選項,以及 Amazon S3 中可擴展的物件儲存,因此您可以在機器學習、HPC 和大數據分析中處理資料密集型工作負載。
模式使用 HashiCorp Terraform 模組和 Amazon FSx for Lustre 來簡化下列程序:
佈建 Lustre 檔案系統
在 FSx for Lustre 和 S3 儲存貯體之間建立資料儲存庫關聯 (DRA),以將 Lustre 檔案系統與 Amazon S3 物件連結
建立 EC2 執行個體
在 EC2 執行個體上使用 Amazon S3 連結 DRA 掛載 Lustre 檔案系統
此解決方案的優點包括:
模組化設計。您可以輕鬆維護和更新此解決方案的個別元件。
延展性。 您可以跨 AWS 帳戶 或 區域快速部署一致的環境。
彈性。您可以自訂部署以符合您的特定需求。
最佳實務。此模式使用遵循 AWS 最佳實務的預先設定模組。
如需 Lustre 檔案系統的詳細資訊,請參閱 Lustre 網站
先決條件和限制
先決條件
作用中 AWS 帳戶
最低權限 AWS Identity and Access Management (IAM) 政策 (請參閱說明
)
限制
FSx for Lustre 會將 Lustre 檔案系統限制在單一可用區域,如果您有高可用性需求,這可能會令人擔憂。如果包含檔案系統的可用區域失敗,則會失去對檔案系統的存取,直到復原為止。若要實現高可用性,您可以使用 DRA 將 Lustre 檔案系統與 Amazon S3 連結,並在可用區域之間傳輸資料。
產品版本
架構
下圖顯示 FSx for Lustre 和 AWS 服務 中互補的架構 AWS 雲端。

架構包含下列項目:
S3 儲存貯體可做為資料耐用、可擴展且符合成本效益的儲存位置。FSx for Lustre 和 Amazon S3 之間的整合提供與 Amazon S3 無縫連結的高效能檔案系統。
FSx for Lustre 會執行和管理 Lustre 檔案系統。
Amazon CloudWatch Logs 會從檔案系統收集和監控日誌資料。這些日誌可讓您深入了解 Lustre 檔案系統的效能、運作狀態和活動。
Amazon EC2 用於使用開放原始碼 Lustre 用戶端存取 Lustre 檔案系統。EC2 執行個體可以從相同虛擬私有雲端 (VPC) 中的其他可用區域存取檔案系統。網路組態允許在 VPC 內的子網路之間存取 。在執行個體上掛載 Lustre 檔案系統之後,您可以使用其檔案和目錄,就像使用本機檔案系統一樣。
AWS Key Management Service (AWS KMS) 透過提供靜態資料的加密來增強檔案系統的安全性。
自動化和擴展
Terraform 可讓您更輕鬆地跨多個環境部署、管理和擴展 Lustre 檔案系統。在 FSx for Lustre 中,單一檔案系統具有大小限制,因此您可能需要建立多個檔案系統來水平擴展。您可以使用 Terraform 根據您的工作負載需求佈建多個 Lustre 檔案系統。
工具
AWS 服務
Amazon CloudWatch Logs 可協助您集中所有系統、應用程式的日誌, AWS 服務 以便您可以監控日誌並將其安全地存檔。
Amazon Elastic Compute Cloud (Amazon EC2) 在 AWS 雲端中提供可擴展的運算容量。您可以視需要啟動任意數量的虛擬伺服器,,並快速進行擴展或縮減。
Amazon FSx for Lustre 可讓您輕鬆且經濟實惠地啟動、執行和擴展高效能 Lustre 檔案系統。
AWS Key Management Service (AWS KMS) 可協助您建立和控制密碼編譯金鑰,以協助保護您的資料。
Amazon Simple Storage Service (Amazon S3) 是一種雲端型物件儲存服務,可協助您儲存、保護和擷取任何數量的資料。
程式碼儲存庫
此模式的程式碼可在 GitHub Provision FSx for Lustre Filesystem 中使用 Terraform
最佳實務
下列變數定義 Lustre 檔案系統。請務必根據您的環境正確設定這些項目,如 Epics 區段中的指示。
storage_capacity
– Lustre 檔案系統的儲存容量,以 GiBs為單位。最小和預設設定為 1200 GiB。deployment_type
– Lustre 檔案系統的部署類型。如需兩個選項PERSISTENT_1
和PERSISTENT_2
(預設) 的說明,請參閱 FSx for Lustre 文件。per_unit_storage_throughput
– 讀取和寫入輸送量,以每秒每 TiB MBs為單位。subnet_id
– 您要部署 FSx for Lustre 的私有子網路 ID。vpc_id
– 您想要在 AWS 其中部署 FSx for Lustre 的虛擬私有雲端 ID。data_repository_path
– 將連結至 Lustre 檔案系統的 S3 儲存貯體路徑。iam_instance_profile
– 用來啟動 EC2 執行個體的 IAM 執行個體描述檔。kms_key_id
– 將用於資料加密之 AWS KMS 金鑰的 Amazon Resource Name (ARN)。
使用 和
vpc_id
變數,確保 VPC 內的適當網路存取security_group
和放置。如 Epics 章節所述執行
terraform plan
命令,以在套用變更之前預覽和驗證變更。這有助於發現潛在問題,並確保您知道要部署的內容。如 Epics 一節所述使用
terraform validate
命令來檢查語法錯誤,並確認組態是否正確。
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
安裝 Terraform。 | 若要在本機電腦上安裝 Terraform,請遵循 Terraform 文件 | AWS DevOps,DevOps 工程師 |
設定 AWS 登入資料。 | 若要設定帳戶的 AWS Command Line Interface (AWS CLI) 設定檔,請遵循 AWS 文件中的指示。 | AWS DevOps,DevOps 工程師 |
複製 GitHub 儲存庫。 | 若要複製 GitHub 儲存庫,請執行 命令:
| AWS DevOps,DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
更新部署組態。 |
| AWS DevOps,DevOps 工程師 |
初始化 Terraform 環境。 | 若要初始化您的環境以執行 Terraform
| AWS DevOps,DevOps 工程師 |
驗證 Terraform 語法。 | 若要檢查語法錯誤並確認組態是否正確,請執行:
| AWS DevOps,DevOps 工程師 |
驗證 Terraform 組態。 | 若要建立 Terraform 執行計劃並預覽部署,請執行:
| AWS DevOps,DevOps 工程師 |
部署 Terraform 模組。 | 若要部署 FSx for Lustre 資源,請執行:
| AWS DevOps,DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
移除 AWS 資源。 | 完成使用 FSx for Lustre 環境後,您可以移除 Terraform 部署 AWS 的資源,以避免產生不必要的費用。程式碼儲存庫中提供的 Terraform 模組會自動執行此清除。
| AWS DevOps,DevOps 工程師 |
故障診斷
問題 | 解決方案 |
---|---|
FSx for Lustre 傳回錯誤。 | 如需 FSx for Lustre 問題的協助,請參閱 FSx for Lustre 文件中的疑難排解 Amazon FSx for Lustre。 |
相關資源
使用 Terraform 建置 Amazon FSx for Lustre
(Terraform 文件中的AWS 提供者參考) Amazon FSx for Lustre 入門 (FSx for Lustre 文件)