リクエスタマネージド型 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 エンドポイントである場合に発生します。リクエスタマネージド型エンドポイントは、AWS マネージドサービス (Amazon Aurora Serverless など) によって作成されます。このタイプのエンドポイントを削除するには、エンドポイントを作成した AWS マネージドサービスを特定する必要があります。サービスを特定したら、エンドポイントを削除する前に、そのリソースを削除する必要があります。
解決方法
エンドポイントを作成した AWS マネージドサービスを確認するには、次の手順を実行します。
エンドポイントが 90 日以内に作成されたものである場合
削除しようとした時点から 90 日以内にエンドポイントが作成されている場合は、AWS CloudTrail を使用して、そのエンドポイントを作成したサービスを特定します。CloudTrail コンソールビューは、記録された API アクティビティ (管理イベント) の過去 90 日間に設定します。
CloudTrail イベントを表示するには、次の手順を実行します。
1. CloudTrail コンソールを開きます。
2. ナビゲーションペインで [イベント履歴] をクリックします。
3. ドロップダウンリストから [リソース名] を選択し、フィルターに VPC エンドポイント ID(vpce-xxxxxx など)を追加します。
4. CreateVpcEndpoint API コールを探して、ユーザー名を確認します。Aurora サーバーレスで作成されたエンドポイントの場合、ユーザー名は RDSAuroraServeless と表示されます。Amazon Relational Database Service (Amazon RDS) プロキシによって作成されたエンドポイントの場合、ユーザー名は 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 Network Firewall がエンドポイントを作成したかどうかを確認するには:
1. VPC コンソールを開き、[エンドポイント] を選択します。
2. エンドポイントを選択し、[タグ] を選択します。
3. 次の点を確認します。
- キーが AWSNetworkFirewallManaged で、値が True であること。
- キーが Firewall で、値が Network Firewall ARN arn:aws:network-firewall:region:account number:firewall/firewall name であること。
AWS Network Firewall で作成されたエンドポイントは、次の方法で表示することもできます。
1. VPC コンソールを開き、[ファイアウォール] を選択します。
2. [ファイアウォールの詳細] を選択します。
Aurora Serverless がエンドポイントを作成したかどうかを判断するには:
リクエスタマネージド型インターフェイスエンドポイントが 90 日後に Aurora Serverless によって作成された場合は、既存の Aurora Serverless データベースのエンドポイントに対して名前検索を実行します。VPC インターフェイスのエンドポイント DNS 名として CNAME が返されます。これを使用して、エンドポイントが Aurora Serverless によって作成されたかどうかを確認できます。
例えば、削除できないインターフェイス VPC エンドポイントの ID が vpce-0013b47d434ae7786 とします。Aurora Serverless がエンドポイントを作成したかどうかを確認するには、次の手順を実行します。
1. Aurora サーバーレスエンドポイントで名前検索を実行します。
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
2. 削除しようとしているエンドポイントの DNS 名に一致するレコードの CNAME 値を確認します。これにより、このエンドポイントが Aurora Serverless によって作成されたことが確認されます。
注意: エンドポイントの DNS 名を確認するには、次の手順を実行します。
1. VPC コンソールを開き、[エンドポイント] を選択します。
2. [詳細] タブを選択し、DNS 名を一覧表示します。
RDS Proxy がエンドポイントを作成したかどうかを確認するには:
上記の Aurora サーバーレス用のステップを完了します。RDS プロキシと Aurora サーバレス エンドポイントが複数ある場合は、このステップを各エンドポイントに対して繰り返します。
RedShift が管理する VPC エンドポイントかどうかを判断するには
1. Amazon Redshift コンソールを開き、[設定] を選択します。
2. RedShift が管理する VPC エンドポイントの下にエンドポイントが設定されているかどうかを確認します。
サービスを削除する
エンドポイントを作成したサービスを特定したら、次のステップに従ってサービス (および対応するエンドポイント) を削除します。
注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。