跳至內容

為什麼我無法刪除附加至 Amazon VPC 的安全群組?

2 分的閱讀內容
0

當我刪除 Amazon Virtual Private Cloud (Amazon VPC) 的安全群組時,收到錯誤訊息。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

確認安全群組不是預設安全群組

每個 Amazon VPC 都有一個預設安全群組。如果您啟動新的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體且未指定預設安全群組,則 AWS 會自動與預設安全群組建立關聯。

如果您嘗試刪除預設安全群組,則會收到以下錯誤:

「錯誤: Client.CannotDelete"

您無法刪除預設安全群組。但是,您可以修改預設安全群組的規則

請確定安全群組規則不參考您的安全群組

在刪除安全群組之前,請先完成下列步驟以移除其安全群組規則:

  1. 開啟 Amazon VPC console (Amazon VPC 主控台)。
  2. 在導覽窗格中,選擇安全群組
  3. 選取您想要更新的安全群組。
  4. 選擇動作編輯輸入規則動作編輯輸出規則
  5. 為您想要刪除的規則選擇刪除
  6. 選擇 Save rules (儲存規則)。

如果您嘗試刪除其他安全群組規則參考的安全群組,您會收到以下錯誤訊息:

「呼叫 DeleteSecurityGroup 作業時發生錯誤 (DependencyViolation):資源 sg-xyz 具有相依物件」

移除其他安全群組中,任何參考您要刪除之安全群組的規則。

如果其他與您建立了對等互連之 Amazon VPC 中的安全群組參考了您的安全群組,請刪除該規則或對等互連

**注意:**使用 DescribeSecurityGroupReferences API 說明參考安全群組的 Amazon VPC 對等互連的另一端。

取消與 AWS 資源關聯之安全群組的關聯

如果您要刪除的安全群組與 AWS 資源相關聯,請將其取消其關聯。您無法刪除與 AWS 資源關聯的安全群組,例如 Amazon EC2 執行個體或 Amazon API Gateway VPC 連結。

重要:建立 VPC 連結後,無法變更其安全群組或子網路。

如果您收到下列錯誤訊息,則表示您的安全群組與 AWS 資源相關聯:

「部分安全群組無法刪除。以下安全群組無法刪除。這些安全群組是預設安全群組,由其他安全群組參考,或與執行個體或網路介面相關聯。」

若要判斷哪些資源使用安全群組,請參閱如何找到與 Amazon EC2 安全群組關聯的資源?

刪除與網路介面關聯的安全群組

您無法刪除與請求者管理的網路介面關聯的安全群組。

若要刪除或分離網路介面,請參閱刪除網路介面

您無法刪除與 Amazon VPC 端點所使用的網路介面相關聯的安全群組。

當您嘗試刪除與 Amazon VPC 端點所使用的網路介面關聯的安全群組時,您會收到此錯誤訊息:

「呼叫 DeleteSecurityGroup 作業時發生錯誤 (DependencyViolation):資源 sg-xyz 具有相依物件」

若要從介面端點移除或取代安全群組,請完成以下步驟:

  1. 開啟 Amazon VPC console (Amazon VPC 主控台)。
  2. 在導覽窗格中,選擇端點
  3. 選取介面端點,然後選擇動作管理安全群組
  4. 選取或清除安全群組,然後選擇 Save (儲存)。

執行 describe-network-interfaces AWS CLI 命令,尋找與安全群組關聯的網路介面。

aws ec2 describe-network-interfaces --filters Name=group-id,Values=example-group-id --region example-region --output json

**注意:**將 example-group-id 替換為您安全群組的 ID,將 example-region 替換為您的 AWS 區域。

檢閱命令輸出。如果輸出為空,則表示您的安全群組未與任何 AWS 資源關聯。

命令輸出範例:

{
    "NetworkInterfaces": []
}

對 Amazon VPC Lattice Service 網路中的安全群組問題進行疑難排解

當您刪除附加至 Amazon VPC Lattice 服務網路 VPC 關聯的安全群組時,您會收到以下錯誤訊息:

「errorCode」: 「Client.DependencyViolation」

**注意:**如果您無法辨識錯誤事件的名稱,請檢查 CloudTrail 日誌中的 DeleteSecurityGroup 事件。

若要對此問題進行疑難排解,請完成下列步驟:

  1. 開啟 Amazon VPC console (Amazon VPC 主控台)。
  2. 導覽至 VPC 服務。
  3. 在左側導覽窗格中選擇 Service networks (服務網路)。
  4. 從清單中選取 Service network (服務網路)。
  5. 選擇 VPC association (VPC 關聯) 索引標籤,然後檢查是否有任何關聯 ID 類似於 snva-123b567891t1112a 的 VPC 關聯。
  6. 選擇與安全群組相關聯的 VPC 關聯 ID
  7. 在安全群組區段中,選擇 Edit (編輯)。然後,刪除安全群組。

設定執行 DeleteSecurityGroup 的權限

設定適當的 AWS Identity and Access Management (IAM) 權限,以使用 DeleteSecurityGroup API。

**重要:**當您想要刪除的安全群組與執行個體關聯或被其他安全群組參考時,DeleteSecurityGroup API 會失敗。在這些情況下,操作會失敗,並出現 DependencyViolation 錯誤。

如果您在缺少正確的權限時嘗試刪除安全群組,則會收到下列錯誤訊息:

「無法刪除安全群組。An unknown error happened.You are not authorized to perform "DeleteSecurityGroup" operation"

若要對 DeleteSecurityGroup 操作錯誤進行疑難排解,請完成以下步驟:

  1. 開啟 AWS CloudTrail 主控台
  2. 在導覽窗格中,選擇 Event history (事件歷史記錄)。
  3. Lookup attributes (查詢屬性) 下拉清單中,選擇 Event name (事件名稱)。
  4. 在搜尋方塊中,輸入 DeleteSecurityGroup 以查看作業的 API 呼叫。
    注意:****事件歷史記錄清單中的「您無權執行此作業」錯誤訊息表示該錯誤與 IAM 權限有關。
  5. 檢查 DeleteSecurityGroup 作業是否已新增至 IAM 使用者或角色的政策。
    如需詳細資訊,請參閱新增和移除 IAM 身分許可
  6. 在 AWS Organizations 中,變更組織的服務控制政策 (SCP)。然後,變更 IAM 使用者或角色的許可。
    **注意:**如果您不是主要 AWS 帳戶擁有者,請要求主要帳戶擁有者變更 SCP。如需 SCP 的詳細資訊,請參閱 SCP 對權限的影響

檢查共用 VPC 中的安全群組

當您嘗試刪除不屬於您的共用 Amazon VPC 中的安全群組時,您會收到此錯誤訊息:

「您無權執行 DeleteSecurityGroup 作業。A subnet in this vpc is shared but the provided object is not owned by you."

若要對 DeleteSecurityGroup 操作錯誤進行疑難排解,請完成以下步驟:

  1. 開啟 AWS CloudTrail 主控台
  2. 在導覽窗格中,選擇 Event history (事件歷史記錄)。
  3. 查詢屬性下拉清單中,選擇事件名稱
  4. 在搜尋方塊中,輸入 DeleteSecurityGroup 以查看作業的 API 呼叫。
  5. 確認您的帳戶不擁有安全群組。如果組織中的另一個帳戶擁有安全群組,請要求主要擁有者刪除安全群組。

相關資訊

如何刪除與其他 AWS 帳戶共用的 VPC?

管理 VPC Lattice 服務網路的關聯

AWS 官方已更新 8 個月前