リクエスタマネージド Amazon Virtual Private Cloud (Amazon VPC) エンドポイントを削除しようとすると、エラーが発生します。
簡単な説明
インターフェイス VPC エンドポイントを削除しようとした際、次のエラーが発生する場合があります。
"vpce-0399e6e9fd2f4e430: Operation is not allowed for requester-managed VPC endpoints for the service com.amazonaws.vpce.region.vpce-svc-04c257ad126576358."
削除するエンドポイントがリクエスタマネージド VPC エンドポイントである場合、このエラーが発生します。Amazon Aurora Serverless などの AWS マネージドサービスは、リクエスタマネージドエンドポイントを作成します。この種類のエンドポイントを削除するには、エンドポイントを作成した AWS マネージドサービスを特定してから、リソースを削除する必要があります。その後、最初にエンドポイントを作成した AWS マネージドサービスがエンドポイントを自動的に削除します。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
過去 90 日間にエンドポイントを作成した AWS サービスを特定する
エンドポイントを作成したサービスを特定するには、AWS CloudTrail を使用します。CloudTrail コンソールビューにおいて、記録された API アクティビティ (管理イベント) の期間を 90 日に設定する必要があります。
CloudTrail イベントを表示するには、次の手順を実行します。
- CloudTrail コンソールを開きます。
- ナビゲーションペインで [イベント履歴] を選択します。
- 目的のリソース名を選択します。次に、リソース名フィルターに VPC エンドポイント ID を入力します (例: vpce-######)。
- CreateVpcEndpoint API コールの Username 値を確認します。Aurora Serverless が作成したエンドポイントでは、username は RDSAuroraServerless です。Amazon Relational Database Service (Amazon RDS) Proxy が作成したエンドポイントでは、username は RDSSlrAssumptionSession です。
- AWS Network Firewall が作成したエンドポイントを特定するには、イベントレコードで CreateVpcEndpoint API コールの有無を確認します。次に、Firewall キーと AWSNetworkFirewallManaged キーを含むタグの有無を確認します。
例:
{
"Tag": [
{
"Value": "arn:aws:network-firewall:region:account number:firewall/firewall name",
"tag": 1,
"Key": "Firewall"
},
{
"Value": true,
"tag": 2,
"Key": "AWSNetworkFirewallManaged"
}
]
}
90 日前よりも過去にエンドポイントを作成した AWS サービスを特定する
ネットワークファイアウォールによりエンドポイントが作成されたかどうかを確認する
次の手順を実行します。
- VPC コンソールを開きます。
- [エンドポイント] を選択します。
- 目的のエンドポイントを選択し、[タグ] タブに切り替えます。
- [タグ] に次の値が表示される場合は、ネットワークファイアウォールがエンドポイントを作成したことを示しています。
Key が AWSNetworkFirewallManaged、Value が True である場合。
Key が Firewall、Value が Network Firewall の ARN arn:aws:network-firewall:region:account number:firewall/firewall name (各値を実際のケースに読み換えてください) である場合。
(オプション) ネットワークファイアウォールにエンドポイントが存在することを確認するには、次の手順を実行します。
- VPC コンソールを開きます。
- ナビゲーションペインの [Network Firewall] で [ファイアウォール] を選択します。
- [ファイアウォールの詳細] を選択します。
- ファイアウォールの設定の詳細を確認します。
Aurora Serverless によりエンドポイントが作成されたかどうかを確認する
既存の Aurora Serverless データベースでエンドポイントの名前検索を実行します。返された正規名レコード (CNAME) が VPC インターフェイスのエンドポイントの DNS 名と一致する場合、Aurora Serverless がエンドポイントを作成したことを示しています。
たとえば、削除できない VPC エンドポイントの ID が vpce-0013b47d434ae7786 である場合、Aurora Serverless がエンドポイントを作成したかどうかを確認するには、次の手順を実行します。
-
Aurora Serverless エンドポイントで名前検索を実行します。
dig test1.proxy-chnis5vssnuj.us-east-1.rds.amazonaws.com +short
出力例:
vpce-0ce9fdcdd4aa4097e-1hbywnw6.vpce-svc-0b2f119acb23c050e.us-east-1.vpce.amazonaws.com.
172.31.4.218
172.31.21.82
-
レコードの CNAME 値を参照し、削除するエンドポイントの DNS 名と一致するかどうかを確認します。
(オプション) エンドポイントの DNS 名を確認するには、次の手順を実行します。
- VPC コンソールを開きます。
- [エンドポイント] を選択します。
- [詳細] タブに切り替え、表示される DNS 名を確認します。
Amazon RDS Proxy によりエンドポイントが作成されたかどうかを確認する
Amazon RDS Proxy エンドポイントで名前検索を実行します。次に、上記の Aurora Serverless 用に記載した手順を実行します。Amazon RDS Proxy エンドポイントが複数存在する場合は、エンドポイントごとに同じ手順を繰り返します。
Amazon Redshift によりエンドポイントが作成されたかどうかを確認する
次の手順を実行します。
- Amazon Redshift コンソールを開きます。
- ナビゲーションペインで [構成] を選択します。
- Redshift マネージド VPC エンドポイントに構成されているエンドポイントが存在するかどうかを確認します。
リソースを削除する
エンドポイントを作成したサービスを特定した後、リソースを削除すると、そのサービスはエンドポイントを自動的に削除します。
エンドポイントがネットワークファイアウォールにより作成された場合は、そのネットワークファイアウォールを削除します。
エンドポイントが Aurora Serverless により作成された場合は、Aurora Serverless DB クラスターを削除します。
エンドポイントが Amazon RDS Proxy により作成された場合は、RDS Proxy を削除します。
Amazon Redshift マネージド VPC エンドポイントの場合は、Amazon Redshift コンソールを使用するか、AWS CLI コマンド delete-endpoint-access を実行します。