VPC EndpointとAWSのNAT Gatewayについて(1日で$4.84)
背景
Terraform RegistryのAWSのVPC関連で遊んでいて、VPC放置して翌朝の通知で気づいたので調査
(Slackで日本時間の毎朝10:05にAWS料金が届くプログラムを事前に組んでいる(aws-cost))
CostExplorerではVPCとしか書かれず、よくわからなかった
請求書を見る
code: Elatic Compute Cloud項目のAsia Pacific (Tokyo)項目
Amazon Elastic Compute Cloud NatGatewayで$0.62
$0.062 per NAT Gateway Hour * 10.000 Hrs = $0.62
code:Virtual Private Cloud項目のAsia Pacific (Tokyo)項目
$0.014 per VPC Endpoint Hour * 300.000 Hrs = $4.2
$4.2かかったAWS NAT Gatewayについて
ネットワークアドレス変換 (NAT) ゲートウェイを使用して、プライベートサブネットのインスタンスからはインターネットや他の AWS サービスに接続できるが、インターネットからはこれらのインスタンスとの接続を開始できないようにすることができます。
「外のAPIを叩くが、自分は外に見せたくない」とか
「$ apt-get update && apt-get install vim はしたいが、外から見せたくない」とか
NAT ゲートウェイを作成するには、NAT ゲートウェイの常駐先のパブリックサブネットを指定する必要があります。
つまりNATGatewayを作るならパブリックサブネットも必要
NAT ゲートウェイに関連付ける Elastic IP アドレスも、ゲートウェイの作成時に指定する必要があります。
NAT ゲートウェイを作成したら、プライベートサブネットの 1 つ以上に関連付けられているルートテーブルを更新し、インターネット向けトラフィックを NAT ゲートウェイに向かわせる必要があります。これにより、プライベートサブネットのインスタンスがインターネットと通信できるようになります。
各 NAT ゲートウェイは、アベイラビリティーゾーン別に作成され、各ゾーンで冗長性を持たせて実装されます。
複数のアベイラビリティーゾーンにリソースがあって、リソース間で 1 つの NAT ゲートウェイを共有している場合、その NAT ゲートウェイが属するアベイラビリティーゾーンがダウンすると、その他のアベイラビリティーゾーンのリソースはインターネットにアクセスできなくなります。
複数AZで冗長だ!だけどできるだけ安くしたいからといってNATGatewayを1つにするとそのNATGatewayがいるAZが死んだとき、他AZリソース部分も巻き込まれる
Amazon VPC の料金
(A)置くだけで料金発生!(0.062USD/時間)
(B)データ転送した分も更に料金発生(0.062USD/GB)
(A)+(B)= 請求
今回はデータ転送を行ってないので、(A)だけと考える!
1時間未満のNATGateway時間は1時間とカウント
予想になるが、3個作って1分で消しても3時間分、1日に30個作ってそれぞれ1分で消していたとしても、30時間分。。。
だから300時間もいった可能性がある
$0.62かかったAWS VPC Endpointについて
VPC エンドポイントでは、PrivateLink を使用する AWS サービスや VPC エンドポイントサービスに VPC をプライベートに接続できます。インターネットゲートウェイ、NAT デバイス、VPN 接続、または AWS Direct Connect 接続は必要ありません。VPC のインスタンスは、サービスのリソースと通信するためにパブリック IP アドレスを必要としません。VPC と他のサービス間のトラフィックは、Amazon ネットワークを離れません。
内内でやりとりするための通路だと解釈
同一サブネットならそもそもVPC Endpointは不要という認識
パブリックサブネットにあるRailsから、プライベートサブネットにあるDBへアクセスする場合に必要という解釈
パブリックサブネットAからパブリックサブネットBへ内内でアクセスるときにも必要と解釈
プライベートサブネットでも同じことが言えそう
エンドポイントは仮想デバイスです。エンドポイントは、VPC のインスタンスとサービスの間で通信を可能にする VPC コンポーネントであり、冗長性と高可用性を備え、水平にスケールされます。ネットワークトラフィックに対する可用性のリスクや帯域幅の制約はありません。
つまりフルマネージド?そもそもエンドポイントを別途GUIから作ることは可能?
多分フルマネージド
GUI(AWSマネジメントコンソール)から作ることは可能だった
VPC エンドポイントには 2 種類あります。インターフェイスエンドポイントとゲートウェイエンドポイントです。サポートされるサービスにより要求される VPC エンドポイントを作成します。
!?
ぱっと見、インターフェースが普通で、ゲートウェイがDB関連っぽい?
一旦終了
もうちょっと調べて追記 or 更新する