S3のFIPS対応がPrivateLinkだけで完結するようになった — 専用エンドポイントとDNS設計の要点
Amazon S3のインターフェースVPCエンドポイントがFIPS 140-3準拠の暗号モジュールに対応しました。これまでパブリックエンドポイント経由でしか使えなかったFIPS対応を、VPC内に閉じたまま実現するためのサービス名の指定方法とDNS設計、バケットポリシーの注意点を整理します。
- #Amazon S3
- #AWS PrivateLink
- #FIPS
- #VPC
- #セキュリティ
2026年9月3日、AWSはAmazon S3のインターフェースVPCエンドポイントをFIPS 140-3準拠の暗号モジュールに対応させたと発表しました。これまでFIPS対応でS3にアクセスするにはパブリックなFIPSエンドポイント経由に限られ、通信をVPC内に閉じたいというAWS PrivateLinkの要件と両立できませんでした。今回、専用のサービス名を指定してインターフェースエンドポイントを構成できるようになったことで、コンプライアンス要件とネットワーク境界要件を同時に満たせます。この記事では、何が変わったのか、DNS設計とバケットポリシーで見落としやすい点を整理します。
背景 — FIPS対応とパブリックエンドポイントの制約
FIPS 140-3は、暗号モジュールの実装を検証する米国連邦の基準です。FedRAMPの認定を受けたシステムや、政府機関・金融機関向けのシステムでは、通信の暗号化にFIPS 140-3で検証済みの暗号モジュールを使うことが要件になる場合があります。
AWSではこれまでも、FIPS 140-3準拠が必要なワークロード向けにs3-fips.us-east-1.amazonaws.comのようなパブリックなFIPSエンドポイントを提供してきました。ただしこのエンドポイントはインターネット経由、またはAWS Direct ConnectやSite-to-Site VPNを介したパブリックIPアドレス空間への到達が前提です。一方でAWS PrivateLinkのインターフェースVPCエンドポイントは、通信をAmazonのネットワーク内かつVPC内に閉じるための仕組みで、これまでS3向けの汎用インターフェースエンドポイントにはFIPS対応の指定がありませんでした。つまり「FIPS準拠の暗号モジュールを使う」ことと「通信をVPC内で完結させる」ことを、S3へのアクセスで同時に満たす方法がなかったのです。
関連する概念 — ゲートウェイエンドポイントとインターフェースエンドポイント
AWS PrivateLink for Amazon S3には、もともと2種類のVPCエンドポイントがあります。ゲートウェイエンドポイントはルートテーブルにエントリを追加する方式で、VPC内のアプリケーションからAmazonのネットワークを経由してS3へアクセスでき、課金は発生しません。ただしオンプレミスや別リージョンのVPCからは利用できません。インターフェースエンドポイントはVPC内のサブネットにプライベートIPアドレスを持つENI(Elastic Network Interface)として作成する方式で、Direct ConnectやSite-to-Site VPN経由のオンプレミス、あるいはVPCピアリングやTransit Gateway経由の別リージョンVPCからもアクセスできます。こちらは課金対象です。
今回FIPS対応が追加されたのは、このインターフェースエンドポイントの側です。ゲートウェイエンドポイントとインターフェースエンドポイントは同じVPC内に共存でき、たとえばVPC内部のトラフィックは無課金のゲートウェイエンドポイント経由のまま残し、オンプレミスからのFIPS準拠トラフィックだけを新しいインターフェースエンドポイント経由にする、という構成も可能です。
仕組み — 専用サービス名でインターフェースエンドポイントを構成する
今回追加されたのは、FIPS専用のサービス名です。リージョンごとにcom.amazonaws.リージョン名.s3-fipsという形式で指定します。たとえばバージニア北部リージョンであればcom.amazonaws.us-east-1.s3-fipsです。AWSの発表によれば、新規にインターフェースVPCエンドポイントを作成する方法に加えて、既存のインターフェースVPCエンドポイントを編集してこのFIPSサービス名を使うよう設定する方法でも有効化できます。
このFIPS対応のインターフェースエンドポイントは、バケットへのアクセス、アクセスポイント、Amazon S3 Control APIの操作をサポートし、IPv4・IPv6・デュアルスタックのいずれのIPアドレス方式でも構成できます。エンドポイント固有のDNS名にもs3-fipsという識別子が入り、たとえばvpce-xxxxxxxx.s3-fips.us-east-1.vpce.amazonaws.comのような形式になります。追加料金はかかりません。
設計判断ポイント
- 対応リージョンは現時点で8つです。 米国東部(バージニア北部・オハイオ)、米国西部(北カリフォルニア・オレゴン)、カナダ(中部・カルガリー)、AWS GovCloud (US)の2リージョン(米国東部・米国西部)が対象です。マルチリージョン構成では、未対応リージョンが残る前提で設計する必要があります。対応リージョンは今後拡大される可能性があるため、導入前に公式のFIPS対応状況のページで最新のリージョン一覧を確認してください。
- private DNSを有効にしていれば、アプリ側のコード変更は不要です。 インターフェースエンドポイントでprivate DNSを有効にすると、リージョンのバケットエンドポイント(
s3-fips.us-east-1.amazonaws.com)、コントロールエンドポイント(s3-control-fips.us-east-1.amazonaws.com)、アクセスポイントエンドポイント(s3-accesspoint-fips.us-east-1.amazonaws.com)のホスト名が、それぞれ自動でPrivateLinkのプライベートIPアドレスに解決されます。デュアルスタック構成にしていれば、デュアルスタックのFIPSエンドポイントも同様にプライベートIPへ解決されます。 - バケットポリシーで
aws:sourceVpceによるアクセス制限をしている場合は、許可リストの見直しが必要です。 特定のVPCエンドポイントIDだけを許可するバケットポリシーを設定している場合、新しく作成・変更したFIPS対応のインターフェースエンドポイントのIDをこの許可リストに追加し忘れると、アクセスが拒否されます。
まとめ
- Amazon S3のインターフェースVPCエンドポイントが、専用サービス名(例:
com.amazonaws.us-east-1.s3-fips)を指定することでFIPS 140-3準拠の暗号モジュールに対応しました。 - パブリックなFIPSエンドポイントに頼らず、VPC内に通信を閉じたままFIPS要件を満たせます。対応は現時点で8リージョン、追加料金はありません。
- private DNSを有効にしておけば、対応するホスト名は自動でプライベートIPに解決されます。バケットポリシーで
aws:sourceVpceを使っている場合は、新設したエンドポイントIDの許可リストへの追加を忘れないようにしましょう。
出典
- Amazon S3 now supports FIPS validated endpoints over AWS PrivateLink(What’s New。ページ内の表記は「Posted on: Sep 3, 2026」=2026年9月3日。対応8リージョン(AWS GovCloud (US)は米国東部・米国西部の2リージョンを指す複数形表記)・追加料金なし・新規作成または既存エンドポイントの編集で設定可能である旨を記載)
- AWS PrivateLink for Amazon S3 - Amazon S3 User Guide(「FIPS endpoints for Amazon S3」節にサービス名の指定方法、DNS名の挙動、private DNS有効時の解決先を記載)
- AWS Services in Scope by Compliance Program - FIPS(S3のFIPS対応エンドポイントの現在のリージョン一覧。導入前の最新確認用)