AWS S3エンドポイントとは

 

AWSのS3エンドポイントとは、Amazon S3へのアクセスを制御・最適化するためのVPCエンドポイント(VPC Endpoint)の一種で、VPC内からインターネットを経由せずにS3にアクセスできるようにする仕組みです。

 

S3エンドポイントの概要

項目 説明
種類 Gateway型 VPCエンドポイント
対象サービス Amazon S3 および DynamoDB(どちらも Gateway型)
主な用途 VPC内部からインターネット経由せずにS3へアクセスする
通信経路 AWSの内部ネットワーク(インターネットではない)

 

なぜ使うのか(利点)

利点 説明
セキュリティ強化 パブリックインターネットを経由せずにS3へアクセスできる
コスト削減 NAT Gatewayなどインターネット経由の料金を節約
アクセス制御 エンドポイントポリシーでアクセス元VPCやIAM条件の制限が可能
信頼性向上 AWSネットワーク内の通信で安定性が高い

 

実際の動作イメージ

通常(エンドポイントなし)
→ EC2(VPC) → インターネット → S3

S3エンドポイントあり
→ EC2(VPC) → VPC Endpoint(内部) → S3

 

関連機能

  • エンドポイントポリシー:アクセスを制限するためのIAMポリシー形式のルールを記述可能

  • S3バケットポリシーとの併用:VPCエンドポイントからのアクセスのみを許可する設定が可能

例:

{
  "Effect": "Deny",
  "Principal": "*",
  "Action": "s3:*",
  "Resource": "arn:aws:s3:::your-bucket-name/*",
  "Condition": {
    "StringNotEquals": {
      "aws:SourceVpce": "vpce-xxxxxxxx"
    }
  }
}

 

S3エンドポイントの上限

AWSの S3エンドポイント(VPCエンドポイント) の上限は、VPCごとに最大 20 個の Gateway エンドポイント です(デフォルト上限)。

項目 上限値(デフォルト)
Gateway型エンドポイント(例:S3, DynamoDB) VPCごとに 20 個

 

補足

  • 通常、S3向けのGateway型エンドポイントは 1つで十分 です。
    (ap-northeast-1(東京)で作成したエンドポイントは、そのVPC内から東京リージョンのS3への内部通信のみを提供します。
    通常、そのリージョン内にあるS3バケットだけにアクセスすればよいという前提のため、東京で1つ作れば、東京のS3に対してはすべてアクセスできるという意味です。
    クロスリージョンでS3アクセスが必要なら追加の考慮が必要)

  • 上限の引き上げ(Service Quota)は可能ですが、S3用に複数のGatewayエンドポイントを作る必要があるケースはまれです。

 

S3用のGateway型エンドポイントが1つで十分な理由

理由1:リージョン内のすべてのS3バケットにアクセス可能

  • Gateway型エンドポイント(例: com.amazonaws.ap-northeast-1.s3)を1つ作成すれば、そのリージョン内のすべてのS3バケットにアクセス可能です。

  • S3のエンドポイントはグローバルサービスではなく、リージョンごとに動作します。

  • 東京リージョン用のS3エンドポイントが1つあれば、東京リージョンの任意のバケットにアクセス可能です。

理由2:アクセス先バケットを限定する必要がない

  • 通常のユースケースでは、複数のバケットにアクセスする必要があっても、1つのエンドポイントでそれらをすべてカバー可能です。

  • バケット単位でアクセス制御したい場合でも、エンドポイントポリシーやS3バケットポリシーで制限できます。エンドポイントを増やす必要はありません。

理由3:S3のDNS名は共通で内部的にルーティングされる

  • s3.amazonaws.combucket-name.s3.amazonaws.com のようなホスト名は、S3エンドポイントが有効な場合は自動的にAWS内部ネットワークを経由します。

  • このため、アクセス先のバケットがどれであっても、同じエンドポイントを通じて内部接続が行われるのです。

理由4:コストやリソース節約

  • Gateway型エンドポイントは無料ですが、リソース制限(上限20個)があります。

  • 不必要に増やさずに1つで済ませる方が管理・セキュリティ・設計上もシンプルです。

補足:複数のS3エンドポイントが必要になるケース(まれ)

  • VPCごとに異なるポリシーを適用したい場合(例えば、一部のEC2だけ特定のS3バケットにアクセスさせるなど)

  • 複数のVPCから同じS3バケットにアクセスするが、VPCエンドポイントごとのセキュリティ制御を行いたい場合

  • 組織構成や監査要件により、個別エンドポイント管理が求められる場合

結論

1つのS3 Gateway型エンドポイントで、通常のユースケースはすべて対応可能です。個別のS3バケットごとにエンドポイントを分ける必要はありません。必要があれば、エンドポイントポリシーやIAM/S3ポリシーで制御するのが推奨されます。

関連の記事

AWS CLIのコマンド (S3のファイルの一覧/コピー/移動)

 

△上に戻る