[アップデート]VPC内の暗号化を強制・制御し監査するためのVPC暗号化制御がリリースされました

[アップデート]VPC内の暗号化を強制・制御し監査するためのVPC暗号化制御がリリースされました

VPC内の転送中の暗号化を強制し、ALB/NLBなどのAWSマネージドな仕組みもAWS Nitroにより強制的に暗号化したりしてくれるコンプライアンス機能です。ただし有料になります。
2025.12.08

こんにちは、臼田です。

みなさん、暗号化してますか?(挨拶

今回は新しくVPC内の暗号化を強制し、制御して監査するための新機能「VPC暗号化制御」がリリースされたので少し触ってみます。ブログやWhat's Newは下記。

https://aws.amazon.com/jp/blogs/aws/introducing-vpc-encryption-controls-enforce-encryption-in-transit-within-and-across-vpcs-in-a-region/

https://aws.amazon.com/about-aws/whats-new/2025/11/aws-vpc-encryption-controls/

概要

ITシステムでは常に様々なデータをやり取りしますが、そのデータを保護するためには転送中や保管中に暗号化する必要があります。AWS Well-Architectedフレームワークのセキュリティの柱にもデータ保護がありますがそちらにも色々書かれています。

VPC上でも外部向けのサービス提供でHTTPSを利用したり、EC2とRDS間もTLSを利用した接続で通信を暗号化したりします。しかしどの通信が暗号化され、どの通信が暗号化できていないかを把握するのは簡単ではありません。

一方で、PCI DSSやHIPAAなどのコンプライアンス基準では暗号化の実施状況を説明する必要があります。

このあたりの制御や管理をやりやすくなったのが今回登場した「VPC暗号化制御」の機能です。

まずVPC暗号化制御によりVPC内の転送中の暗号化を強制することができます。具体的にはNLB/ALB/FargateタスクなどのAWSマネージドな基盤ではAWS Nitroベースのハードウェアに移行され、AWS内部の通信はAWS側の機能によりネットワーク層(L3)で暗号化されます。この暗号化は透過的に行われ、ユーザーで何かをする必要はありません。詳細な互換性のあるリソースはこちら。

更に、このAWS Nitroによるハードウェアの暗号化に加えて、アプリケーション層(L7)での暗号化もできているかをVPCフローログに出力できるようになり監査可能性が上がりました。encryption-statusフィールドにて、両方あるいはどれかの暗号化がされたパケットかどうか記録されます。

設定はVPC暗号化制御の作成のようにこれ自体のリソースが作成でき、それをVPC単位でアタッチします。設定は1:1で紐付きます。

既存のVPCに対しては最初から暗号化制御を強制することはできず、モニターモード(マネジメントコンソールだとモニタリングモード)の状態から始めます。モニターモードを適用すると、前述したAWS Nitroによる暗号化に移行するものが自動で移行されつつ、ユーザー側でアクションが必要な暗号化されていないVPCリソースが可視化されます。すべての対応が終わったあと、スイッチモードから強制モードに切り替えることで暗号化を強制できます。

強制されていると、AWS Nitroによる暗号化に対応していないリソースを作成できなくなります。

また、この暗号化制御はVPC内だけでなく、VPC間の接続でも適用され自動でAWSの仕組みにより暗号化されるのですが、VPC外にはこれを強制することができず、エンドツーエンドでは暗号化できません。そこで、VPC暗号化制御にはそのような外部通信も制御する機能があります。強制モードのデフォルトでは外部と通信するための下記リソースの作成・アタッチも制限されます。

  • インターネットゲートウェイ
  • NATゲートウェイ
  • Egress-onlyインターネットゲートウェイ
  • 暗号化が適用されていないVPCへのVPCピアリング接続
  • 仮想プライベートゲートウェイ
  • VPC内のLambda関数
  • VPC Lattice
  • Elastic File System

これは厳密に暗号化をコントロールするためですね。ただこれらを許容する必要がありますので、VPC暗号化制御の中で「除外するリソースタイプ」としてこれらの種類単位で除外していくことが可能です。IGWが必要であればそれだけ除外することでIGWをアタッチできます。AWSによるマネージドな暗号化が適用できない通信には除外による明示的な許可を入れていく、というスタンスですね。

VPC暗号化制御の設定は現在無料で利用できますが、2026年3月1日から料金が発生し東京リージョンでは空ではないVPCあたり0.21USD/hの費用となります。

1つのVPCあたり$0.21 * 24h * 30d = $151.2/月額となるため、コンプライアンス用の設定という意味合いが強くなりそうな価格感ですね。

やってみた

今回はVPC作成からVPC暗号化制御を強制モードで有効化して動きを見てみたいと思います。ちなみに既存VPCで有効にして強制モードにしていくのはAWSブログの方に軽く紹介されていますが大変なので頑張りましょう。

VPC作成の画面に行くと「VPC暗号化コントロール」という設定ができています。律儀に($)マークがありますね。強制モードを選択肢て作成します。

001_vpc_encryption_controls

無事作成が完了し暗号化制御モードのステータスを確認できました。

002_vpc_encryption_controls

この状態では何も外部通信をするリソースを暗号化制御から除外していません。試しにIGWをアタッチしようとすると失敗します。ちゃんとAWSネイティブでの転送中暗号化強制が適用できない操作は防止されています。

003_vpc_encryption_controls

ではIGWを許容してアタッチしていきます。VPC一覧ページで新しくタブで「VPC暗号化コントロール」がありますのでこちらからVPCを選択します。

004_vpc_encryption_controls

VPC暗号化制御の「除外」タブでIGWの除外をオンにします。

005_vpc_encryption_controls

無事オンにできてステータスも変わります。

006_vpc_encryption_controls

ちなみにこの設定はアクションの「スイッチモード」からも変更できます。

007_vpc_encryption_controls

ここではモニタリングモードから強制モードへの切り替えも行えます。IGWが除外されていることがこちらでも確認できますね。

008_vpc_encryption_controls

改めてIGWをアタッチすると無事成功しました。

009_vpc_encryption_controls

ちなみに、VPC作成時に強制モードを有効にしつつVPC以外の自動作成も行ってIGWをアタッチされるようにすると失敗します。

010_vpc_encryption_controls

途中で失敗してもロールバックして余計なリソースを残さない動きをしてくれるので、最近のVPCのウィザードは優秀ですね。

まとめ

VPC暗号化制御の機能を試しました。

主にコンプライアンス目的で利用する機能ですが、通常コントロールできないALBなどの基盤もAWS Nitroによる暗号化を強制してくれるなど良い感じです。必要に応じ利用しましょう。

この記事をシェアする

FacebookHatena blogX

関連記事