確認したいこと
Management ConsoleのSession Manager越しにEC2インスタンスに接続するとき,自分がどういう通信経路をたどってEC2インスタンスに接続しているのかを確認したい。→VPCフローログでできる。
背景
VPC構成
A.1. public subnet。EC2インスタンス(public-host)がある。
A.2. private subnet。EC2インスタンス(private-host)がある。
この環境だと,public-hostにはSSMで接続できるが,private-hostには接続できない。
ここで,private subnetにssm用のVPC endpointを作成すると,private-hostにSSM接続できるようになる。
このとき,public-hostは,private subnet上にあるVPC endpointを経由する経路に切り替わるのか?それとも相変わらずインターネット経由なのか?
仮説
VPC endpointなしでpublic-hostに接続できる,ということは,Internet Gatewayを経由している,ということだ。なので,private subnetのVPC endpoint越しにpublic-hostがSSM接続できるのであれば,Internet Gatewayを削除してもpublic-hostにそのままつながる。ただしこれだと,単に今までのpublic subnetがprivate subnetになっただけなので,大した違いはない。
Internet GatewayがVPCにアタッチされている状態での経路を確認したい。
こういうことが気になりだすと,AWSではなくてLinuxのネットワークコマンドに詳しくないと難しい。これはStack OverflowとかRe:Postに投稿するしかなさそうだな・・・
参考
【初心者向け】VPCエンドポイントとAWS PrivateLinkの違いを実際に構築して理解してみた | DevelopersIO
VPCエンドポイント経由のVPCフローログ取得範囲について理解する | DevelopersIO
新機能 – VPC Reachability Analyzer | Amazon Web Services ブログ
EC2に対して SSH 接続した履歴、または、Systems Manager Session Manager で接続した履歴はどこに保持されていますか? | DevelopersIO