我嘗試刪除 Amazon VPC,但收到相依項錯誤。如何刪除 Amazon VPC?

3 分的閱讀內容
0

當我嘗試刪除 Amazon Virtual Private Cloud (Amazon VPC) 時,我收到相依項錯誤。

簡短描述

當您刪除 Amazon VPC 時,其所有元件也會刪除。這些元件包括子網路、安全群組、網路存取控制清單 (network ACL)、路由表、網際網路閘道和 DHCP 選項。但是,在嘗試刪除 Amazon VPC 之前,您必須先刪除或取消關聯所有相依資源。依此處列出的順序執行下列步驟,以避免相依性錯誤。

解決方法

在刪除 Amazon VPC 之前,您必須刪除相依資源。

您可以使用 AWS Command Line Interface (AWS CLI) delete-vpc 命令或 Amazon VPC 主控台,來刪除 Amazon VPC。

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確定您使用的是最新的 AWS CLI 版本

解決嘗試透過 AWS CLI 刪除 Amazon VPC 時收到的錯誤

下列錯誤表示您必須先移除某些相依項,然後才能刪除 Amazon VPC:

"An error occurred (DependencyViolation) when calling the DeleteVpc operation: The vpc 'vpc-id' has dependencies and cannot be deleted"。

若要解決此錯誤,請完成下列步驟:

1.    執行下列指令碼以尋找剩餘相依項:

#!/bin/bash
vpc="vpc-xxxxxxxxxxxxx"
region="yy-yyyy-y"
aws ec2 describe-internet-gateways --region $region --filters 'Name=attachment.vpc-id,Values='$vpc | grep InternetGatewayId
aws ec2 describe-subnets --region $region --filters 'Name=vpc-id,Values='$vpc | grep SubnetId
aws ec2 describe-route-tables --region $region --filters 'Name=vpc-id,Values='$vpc | grep RouteTableId
aws ec2 describe-network-acls --region $region --filters 'Name=vpc-id,Values='$vpc | grep NetworkAclId
aws ec2 describe-vpc-peering-connections --region $region --filters 'Name=requester-vpc-info.vpc-id,Values='$vpc | grep VpcPeeringConnectionId
aws ec2 describe-vpc-endpoints --region $region --filters 'Name=vpc-id,Values='$vpc | grep VpcEndpointId
aws ec2 describe-nat-gateways --region $region --filter 'Name=vpc-id,Values='$vpc | grep NatGatewayId
aws ec2 describe-security-groups --region $region --filters 'Name=vpc-id,Values='$vpc | grep GroupId
aws ec2 describe-instances --region $region --filters 'Name=vpc-id,Values='$vpc | grep InstanceId
aws ec2 describe-vpn-connections --region $region --filters 'Name=vpc-id,Values='$vpc | grep VpnConnectionId
aws ec2 describe-vpn-gateways --region $region --filters 'Name=attachment.vpc-id,Values='$vpc | grep VpnGatewayId
aws ec2 describe-network-interfaces --region $region --filters 'Name=vpc-id,Values='$vpc | grep NetworkInterfaceId
aws ec2 describe-carrier-gateways --region $region --filters Name=vpc-id,Values=$vpc | grep CarrierGatewayId
aws ec2 describe-local-gateway-route-table-vpc-associations --region $region --filters Name=vpc-id,Values=$vpc | grep LocalGatewayRouteTableVpcAssociationId

注意:在上述指令碼中,在 vpc 欄位中輸入您的 VPC ID,並在區域欄位中輸入 AWS 區域 (例如 us-east-1)。此外,請確定您使用具有適當許可的憑證來執行 Describe API 呼叫。

2.    刪除您在步驟 1 中識別的剩餘相依項,然後重試刪除 Amazon VPC。

解決嘗試透過 Amazon VPC 主控台刪除 Amazon VPC 時收到的錯誤

"VPC contains one or more instances, and cannot be deleted until those instances have been terminated."

此錯誤表示 Amazon VPC 上正在執行 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。若要解決此錯誤,請終止執行個體

"VPC contains one or more in-use network interfaces, and cannot be deleted until those network interfaces have been deleted."

此錯誤表示 Amazon VPC 具有正在使用中或可用的網路介面。

"An error occurred (InvalidParameterValue) when calling the DeleteNetworkInterface operation: Network interface 'eni-aabbccdd' is currently in use."

此錯誤表示存在無法刪除的申請者受管網路介面。若要刪除申請者受管網路介面,您必須刪除建立網路介面的 AWS 服務。

請依照下列步驟移除相依服務:

1.    開啟 Amazon EC2 主控台

2.    選取 Amazon VPC 所在的 AWS 區域。

3.    在導覽窗格的網路介面下,搜尋要刪除的 Amazon VPC 的 VPC ID。

4.    選取網路介面,然後選擇詳細資訊標籤。

5.    檢閱描述,以查看網路介面連接至哪些資源。

6.    刪除關聯的資源。例如,您正在刪除網路介面,申請者 ID 為 amazon-elb。使用彈性網路介面的描述欄位中的值,來識別負載平衡器。然後,導覽至 Amazon EC2 主控台的負載平衡器區段,找到負載平衡器,然後將其刪除。**
注意:** 如果網路介面是主要介面,則刪除執行個體時此網路介面也會刪除。

"VPC has one or more attached NAT gateways or virtual private gateways, and cannot be deleted until they are detached or deleted."

此錯誤表示 Amazon VPC 具有相依項。若要將其刪除,請執行刪除 NAT 閘道分離並刪除虛擬私有閘道中的步驟。

"The VPC is peered as a requester with at least one other VPC through peering connections."

此錯誤表示 Amazon VPC 中存在作用中的 VPC 對等互連。若要將其刪除,請執行刪除 VPC 對等互連中的步驟。

如果您仍有相依項阻止 Amazon VPC 刪除,請使用下列程序。

若要刪除電信業者閘道,請執行以下操作:

1.    開啟 Amazon VPC 主控台

2.    在導覽窗格中,選擇電信業者閘道

3.    選取電信業者閘道,然後選擇動作。然後,選擇刪除電信業者閘道

4.    在刪除電信業者閘道對話方塊中,輸入 Delete,然後選擇刪除

若要取消 VPC 與任何本機閘道路由表的關聯,請執行以下操作:

1.    開啟 AWS Outposts 主控台

2.    在導覽窗格中,選擇本機閘道路由表

3.    選取路由表。

4.    選擇動作,然後選擇檢視詳細資訊

5.    在 VPC 關聯中,選取要取消關聯的 VPC,然後選擇取消關聯

6.    選擇取消關聯

相關資訊

為什麼無法分離或刪除 Lambda 建立的彈性網路介面?

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

為什麼無法刪除申請者受管 VPC 端點?

AWS 官方
AWS 官方已更新 1 年前