|
|
这两年看 AWS 账单时,有一项费用越来越容易被忽略:; Y7 A) u2 R. C* y7 c
Public IPv4。' `. F9 A2 I3 J# d- r" N3 G, D1 {
以前很多人开 EC2 的习惯是,机器创建出来顺手配一个公网 IPv4,测试机、跳板机、小服务都这么用。
* s& e# `( e+ \2 y单台机器看起来没什么。
9 X( K" S4 e" W; S6 i1 p0 v( w+ J但账号里机器一多,尤其是长期挂着一些低配实例的时候,公网 IPv4 的费用就会慢慢变得很显眼。! E5 n* ~; S& M9 g. Y( P
比如有些项目本身 EC2 配置就不高:
$ N8 }8 g$ |9 g. W, ^% B2 台生产机3 台测试机1 台跳板机6 台机器全部长期占着公网 IPv4。
' w: b! t5 \7 N4 m; l0 R单独看每个 IP 的费用不算夸张,但一年累计下来,就已经不是完全可以忽略的数字了。; O% @; n& ~6 j4 X: S" ~
更麻烦的是,有些公网 IP 其实根本没有必要存在。2 H% N- Q* k7 V! O- B6 z) [, x2 I' e
很多服务器并不需要直接暴露公网 IP比较常见的一种架构是:
0 g/ V5 Y8 \9 s: ]' [" h0 ?6 S% QInternet ↓ALB ↓EC2真正需要对公网提供访问的是 ALB。1 j) |$ E% w( ~# J9 g8 U/ l J' r
后面的 EC2 完全可以放在 Private Subnet,通过内网和 ALB 通信。) E1 X8 E& M0 d, g- H' A: N
但不少早期项目为了方便,创建 EC2 时直接:
$ S; ?% N/ v/ tAuto-assign public IPv4 = Enable久而久之,所有服务器都有公网 IP。' A; j W. T, B3 D3 r2 Q) N6 @% L2 n
功能上当然能用,但实际上多花了一块没太大必要的费用。
' K2 A$ g. S0 L3 d测试环境最容易留下这类资源生产环境一般有人盯。
1 ?, C% ^# C5 [7 E' i9 e6 P测试机反而最容易出现:
@; d; X, c6 u7 c# k9 L机器一个月只用几次但是一直开着公网 IPv4 也一直占着甚至 EC2 后来不用了,Elastic IP 还留在那里。
* {7 b& m, k- n% j0 C所以我现在看到 AWS 小额账单时,除了 EC2、EBS、流量,也会顺手看看:0 X# u7 [+ Z0 I; u' I9 K
Public IPv4 到底有多少个?
5 n, }) F5 `6 X9 v, c! D$ F3 r3 { 尤其是账号里有十几台、几十台小机器的时候。
1 c; @4 e ]7 h& F能走内网的尽量走内网并不是说所有公网 IPv4 都应该删。
& s1 A9 D- j: G; m8 [' u有些跳板机、富强、固定出口或者特殊业务,本身就需要公网地址。
/ x5 ?2 S& d# g+ w0 @0 m: [但如果只是:
4 M9 p3 j8 J" q应用服务器- Y! I& P1 d m# E
数据库. ?$ s# Z0 }# T2 N7 K9 C$ Z
Redis
% x& E: [( m. w9 @: _内部 API
7 t0 c: T$ O3 q: F. c s6 HWorker
9 b+ m' G+ Z) `4 u4 O 这些资源其实通常没有必要直接暴露公网。/ |% `. f# d) u1 }) e0 M
可以考虑:9 _; l2 K/ i3 C: \/ ^. p
Private Subnet+NAT Gateway / NAT Instance+ALB+SSM Session Manager具体怎么设计还是看业务。. n% D+ U9 V: E( P$ }7 x/ C
这里也不能为了省几个 IPv4,反而搞出更高的 NAT Gateway 成本。6 Z3 ~+ }0 E' n! V' H( S
所以重点不是“看到 IPv4 就删”,而是看看:
$ d' r- {$ D* V- H$ {4 s这个 IP 到底有没有必要长期存在。; X' ], Z& g! g
小账单最容易被这种固定费用吃掉如果一个账号每个月 AWS 只有几百美元,这种固定的小费用反而特别明显。
$ S9 S. D) o: H5 P比如:
/ _% m! Q8 U) Q8 Z& `( I公网 IPv4EBS 快照闲置磁盘CloudWatch LogsRoute 53旧 Elastic IP单独看都不大。
5 Q6 [! `: ~* T, k; {1 H: H" V但这些东西凑在一起,可能就是账单里很稳定的一部分。
0 X. a5 D% |/ [很多 AWS 成本优化其实不是去动核心生产架构,而是把这些长期没人管的小项目一点点清掉。7 s J. U. a F9 E' Y% t
用量上来以后,再看商务结算如果 AWS 一个月只有几百美元,最应该先做的还是资源清理。; j5 d6 r$ p$ U6 k
但如果已经稳定到:1 A; G0 l% s( x. n
每月几千美元甚至几万美元这个阶段除了技术侧优化,也可以顺手看看账单结算方式。
& F/ N% L. S3 W& e& _% x& ~2 Y我们这边目前主要做 AWS 账单结算和商务支持,不参与客户开发、部署和日常运维。0 o0 U1 z7 v, P& \1 r4 Z
客户原来的 AWS 环境、技术团队、账号使用方式都可以保持不变,我们主要根据实际月度使用规模评估相应的结算方案和商务优惠。
: C1 l, U& F- B1 m* o* b$ I K! S所以如果现在 AWS 已经有一定规模,可以把两件事分开看:
1 w4 Z L1 P% S9 E5 Q技术上,把没必要花的钱清掉。
: q$ D+ l( o. a( D- z. T" f+ V0 u商务上,把本来就必须花的钱看看有没有更合适的结算方式。2 N3 D. ~9 d. K, _1 A0 R! L# j
这两块一起处理,效果通常比单纯盯着某一个 EC2 实例省几十块更明显。" P8 |. o7 C3 x/ z. g
标签:AWS、EC2、Public IPv4、云成本、AWS账单) S" m3 a0 K" I* |5 E& {
9 _2 L' a# i7 I& D9 V* j
|
|