LoginSignup
3
1

More than 3 years have passed since last update.

AWS NAT Gatewayの費用を抑えようと思ったら高くなった話

Posted at

概要

NAT Gatewayの費用を抑えようと思ってVPCエンドポイントを使ったら、逆に高くなった話です

結論

  • 前提条件
    • 外部APIへのリクエストなどすでにNAT Gatewayを使っている
    • セキュリティ(インターネットに出てはいけない)のことは考慮不要
    • インターネットに出てアクセスするレイテンシは考慮不要

NAT Gatewayを普段使っているのであれば、VPCエンドポイントはS3とDynamoDB(ゲートウェイエンドポイント)だけでいい
と思ってます(個人的見解です)

考察

現状

  • NAT Gatewayの費用が高くなっていった
  • NAT Gatewayを利用しているリクエストは以下
    • S3とかECRとかDynamoDBとかCloudWatchLogsとかAWSのサービスにアクセスしているもの
    • 外部APIにアクセスしているもの

AWSのサービスにはVPCエンドポイントを利用することでNAT Gatewayを通さずにアクセスできる

VPCエンドポイント

インターフェイスエンドポイントは各AZごとにENIが作成され、そこ経由でアクセスする
ゲートウェイエンドポイントはルートテーブルのみ

インターフェイスエンドポイントはENIを作成する関係で使っていなくても時間課金される(AZ単位で)

インターフェイスエンドポイントを作れば作るほど、起動時間で課金されてしまう
https://aws.amazon.com/jp/privatelink/pricing/

損益分岐点

  • 東京リージョン、3AZ利用
  • VPCエンドポイント費用:($0.014/h*24h*31day*3AZ){VPCエンドポイント数}+$0.01/GB通信量
  • NAT Gateway費用:$0.062/GB*通信量
    • 現状NAT Gatewayを使っているという前提なので起動時間課金については考慮しない
通信量\VPCエンドポイント数 1 2 3 4 5 NATGW増加費用
100GB 32.248 63.496 94.744 125.992 157.24 6.2
200GB 33.248 64.496 95.744 126.992 158.24 12.4
300GB 34.248 65.496 96.744 127.992 159.24 18.6
400GB 35.248 66.496 97.744 128.992 160.24 24.8
500GB 36.248 67.496 98.744 129.992 161.24 31
600GB 37.248 68.496 99.744 130.992 162.24 37.2
1000GB 41.248 72.496 103.744 134.992 166.24 62

結果、VPCエンドポイント1つでかつ600GB以上の通信をその1つのVPCエンドポイントでする場合に限り、NAT Gatewayを通すよりも安くなる

600GBの通信、CloudWatchLogsとかKinesisとかであれば可能性ありそうでしょうか・・・?
VPCエンドポイントの起動時間課金が安くなるorなくなること、複数AWSサービスに対して1つのVPCエンドポイントでまかなえるようになることを期待しています。

ちなみに、VPCエンドポイントを9個作ったので、費用跳ね上がりました・・・とさ。

3
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
3
1