こんにちは。クラウドインテグレーション部(CI部)技術2課の山下です。
今回は、AWS Client VPN Endpoint(以下、VPNエンドポイント)がアタッチされているVPCから
Internet Gateway(以下、IGW)をデタッチする際に少々苦労したため、
備忘のために記事にしたいと思います。
今回のユースケース
今回構築した環境は下図です。
Simple Active Directory(以下、Simple AD)+ Client VPNを利用し、管理者PCからプライベートサブネットのアクセス確認用サーバへアクセスできるようにします。
IGW+パブリックサブネットの踏み台サーバは、AD管理サーバの初期構築のために用意しました。
Client VPN構築完了後は、AD管理サーバにもVPN経由でアクセスするようにしました。完成形ではClient VPNアクセスのみが必要で、IGWおよび踏み台サーバはあくまで初期構築用だったため、これらのリソースは削除することにしました。
まとめると、以下のようなケースが対象となります。
- VPCへのClient VPNアクセスが必要
- VPCとインターネットの通信は不要
- ただし、初期構築時に一時的に、VPCとインターネットの通信が必要
なお、Client VPN障害時のメンテナンス用としてIGW+踏み台経由のアクセス経路を残したい場合や、クライアントPCをClient VPN経由でインターネットアクセスさせたい場合は、IGW+パブリックサブネットは削除せずそのまま利用します。
IGWデタッチの失敗
事象
上述通り、不要になったパブリックサブネットのリソースを全て削除し、IGWのデタッチを試みましたが、 「Network vpc-xxxx has some mapped public address(es).Please unmap those public address(es) before detaching the gateway.」というエラーが出てデタッチできませんでした。
考察
以下の記事の通り、IGWは、パブリック IP アドレスまたは Elastic IP アドレス(以下、EIP)が関連付けられているVPCからはデタッチできません。
しかし今回はパブリックIPアドレスを持つリソースは削除済みですし、EIPは使用していません。
また、VPNエンドポイントはプライベートサブネットに関連付けていたので、
ネットワークインタフェースにパブリックIPアドレスは付与されていません。
- (補足)VPNエンドポイントのネットワークインタフェースは、マネジメントコンソールの「EC2 > Network Interfaces」から確認可能です。「説明」欄に「ClientVPN Endpoint resource.」と記載されているものが対象です。
IGWをターゲットにしたルートテーブルも削除済みで、一見すると何も問題がなさそうでした。
解決方法
切り分けのために、VPNエンドポイントのサブネットの関連付けを解除したら、IGWをデタッチできました。
たとえ関連付けているサブネットがプライベートサブネットであったとしても、 VPNエンドポイントのサブネットの関連付けを一時的に解除する必要がありました。
考えられる原因
VPNエンドポイントが保持しているパブリックIPアドレスが、IGWデタッチの制約に引っかかっていたようです。
マネジメントコンソール上からは確認できませんが、VPNエンドポイントは、VPNクライアントと通信するためのパブリックIPアドレスを保持しています。
クライアントPCからエンドポイントに対して名前解決を行うと、パブリックIPアドレスが返されます。
C:\Users\Yamashita>nslookup *.cvpn-endpoint-08xxxxxxxxxxxxd05.prod.clientvpn.ap-northeast-1.amazonaws.com サーバー: UnKnown Address: xxxx:xxxx:7f01:b::3 権限のない回答: 名前: *.cvpn-endpoint-08xxxxxxxxxxxxd05.prod.clientvpn.ap-northeast-1.amazonaws.com Addresses: 18.xxx.20.198 52.xxx.15.28 176.xxx.9.6
おわりに
ということで、VPNエンドポイントがアタッチされているVPCでは、IGWのデタッチに少々注意が必要でした。
この記事が同じような事象で悩んでいる方の参考になれば幸いです。
山下 祐樹(執筆記事の一覧)
2021年11月中途入社。前職では情シスとして社内ネットワークの更改や運用に携わっていました。 2023 Japan AWS All Certifications Engineers。