VPCエンドポイント とは
VPC内のサービスとVPC外のサービスとのプライベート接続を提供するコンポーネントのこと。VPCエンドポイントを作成することで、VPC内のインスタンスとVPC外のサービスをプライベート接続で通信できるようになる。
セキュリティ上の問題でインターネットに接続せずにVPC外のサービスと繋がりたいときなどに使用する。
サービス利用側のVPC(S3にアクセスしたいEC2インスタンス、API Gatewayを叩きたいEC2インスタンスなどが設置されているVPC)内に作成する。
上記例の場合、逆にEC2インスタンスがパブリックサブネットにあれば、VPCエンドポイントを使用せずインターネットゲートウェイ経由で接続できる。
※パブリックサブネットにあっても、VPCエンドポイントが設置されている場合は強制的にVPCエンドポイント経由での接続となる。
VPCエンドポイントの種類
VPCエンドポイントは以下の2つの種類があります。
インターフェイスエンドポイント
ゲートウェイエンドポイント
インターフェイスエンドポイント
こちらは PrivateLink と呼ばれるサービスを使って、各サービスを接続させることが出来ます
PrivateLinkの実体はVPC内のENI(Elastic Network Interface) のこと。
PrivateLink自体がIPアドレスを持ってVPCの中にエンドポイントができる。
より正確には、サブネット内にENIを立ち上げ、そこをサービスのエンドポイントとする。(ENIのIPはサブネットのIPレンジの中から自動的に採番される)
つまり、サービスエンドポイントのグローバルIPではなく、ENIが持つプライベートIPと通信することでVPC外部のサービスとの接続を可能とするもの。この時、PrivateLinkを使用した通信はインターネット上に公開されることはなく、VPC エンドポイントを通過する通信は外部から干渉されない。(NATは干渉される)
ゲートウェイエンドポイント
VPCのルートテーブル(ルーティング設定)を書き換えてのゲートウェイ経由でサービスへアクセスします
最初に出たエンドポイントで、S3とDynamoDBのみが対応しています。
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。
コメント