Share Your AWS re:Post Experience - Quick 3 Question Survey
Help us improve AWS re:Post! We're interested in understanding how you use re:Post and its impact on your AWS journey. Please take a moment to complete our brief 3-question survey.
為何我無法在我的 AWS Fargate 任務上掛載 Amazon EFS 磁碟區?
我在我的 AWS Fargate 任務上掛載 Amazon Elastic File System (Amazon EFS) 磁碟區時遇到錯誤。
簡短描述
Amazon EFS 為您的 Fargate 任務提供持續性儲存解決方案,可在不同任務之間共用檔案和資料。
下列問題可能導致您無法在 Fargate 任務上掛載 Amazon EFS 磁碟區:
- Amazon EFS 檔案系統未正確設定。
- 適用於 Amazon Elastic Container Service (Amazon ECS) 任務的 AWS Identity and Access Management (IAM) 角色沒有所需的權限。
- 存在與聯網和 Amazon Virtual Private Cloud (Amazon VPC) 組態相關的問題。
若要對無法啟動的 Amazon Elastic Container Service (Amazon ECS) 任務錯誤進行疑難排解,請使用 AWSSupport-TroubleshootECSTaskFailedToStart Runbook。然後,請參閱相關疑難排解步驟,了解您的問題。
解決方案
找出無法啟動的任務
重要事項:
- 在與 ECS 叢集資源位置相同的 AWS 區域使用 AWSSupport-TroubleshootECSTaskFailedToStart Runbook。
- 當使用 Runbook 時,您必須利用最近失敗的任務 ID。如果失敗的任務屬於 Amazon ECS 服務,請在服務利用最近期失敗的任務。失敗的任務在自動執行期間必須在 ECS:DescribeTasks 可見。預設情況下,已停止的 ECS 任務會在進入已停止狀態後 1 小時內可見。利用最近期失敗的任務 ID 可防止任務狀態清除在自動化期間中斷分析。
如需如何啟動 Runbook 的指示,請參閱 AWSSupport-TroubleshootECSTaskFailedToStart。根據自動化輸出,利用下列其中一個手動疑難排解步驟。
根據您的錯誤訊息對任務進行疑難排解
當您嘗試在 Fargate 任務上掛載 EFS 磁碟區時,可能會收到下列其中一個錯誤:
「ResourceInitializationError:無法叫用 EFS 公用程式命令來設定 EFS 磁碟區:stderr:b'mount.nfs4: 連線逾時':EFS 公用程式命令執行失敗;代碼: 32」
當 Fargate 任務因為連線時間無法連線 EFS 檔案系統時,您會收到這些錯誤。若要解決此錯誤,請完成下列疑難排解步驟:
- 開啟 Amazon EFS 主控台。
- 在導覽窗格選擇檔案系統。
- 透過選擇名稱或檔案系統 ID,選擇您想要檢查的檔案系統。
- 選擇網路以顯示現有掛載目標的清單。
- 選擇管理。
您可以針對掛載目標檢視安全群組和安全群組的傳入規則。
請確認安全群組的傳入規則允許連接埠 2049 上來自 Fargate 任務安全群組的流量。確認在此子網路層級允許網路流量。若要這麼做,請驗證網路存取控制清單是否允許檔案系統與任務之間的流量。如果不允許流量,請據以修改規則。如需詳細資訊,請參閱 Amazon Virtual Private Cloud 的安全性。
「ResourceInitializationError:無法叫用 EFS 公用程式命令來設定 EFS 磁碟區:stderr:mount.nfs4: 連線由對等互連重設:EFS 公用程式命令執行失敗;代碼: 32」
由於下列其中一個原因,您收到了上述錯誤:
- 您在建立檔案系統後立即掛載 EFS 檔案系統。
- 掛載目標的安全群組不允許連接埠 2049 上來自 Fargate 任務的傳入流量。
- 您正在使用 AWS App Mesh,而 Proxy 規則會針對連接埠 2049 封鎖傳出流量。
若要針對此錯誤進行疑難排解,請按照下列步驟操作:
- 於建立掛載目標之後,DNS 記錄最長可能需要 90 秒才能在 AWS 區域完整傳播。如果您以程式設計方式建立和掛載檔案系統,例如使用 AWS CloudFormation 範本,請實施等待條件。
- 請確認附加至 EFS 檔案系統掛載目標的傳入安全群組規則允許連接埠 2049 上來自 Fargate 任務的流量。
- 如果您正在使用 App Mesh,請確保您在 TaskDefinition 指定的 Proxy 組態包含 2049 這個 EgressIgnoredPorts。
「ResourceInitializationError:無法叫用 EFS 公用程式命令來設定 EFS 磁碟區:stderr: 無法解決 "fs-xxxxxxxxxxx.efs.us-east-1.amazonaws.com" - 請檢查您的檔案系統 ID 是否正確」
由於下列其中一個原因,您收到了上述錯誤:
- 未建立 EFS 檔案系統掛載目標,或在啟動 Fargate 任務所在的可用區域並未提供。
- 您利用自訂 DNS 伺服器作為 VPC。
- VPC DNS 主機名稱已關閉。DNS 主機名稱預設為關閉。
若要解決此錯誤,請按照下列步驟操作:
- 請確認 EFS 檔案系統掛載目標與 Fargate 任務位於相同的可用區域。您可以在 Amazon EFS 主控台檢視可用區域、子網路和掛載目標的安全群組。然後,驗證掛載目標是否利用與 Fargate 任務相同的可用區域和子網路。
- 如果您在 VPC DHCP 選項指定自訂 DNS 伺服器而非 AmazonProvidedDNS,請務必設定條件式 DNS 轉寄站。DNS 轉寄站必須將 AWS 資源 (*.amazonaws.com) 的 DNS 查詢傳送到 VPC 的預設 DNS 伺服器 (位於 VPC CIDR .2 或 169.254.169.253)。如需詳細資訊,請參閱如何在內部部署網路和使用 AWS Directory Service 與 Microsoft Active Directory 的 AWS 之間設定 DNS 解析。
「ResourceInitializationError:無法叫用 EFS 公用程式命令來設定 EFS 磁碟區:stderr:b'mount.nfs4:掛載 127.0.0.1:/' 時存取遭到伺服器拒絕:EFS 公用程式命令執行失敗;代碼: 32」
當下列原則和許可拒絕存取檔案系統時,您會收到上述錯誤:
- 檔案系統原則
- 任務角色原則
- POSIX 檔案系統層級許可
能否存取 EFS 檔案系統可能取決於下列資源定義的許可:
- 網路存取控制清單
- 安全群組
- EFS 檔案系統原則
- ECS 任務角色 IAM 原則
- POSIX 檔案
如需詳細資訊,請參閱Amazon EFS 與 Amazon ECS 和 AWS Fargate 開發人員使用指南 – 第 2 部分。
若要針對此錯誤進行疑難排解,請檢查檔案系統原則或 ECS 任務角色 IAM 原則是否拒絕存取檔案系統。如果這些原則拒絕許可,請修改原則來授與檔案系統存取權。如果檔案系統原則不存在,則預設會將檔案系統的存取權授與建立期間的所有主體。
相關資訊

相關內容
- 已提問 2 年前lg...
- 已提問 4 個月前lg...
- 已提問 6 個月前lg...
- AWS 官方已更新 1 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 8 個月前
- AWS 官方已更新 1 個月前