AWS インターフェース型 VPC エンドポイントにどのようにアクセスしているのか?

こんにちは。自称ネットワーク技術者の貝塚です。SCSKでAWSの内製化支援『テクニカルエスコートサービス』を担当しています。

業務でヤバいくらいお世話になっているひつじちゃんがVPCエンドポイントについての記事を書いていました。

ひつじちゃんリスペクト記事として、VPCエンドポイントに関する役立ちそうで役立たない豆知識を書きます。

問題

インターフェース型のエンドポイントのIPはプライベートとなります。

(Amazon VPC エンドポイントについて整理してみる より引用)

とありますが、プライベートIPアドレスがつけられたエンドポイント(例えばSystems Manager用のインターフェース型エンドポイント)に、VPC内のEC2インスタンスなどがアクセスできているのはどうしてでしょうか?

答え

Route 53 Resolverが返すIPアドレスが書き換わっているから。

解説

Route 53 Resolverとは、Amazon Provided DNSなどとも呼ばれる、EC2インスタンスを作成したときにデフォルトで指定されているDNSのことです。

さて、AWSの各種サービスにアクセスするためのインターフェース型エンドポイントにはDNS名がついています。

たとえばec2messagesサービスの場合はこうです。

ep_ec2messages

ec2messagesインターフェース型エンドポイントがないVPCからこの名前を解決してみると以下のようになります。

[ec2-user@ip-10-32-1-157 ~]$ dig ec2messages.ap-northeast-1.amazonaws.com

(略)

;; ANSWER SECTION:
ec2messages.ap-northeast-1.amazonaws.com. 58 IN A 52.119.223.180

(略)

グローバルIPアドレスが返ってきています。

ec2messagesインターフェース型エンドポイントがあるVPCから名前解決するとこうなります。

[ec2-user@ip-10-33-1-124 ~]$ dig ec2messages.ap-northeast-1.amazonaws.com

(略)

;; ANSWER SECTION:
ec2messages.ap-northeast-1.amazonaws.com. 32 IN A 10.33.1.68

(略)

VPC内のIPアドレスが返ってきます。

このようにDNSの名前解決の仕組みによって、本来インターネット上にあるAWSのサービスエンドポイントを、利用者が意識することなくVPC内の通信にしてくれているわけです。

インターネットゲートウェイがなくてもとりあえずVPC内にssmとssmmessagesとec2messagesのエンドポイントを作っておけばSession ManagerでEC2インスタンスにログインできるようになる、とおまじないのように覚えている方の理解を深める一助になれば幸いです。

役に立たない豆知識

インターフェース型エンドポイントは、どこのVPCからの通信か、とか気にしてないので、たとえばVPCピアリングしたお隣のVPCにいるEC2インスタンスのhostsにこんな感じで書いてあげれば、お隣VPCのインスタンスにもSession Managerで接続できるようになります。

[ec2-user@ip-10-32-1-157 ~]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost6 localhost6.localdomain6
# Added for connection to VPC interface endpoints
10.33.1.68 ec2messages.ap-northeast-1.amazonaws.com
10.33.1.138 ssmmessages.ap-northeast-1.amazonaws.com
10.33.1.21 ssm.ap-northeast-1.amazonaws.com

いちいちこれ設定するくらいなら各VPCにエンドポイント作った方が面倒がなくてよくない?というのはあります……。

それではご査収ください。

著者について

SCSKにて、AWSの技術支援を提供するAWSテクニカルエスコートサービスの業務に従事しています。
自称ネットワークエンジニア。
CloudFormationは触っていても面白みが感じられないけれどCDKは好き。

2024 Japan AWS Top Engineers (Networking)
2024 Japan AWS All Certifications Engineers

その他所持資格:
IPA 情報処理安全確保支援士

好きなすみっコはとかげ。

貝塚広行をフォローする

クラウドに強いによるエンジニアブログです。

SCSKクラウドサービス(AWS)は、企業価値の向上につながるAWS 導入を全面支援するオールインワンサービスです。AWS最上位パートナーとして、多種多様な業界のシステム構築実績を持つSCSKが、お客様のDX推進を強力にサポートします。

AWSクラウドソリューションネットワーク
シェアする
タイトルとURLをコピーしました