0
1

VPC エンドポイント for KMS を設置してみた

Last updated at Posted at 2024-06-09

名称未設定ファイル.drawio.png

目的

・EC2からKMSへのアクセスNAT gateway 経由でのアクセスからVPC エンドポイント経由でのアクセスへ変更する。

導入背景

EC2からKMSへアクセスする際に以下の懸念がありました。
・NAT gateway経由によってExternalなネットワークとなるためセキュリティへの懸念
・EC2からKMSへの通信コスト

これらの課題を解決するためにKMS用のInterfaceエンドポイントを実装しました。

VPC エンドポイントを介した AWS KMS への接続について

仮想プライベートクラウド (VPC) 内のプライベートインターフェイスエンドポイント経由で AWS KMS に直接接続することができます。インターフェイス VPC エンドポイントを使用する場合、VPC と AWS KMS 間の通信は完全に AWS ネットワーク内で行われます。
VPC エンドポイントを介した AWS KMS への接続

コスト

KMS のVPC エンドポイントと従来のNAT gateway を利用した際のコストを比較してみます。

VPC エンドポイント(KMS) NAT gateway
基本料金 10.22 USD/month・subnet 45.26 USD/month
通信コスト 0.01 USD/GB 0.062 USD/GB

使用料金についてはNAT gatewayは他のサービスも使用するため比較しませんが、
通信コストはVPC エンドポイントの方が安いです。KMSへのアクセスはInterfaceタイプのVPC エンドポイントとなるため、指定したSubnetごとにENIが発行されるのでその分コストが増加します。HAとコストを考慮して設計すると良いです。

実装

VPC エンドポイントの作成

まずVPC エンドポイント用のSecurity group作成します。
ステートフルなのでInboundだけ作れば大丈夫です。

VPC エンドポイント用のSecurity group

Type Procotol Port Source
Ingress/Inbound TCP 443 172.16.0.0/24

Sourceには今回アクセス元のEC2が設置されているVPCのCIDRで制限しています。

VPC エンドポイントの作成

スクリーンショット 2024-06-09 11.07.26.png

サービスではcom.amazonaws.{region}.kmsを選択します。
VPCやSubnetを選択し、先ほど作成したSecurity groupをアタッチします。

VPC エンドポイントの作成前に注意すべきこと
適切なSubnetやSecurity groupを選択しているか確認してください。

KMSのキーポリシーは設定されていれば特に変更は必要ありません。
しかしVPC エンドポイントを介したKMSのアクセスはNAT gateway経由よりも優先 されます。
そのためSecurity group等が不適切に設定されていると、これまでのKMSへの通信がブロックされる可能性があります。
作成前にその設定が正しいものか今一度確認してみてください。

VPC エンドポイント経由でアクセスされているか確認

EC2からKMSへの経路がVPC エンドポイントを介しているか確認するためにはVPC Network Access Analyzerで経路を確認するのが一番簡単です。

new-amazon-vpc-network-access-analyzer-08-1536x423.png

[新機能] ネットワークがアクセス要件を満たしているか確認するのに便利な VPC Network Access Analyzer がリリースされました! #reinvent

まとめ

今回はEC2からKMSへのアクセスをNAT gateway 経由でのアクセスからVPC エンドポイント経由でのアクセスへ変更しました。これからもAWSクラウドに関する情報を発信していきます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1