我已更新連線至 Amazon Virtual Private Cloud (Amazon VPC) 的 AWS Lambda 函數,並收到下列錯誤: "You have exceeded the maximum limit for Lambda HyperPlane ENIs for your VPC."
簡短說明
當您設定 Lambda 函數以存取 Amazon VPC 中的資源時,Lambda 會建立 Hyperplane 彈性網路介面。首次定義唯一子網路和安全性群組組合時,將建立 Hyperplane 網路介面。
Amazon VPC 網路介面的預設配額限制為 500。當您超過網路介面配額時,就會出現超出限制錯誤。
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,則請參閱對 AWS CLI 進行錯誤疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
識別 Amazon VPC 中 Hyperplane 網路介面的用量
若要尋找 Lambda 為 Amazon VPC 使用的 Hyperplane 網路介面總數,請執行 describe-network-interfaces 命令:
$ aws ec2 describe-network-interfaces --region us-east-1 \
--filters 'Name=vpc-id,Values=VPC' 'Name=status,Values=in-use' \
--query 'NetworkInterfaces[?InterfaceType==`lambda`].NetworkInterfaceId'
**注意:**使用 Amazon VPC ID 取代 VPC,並使用 AWS 區域取代 區域。
若要尋找屬於 Lambda 函數的網路介面,請在 GitHub 網站上執行 Lambda ENI 搜尋工具指令碼。
移除不存取私有資源之 Lambda 函數的 Amazon VPC 組態
最佳做法是為 Lambda 函數設定 Amazon VPC,以僅存取私有資源。更新函數以移除其 Amazon VPC 組態後,Lambda 會刪除附加的 Hyperplane 網路介面。
**注意:**僅在沒有其他函數或已發佈版本使用該 Hyperplane 網路介面時,Lambda 才會刪除 Hyperplane 網路介面。
若要識別使用網路介面的函數,請參閱為什麼我無法分離或刪除 Lambda 建立的彈性網路介面?
移除作用中 Lambda 函數的未使用版本並重複使用 Hyperplane 網路介面
如果您使用 Amazon VPC 設定的 Lambda 函數具有多個已發佈版本,則最佳做法為移除未使用的版本。移除未使用的 Lambda 函數版本有助於釋出未使用的 Hyperplane 網路介面。
如果 Lambda 函數連續幾週保持閒置狀態,則 Lambda 會回收未使用的 Hyperplane 網路介面,並將函數狀態設定為閒置。Lambda 不會刪除 Lambda 函數使用的 Hyperplane 網路介面。
Lambda 將 Hyperplane 網路介面重複使用於帳戶中使用相同子網路和安全性群組組合的其他 Amazon VPC 已啟用函數。您可以設定相同的安全群組子網路配對,以重複使用跨函數的網路介面。
如需詳細資訊,請參閱瞭解 Hyperplane 彈性網路介面 (ENI)。
**注意:**最佳作法是共用網路介面,以盡可能減少所需的介面數量。
在 Service Quotas 儀表板中開啟配額增加案例
如果您確定您的使用案例需要更高的 Hyperplane 網路介面服務配額,則請求服務配額增加。如需詳細資訊,請參閱請求配額增加。
相關資訊
如何請求增加 Lambda 函數的並行限制?