為什麼我無法刪除附加至 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 官方
AWS 官方已更新 22 天前