すこぶる.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 WAF】複数の特定パスだけ除外して Rate-based rule を設定する方法

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

【Nginx】Amazon S3へリバースプロキシ

Nginx から Amazon S3 へリバースプロキシ 今回は Nginx から Amazon S3 へリバースプロキシする方法について触れたいと思います。 ( 以前はプライベートな S3 へのリバ …

AWS Copilot CLI で Laravel アプリケーションを Fargate にデプロイして Nginx とコンテナ間共有する

Copilot CLI で Fargate にデプロイした Laravel コンテナと Nginx コンテナのファイル共有 AWS Copilot CLI を使用して Laravel フレームワークで …

【ALB】ターゲットがunhealthyでもつながる仕様

AWS ALBの動作について AWSで使用しているALB(Application Load Balancer)の動作で誤解していたことがあった。 ALB配下にEC2インスタンスを複数台ぶら下げた状況で …

NginxからプライベートのS3にリバースプロキシ

概要 Nginx から AWS にあるプライベートな S3 のバケットにリバースプロキシしたいという要件があったため、その方法をご紹介します。 AWS にある EC2 上からであれば、IAM Role …