【背景】
普通の人は当たり前に理解して、使用しているVPCエンドポイントについて、
私は、「エンドポイントってなんのエンドやねん」とあほみたいな詰まり方をしてしまったので、調べた内容を記載する。
※あくまで用語理解のためのメモです。
設定方法には触れてません。
【VPCとは】
AWSのVirtual Private Cloud(VPC)は、クラウド内でユーザー定義の仮想ネットワークを提供するサービスである。
VPCを利用することで、AWSリソースを自分の仮想ネットワークに配置し、IPアドレス範囲の選択、サブネットの作成、ルートテーブルやネットワークゲートウェイの設定が可能となる。
これにより、セキュリティや接続性の高いネットワーク環境が構築できる。VPCは、クラウド上のプライベートなセグメントを作成し、安全なクラウドコンピューティング環境を提供するために重要な役割を果たす。
【VPCエンドポイントとは】
VPCエンドポイントとは、AWS固有の用語で、VPC内のリソースがAWSサービスやVPC外のサービスにプライベートに接続するための方法を提供するものである。
VPCエンドポイントを利用することで、VPC内のリソースは、パブリックなネットワークを経由せずにAWSのサービスにアクセスすることができる。
これにより、セキュリティが強化され、ネットワークトラフィックがAWSのプライベートネットワーク内に留まるため、安全性と効率性が向上するというサービスである。
【エンドポイントってなんのエンドなポイントなの?】
エンドポイントとは、なんの終着点を指しているのだろうか?
VPCはリージョン単位で閉じたネットワークを構築するもので、その中にES2やS3を構築する。
何も設定しなかった場合、ネットワーク接続の仕組みとして、AWSの外にアドレスを確認するために接続することになる。
<何も設定しなかった場合>
{ EC2 => AWS } => public network => domain名確認 => public network => { AWS => S3 }
※{AWSのネットワーク内}
1. EC2からのリクエスト
VPC内のEC2インスタンスからS3サービスへのリクエストが発生する。
2. AWSの外部ネットワークへ
このリクエストは、最初にAWSの内部ネットワークを経て、
その後公共のインターネットにルーティングされる。
3. ドメイン名の解決
リクエストは、DNS(ドメインネームシステム)によって、対応するサービスの実際の
IPアドレスに解決される。
このプロセスでは通常、インターネット上のDNSサービスが利用される。
4. 公共のインターネットを経由
DNSによって解決されたアドレスに基づき、リクエストは再度公共のインターネットを
通じてAWSのインフラストラクチャに送信される。
5. AWSサービス(S3)へのアクセス
公共のインターネットを経由した後、リクエストは最終的にAmazon S3に到達する。
6. レスポンスの受信
EC2インスタンスは同じ経路を通じてS3からのレスポンスを受け取る。
しかし、VPCエンドポイントを作成することでAWS内部のみで通信を行う事が可能となる。
<VPCエンドポイントを作成した場合>
{ EC2 => VPC endpoint => S3 }
※{AWSのネットワーク内}
1. EC2からのリクエスト
VPC内のEC2インスタンスがデータをAmazon S3に送信するリクエストを生成する。
2. VPCエンドポイントへのルーティング
このリクエストは、VPC内に設定されたVPCエンドポイント
(例えばS3へのVPCエンドポイント)に直接ルーティングされる。
3. S3へのアクセス
VPCエンドポイントを通じて、リクエストはプライベートかつセキュアに
Amazon S3へ転送される。
このようにVPCエンドポイントは、VPC内のネットワークの終着点となり、VPC内のAWSサービスに接続する際の折り返し地点というイメージになる。
そのため、
VPCの内側から見た時の”エンドなポイント”
ということになる。