すこぶる.net

技術系備忘録など

AWS VPC Endpoint

VPCエンドポイントのゲートウェイエンドポイントとは

投稿日:

概要

前回 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 が返ってくることはありません。

まとめ

ゲートウェイエンドポイントを導入した際のポイントとしては、経路が変わるだけなので基本的には変わらず IAMロールで操作の制御を行うということです。
前述のメリットもありますので導入を考えてみては良いかと思います。

ゲートウェイエンドポイントの公式ドキュメント: https://docs.aws.amazon.com/ja_jp/vpc/latest/privatelink/gateway-endpoints.html

-AWS, VPC Endpoint
-, ,

執筆者:

関連記事

【AWS Lightsail】データベースのタイムゾーン変更方法

Amazon Lightsail のデータベースのタイムゾーン変更方法について Amazon Lightsail のデーターベースを使っているときに、time_zone を UTC から Asia/T …

DNSの多段CNAMEとRoute53のエイリアスレコードとは

多段 CNAME とは 多段 CNAME とは、 DNS において、 CNAME レコードに別の CNAME レコードを登録することです。 具体的には以下のようなレコードを多段 CNAME といいます …

Cloudflare Load Balancingを使ってパスによってCloudFrontとS3にルーティングさせる

概要 AWS の CloudFrontと S3 で配信している部分のデータ転送量が大きく請求が膨らんでいることが分かりました。 そのため Cloudflare への移行を検討し、コスト削減を実施したい …

【AWS WAF】複数の特定パスだけ除外して Rate-based rule を設定する方法

AWS WAF を使って複数の特定のページ(パス)を除外した Rate-based rule を設定する方法 CloudFront や ALB に対して WAF をアタッチして Rate-based …

【AWS WAF】検知したリクエストをCloudWatch Logs で確認する

AWS WAF で検知、ブロックしたリクエストを CloudWatch Logs で確認する AWS で CloudFront や ALB に WAF を設定した際に、WAFで検知したリクエストの詳細 …