|
|
这两年看 AWS 账单时,有一项费用越来越容易被忽略:
, V: {8 j! T7 [ f2 \5 S/ {Public IPv4。& Z( U( \# P2 M& q+ o) A
以前很多人开 EC2 的习惯是,机器创建出来顺手配一个公网 IPv4,测试机、跳板机、小服务都这么用。; J$ _" f/ y1 g0 z
单台机器看起来没什么。% S1 F ?' l0 Q
但账号里机器一多,尤其是长期挂着一些低配实例的时候,公网 IPv4 的费用就会慢慢变得很显眼。
2 r5 f- Z5 B# u ^7 J* W比如有些项目本身 EC2 配置就不高:$ D4 _1 y; i$ G" d$ B3 f# C
2 台生产机3 台测试机1 台跳板机6 台机器全部长期占着公网 IPv4。
( H3 X7 R9 i# c8 h- I y单独看每个 IP 的费用不算夸张,但一年累计下来,就已经不是完全可以忽略的数字了。
, ^4 \1 b" H2 i/ O$ c更麻烦的是,有些公网 IP 其实根本没有必要存在。1 ], ~' I& {7 V; x8 z
很多服务器并不需要直接暴露公网 IP比较常见的一种架构是:" d* A. K( b- x. t7 v7 Z$ e
Internet ↓ALB ↓EC2真正需要对公网提供访问的是 ALB。
9 y/ d n+ R- W- q2 k% S后面的 EC2 完全可以放在 Private Subnet,通过内网和 ALB 通信。
4 G+ d4 g# k: J1 y. F但不少早期项目为了方便,创建 EC2 时直接:% ] ?0 f# L7 o3 b
Auto-assign public IPv4 = Enable久而久之,所有服务器都有公网 IP。
4 F' k" n1 y8 G: d功能上当然能用,但实际上多花了一块没太大必要的费用。
4 @3 X9 z" s. h2 Z: o \2 i测试环境最容易留下这类资源生产环境一般有人盯。
& K- J: e, c5 Q' N4 i7 p# |& Y测试机反而最容易出现:6 K9 r( ~! Q( ]/ b+ U
机器一个月只用几次但是一直开着公网 IPv4 也一直占着甚至 EC2 后来不用了,Elastic IP 还留在那里。
# `$ n, Z. S2 C所以我现在看到 AWS 小额账单时,除了 EC2、EBS、流量,也会顺手看看:, P% S7 P) n# P; L
Public IPv4 到底有多少个?
( P7 S2 C1 g' K 尤其是账号里有十几台、几十台小机器的时候。
1 o% I/ A2 J. d+ Y; X/ w能走内网的尽量走内网并不是说所有公网 IPv4 都应该删。5 m' c% w) e% E
有些跳板机、富强、固定出口或者特殊业务,本身就需要公网地址。
* H' ~ B! \" G8 S2 u但如果只是:, A! c# Z% x `& `$ r7 |* n
应用服务器
8 ^( M( H* Y: u% H! p" V( R( K数据库% g* b% q+ r# Q6 u) K; U: E. @! U
Redis
# R5 B! f8 Q- |/ i内部 API x1 E( r- z3 G* x G d/ @ U
Worker
1 O8 s" ~% A9 K5 n7 V0 y 这些资源其实通常没有必要直接暴露公网。
" J0 G1 H' c5 V% }+ v, i3 j; P2 s可以考虑:
0 I5 V5 g% f( h8 h) l, XPrivate Subnet+NAT Gateway / NAT Instance+ALB+SSM Session Manager具体怎么设计还是看业务。
d$ W8 V! |4 ~6 Y* u( T/ Y这里也不能为了省几个 IPv4,反而搞出更高的 NAT Gateway 成本。
9 |7 k$ ?- o( N+ U& g所以重点不是“看到 IPv4 就删”,而是看看:
5 ?* O6 v; X# K- m J: O( {4 i这个 IP 到底有没有必要长期存在。
+ K& n G; U) C/ ^7 E) g小账单最容易被这种固定费用吃掉如果一个账号每个月 AWS 只有几百美元,这种固定的小费用反而特别明显。
9 K& ^! Y/ r' Y- P t1 c& q比如:
4 O3 O' U) O$ Y V2 u) V公网 IPv4EBS 快照闲置磁盘CloudWatch LogsRoute 53旧 Elastic IP单独看都不大。7 ^& `5 O+ S) k4 p F* U! N
但这些东西凑在一起,可能就是账单里很稳定的一部分。
/ X9 U6 m4 U3 k+ e* I5 C很多 AWS 成本优化其实不是去动核心生产架构,而是把这些长期没人管的小项目一点点清掉。7 o6 w: H4 L8 j& Q
用量上来以后,再看商务结算如果 AWS 一个月只有几百美元,最应该先做的还是资源清理。( M4 x6 ~0 d! x. o# c
但如果已经稳定到:: A; K, {, g1 u( i1 q
每月几千美元甚至几万美元这个阶段除了技术侧优化,也可以顺手看看账单结算方式。2 Q( _; l% k& U; w! J
我们这边目前主要做 AWS 账单结算和商务支持,不参与客户开发、部署和日常运维。
7 K8 z/ x( M& m1 B: b; p客户原来的 AWS 环境、技术团队、账号使用方式都可以保持不变,我们主要根据实际月度使用规模评估相应的结算方案和商务优惠。
0 s' _# C$ S2 F& @9 a9 @所以如果现在 AWS 已经有一定规模,可以把两件事分开看:
2 e& h& [; T% T$ T) J$ I$ W5 o技术上,把没必要花的钱清掉。
, ?7 A9 m* i% h4 V) ^3 L商务上,把本来就必须花的钱看看有没有更合适的结算方式。4 z. A' J& n2 Y; `( ?5 _
这两块一起处理,效果通常比单纯盯着某一个 EC2 实例省几十块更明显。
& X# d- r. e- |- Z( K标签:AWS、EC2、Public IPv4、云成本、AWS账单
$ b) X" n6 g1 f- H- E; g1 B: j; ]" }' b3 u5 g+ N8 H
|
|