LoginSignup
9
2

More than 1 year has passed since last update.

削除できない謎のVPCエンドポイントへの対応

Last updated at Posted at 2023-04-07

AWS費用削減のため未使用のVPCエンドポイントを確認していたら、作った覚えのない謎のインターフェース型VPCエンドポイントがありました。

エンドポイントのNameタグは空欄で、インターフェース型で、サービス名は以下形式のものです。

com.amazonaws.vpce.ap-northeast-1.vpce-svc-XXXXXXXXXXXXXX

上記の形式だと、VPCエンドポイントのサービス名から用途を類推することができません。
さらに私の環境の場合デフォルトVPCのサブネット3つにENIを出しているようでなかなかの金食い虫構成です。

image.png

VPCエンドポイントの作成日から考えると、私がDB系サービスの検証を網羅的に実施していた時期です。
個人環境なので気軽にVPCエンドポイントを削除しようとしたところ、以下のエラーが出て削除に失敗しました。

vpce-XXXXXXXXXXXXXXX - Operation is not allowed for requester-managed VPC endpoints for the service com.amazonaws.vpce.ap-northeast-1.vpce-svc-XXXXXXXXXXXXXX.

image.png

この操作を行ったIAMユーザの権限はAdministratorAccessであり、SCPの制限も入っていないので、権限上は問題ないはずです。

Webでエラー文字列を検索するとこのVPCエンドポイントは、AWSサービスがバックグラウンドで作成する「リクエスタマネージド型VPCエンドポイント」のようです。これはVPCの画面からではなく、各利用サービス側のリソースを削除することでエンドポイントが削除されるもののようです。

このタイプのエンドポイントを削除するには、エンドポイントを作成した AWS マネージドサービスを特定する必要があります。サービスを特定したら、エンドポイントを削除する前に、そのリソースを削除する必要があります。

上記サイトには作成後90日以内であれば、CloudTrailのイベント履歴からCreateVpcEndpoint API コールを検索することで、どのAWSサービスが作成したものであるか調べる方法が記載されています。

私の場合VPCエンドポイントは90日以上前の作成だったので、ClouTrailのイベント履歴では追うことができません。
代わりにAthenaやCloudtrail Lakeが必要になってきます。Athena系はちょっと面倒なので二の足を踏みます。

そこで上記サイトを見ていくと、現時点で「リクエスタマネージド型ネットワークインターフェイス」を作成するAWSサービスは以下の4種類のAWSサービスであるといえそうです。

  • Network Firewall
  • Aurora Serverless
  • RDS Proxy
  • Redshift

たしかにVPCエンドポイントの作成日時にこれらのサービスを触っていましたが、どれであるかは思い出せません。

いずれにせよ幸いなことに上記すべて検証は完了しており、サービスを消しても問題なかったため、上記サービスのリソースを一通り削除してみました。が、VPCエンドポイントが消えません。

AWSサポートに問い合わせをすると、 Redshift Serverlessが怪しそうとの回答がありました。

マネジメントコンソールからRedshiftを開き、[Redshift Serverless]ダッシュボードに切り替えてから「ワークグループの設定」を見たところ、たしかにVPCエンドポイントの記載がありました!

image.png

たしかにRedshift Serverlessは、サーバレスと謳いながらもVPCのENIなどが必要になるサービスです。
当時触ったことも事実で、初期セットアップ時に「デフォルト設定を使用」したため、デフォルトVPCを対象にしたワークグループが作成されたようです。

ということで犯人がわかったので、defaultワークグループを削除してみます。
ワークグループの一覧画面に戻って対象のワークグループを選択し削除します。

image.png

削除の際、チェックをいれることでワークグループが紐付けられた名前空間のほうも削除できるようです。

image.png

ワークグループを削除すると、件のVPCエンドポイントも削除されます。

※なお、私は最初ワークグループの削除がいつまでたっても完了せず、数時間後にrootのメールアドレス向けにAWSサポートセンターから、内部エラーにより削除できなかった旨と、修正の連絡がきました。その後削除したところ、ワークグループの削除が正常に完了しました。(workgroup削除と同時にnamespaceの削除も実施していたのですがそちらは失敗しました)

Redshift Serverlessを長期的に使用しないときは、将来的な再利用状況を鑑みながら、workgroupを削除するという手もよいかと思います。
(それにしてもRedshift Serverlessはサーバレスと謳っておきながら、VPCリソースやコストを何かと消費しますね・・)

以上、同様の事象に遭遇した方向けのメモでした。

9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2