AWS: NAT Instance1
AWSでPrivateなセグメントに配置したEC2インスタンスなどがインターネットと通信を行いたい場合、Publicなセグメントに配置したNAT GatewayやNAT Instance、あるいはプロキシサーバなんかが必要になる。NAT GatewayとNAT Instanceは簡単には次として理解している。
- NAT Gateway:AWSが管理するインスタンス
- NAT Instance:ユーザーが構築するインスタンス
自分で作る必要がないNAT Gatewayは便利だがコストに難がある。インターネットから月例でパッチをダウンロードして適用する、SSM Agentを通してメンテナンスをするなどと考えた場合、インターネットからの受信と送信の両方が発生するが、仮に受信を20GB/月、送信を20GB/月として東京リージョンでのコストを試算してみる。
※業務的にクリティカルなものではないのでNAT Instanceはt4g.nano, EBS=8GBで一旦計算する。試算結果は参考程度で、価格は変化するので正しい数値は公式で確認すること
NAT Gateway | NAT Instance | |
インスタンス料 | 0.062 × 730時間 | 0.0054 × 730時間 |
ディスク使用料 | – | 0.12 × 8GB |
データ処理料 | 0.062 × 40GB | – |
通信料(受信 20GB) | – | – |
通信料(送信 20GB) | 0.114 × 20GB | 0.114 × 20GB |
計 | 50.02 [USD/Month] | 7.182 [USD/Month] |
効いてくるのはGateway usage hourly cost(インスタンス料)と NAT Gateway data processing cost(データ処理料)の部分。とはいえ、マネージドインスタンスというユーザーが面倒を見なくていいという部分が魅力的なのでNAT Gatewayには価値がある。
NAT Gatewayは使わない時間に停止するということが出来ないので、不要な時間は払いたくないとなれば削除することになる。そうなると作り直した時もルートテーブルを更新したりと面倒である。NAT Instanceの場合は停止がより容易になる。ディスクは残るのでコストが0にはならないが。検証環境なんかはNAT Instanceで良いんじゃないかなと思う。
NAT Instanceの作成は多分次回。