概要
前回 VPCエンドポイントのインターフェイスエンドポイントを VPCピアリングを用いることで集約し、コストを削減する記事を上げました。
今回はゲートウェイタイプを利用するメリットや、利用するとどのような状態になるのかを説明します。
VPCエンドポイントのゲートウェイエンドポイントはなぜ必要か
EC2 など VPC内のリソースから S3 にアクセスするには、IAMロールで権限を付与し操作するのが一般的です。
この状態は、インターネットゲートウェイ、もしくは NAT Gateway を使用してインターネットを経由して接続している形になると思います。
そこで、ゲートウェイエンドポイントを使用すると以下のメリットがあります。
- AWS のプライベートなネットワーク内で接続ができ、インターネットに接続しないため通信がよりセキュアになる
- ゲートウェイエンドポイントは作成および利用で追加料金が発生しないため、通信コストを削減できる
- ゲートウェイエンドポイントのポリシーで接続先の制限が可能
また、RDS(Auora)から S3 に SELECT INTO OUTFILE S3 で S3 にデータを保存する際にも必要です。
EC2などと違い、パブリックアクセス “なし” を設定しているデータベースの場合は、アウトバウンド接続に制限があるため、自身で接続の許可を行うか、ゲートウェイエンドポイントを用意する必要があります。
※ パブリックアクセスを “あり” にするのは推奨できません。
ゲートウェイエンドポイントを使用するとどう変わるのか
ゲートウェイエンドポイントを作成してみました。ルートテーブルに注目してください。
pl-61a54008 という送信先があり、ターゲットにはS3用のゲートウェイエンドポイントを入れています。
pl-61a54008 というのは、東京リージョンの S3 に使用される IPリストです。それは、ルートから pl-61a54008 をクリックして遷移するか、VPC のマネージドプレフィックスリストで確認することができます。
実際に、VPC内の EC2 から dig コマンドで s3.ap-northeast-1.amazonaws.com を名前解決してみてください。以下のようにマネージドプレフィックスリストにある IP が返却されるはずです。
ゲートウェイエンドポイントを使用していない場合は、このように決まった IP が返ってくることはありません。
1 2 3 4 5 6 7 8 9 |
[ssm-user@ip-10-2-139-159 bin]$ dig s3.ap-northeast-1.amazonaws.com +short 52.219.16.50 52.219.150.72 52.219.162.160 52.219.162.168 52.219.199.20 52.219.199.60 52.219.1.46 52.219.12.42 |
まとめ
ゲートウェイエンドポイントを導入した際のポイントとしては、経路が変わるだけなので基本的には変わらず IAMロールで操作の制御を行うということです。
前述のメリットもありますので導入を考えてみては良いかと思います。
ゲートウェイエンドポイントの公式ドキュメント: https://docs.aws.amazon.com/ja_jp/vpc/latest/privatelink/gateway-endpoints.html