AWS:避免那些“神圣的法案”时刻的一些技巧

云非常棒:几乎100%的可用性,几乎零维护,按需付费,最重要的是,它具有无限的可扩展性。

但是最后两个很容易把你咬回去,把那令人敬畏的事情变成一场噩梦。

有时您会看到类似的故事:

一周之内,我们积累了接近1万美元的账单。

AWS技巧

在这里,我将介绍一些技巧,这些技巧是我们从构建世界上第一个无服务器IDE的不那么顺畅的旅程中学到的,可以帮助其他人避免一些“有趣的”陷阱。

小心该配置!

我们了解到的一件事是永远不要低估配置的功能。

如果您阅读以上链接的文章,您会注意到这是一个简单的错误配置:一个CloudTrail日志配置 ,该日志配置将日志写入已经监视的存储桶之一。

您当然可以举出创建“服务循环”产生计费黑洞的更详尽,更有创意的示例,但是这个想法很简单:AWS仅与配置它的人一样聪明。

AWS技巧

(嗯,在上述情况下,是我的一位同事配置了它,而我是验证它的人;因此,如果您愿意,可以在这里停下来;))

因此,当您要提交新的配置更新时,请尝试重新考虑后果。 你不会后悔的。

是S3,不是您的阁楼。

AWS估计有7%的云计费费用浪费在“未使用”的存储上,这些空间被不实际使用的内容所占用:过时的捆绑包,临时上载,旧主机等。

生活在水桶里

但是,确实,清理事情说起来容易做起来难。 遗忘一个废弃的文件比保持跟踪并在需要的时候删除它太容易了。

可能出于相同的原因,S3提供了生命周期配置 –基于时间的自动清除计划。 您只需说“如果它早于7天,则删除它”,它将在7天后消失。

这是免除临时存储(构建工件,一次性共享等)检查的理想方法。

AWS技巧

当您想从存储桶中删除大量文件时,生命周期配置也可以派上用场。 而不是删除单个文件(这本身会产生API费用–删除是免费的,列表不是! ),您只需设置一个生命周期配置规则即可在1天之内使所有内容过期。 坐下来放松一下,而S3为您服务!

{"Rules": [{"Status": "Enabled","Prefix": "","Expiration": {"Days": 1}}]
}

或者,您可以将不再需要但不是很容易放手的东西移入Glacier中,而只需花费很少的存储成本 ; 例如,对于archived的子路径下的内容:

{"Rules": [{"Filter": {"Prefix": "archived"},"Status": "Enabled","Transitions": [{"Days": 1,"StorageClass": "GLACIER"}]}]
}

但是在您这样做之前...

哎呀,它是版本化的!

(受到真实事件的启发。)

我设置了一个生命周期配置,以删除大约3GB的存储桶访问日志(显然是数百万个文件),并认为一切都很好–直到一个月后,我得到了与上个月相同的S3账单:(

事实证明该存储桶已启用版本控制,因此删除并不会真正删除该对象 。

因此,启用版本控制后,您需要明确告知S3生命周期逻辑以:

  • 丢弃非当前(已删除)的对象版本 ,以及
  • 过期的旧删除标记

为了完全摆脱“已删除”内容和相关的删除标记

“简单”的存储服务就这么多了;)

CloudWatch是您的朋友

每当您想找出存储桶占用的总大小时 ,只需遍历AWS/S3 CloudWatch Metrics名称空间即可 。 无法(惊讶,意外)从S3本地检查存储桶的大小。 甚至S3仪表板也依赖CloudWatch,那为什么不呢?

快速查看所有内容? (在bash上使用aws-clibc

yesterday=$(date -d @$((($(date +%s)-86400))) +%F)
for bucket in `aws s3api list-buckets --query 'Buckets[*].Name' --output text`; dosize=$(aws cloudwatch get-metric-statistics --namespace AWS/S3 --start-time ${yesterday}T00:00:00 --end-time $(date +%F)T00:00:00 --period 86400 --metric-name BucketSizeBytes --dimensions Name=StorageType,Value=StandardStorage Name=BucketName,Value=$bucket --statistics Average --output text --query 'Datapoints[0].Average')if [ $size = "None" ]; then size=0; fiprintf "%8.3f  %s\n" $(echo $size/1048576 | bc -l) $bucket
done

EC2:扫垃圾,塞Kong

EC2使管理您的虚拟机变得轻而易举–计算,存储和网络。 但是,它的简单性也意味着它可能会留下一些未被注意的垃圾和计费漏洞。

AWS技巧

选择您的实例类型

创建新实例时有太多设置。 除非有特定的性能要求,否则选择具有弹性块存储(EBS)支持的存储和2-4 GB RAM的T2类实例类型就可以满足大多数需求。

尽管有免费使用层的资格, t2.micro如果您的服务器可以在某个时候接收计算或内存密集型负载,则t2.micro可以成为PITA; 在这些情况下, t2.micro倾向于简单地冻结(可能与CPU信用用尽有关 ),造成的麻烦多于其价值。

清理AMI和快照

我们习惯于将EC2实例的定期快照作为备份。 其中一些被制作成机器映像(AMI) , 以供其他AWS用户重用或共享 。

我们很容易忘记其他快照。

尽管不会按快照的完整卷大小计费 ,但是随着时间的推移,快照会增加大量的垃圾。 因此,定期访问并清理EC2快照选项卡很重要。

此外,创建新的AMI通常意味着较旧的AMI已过时; 也可以从AMI选项卡中 “注销”它们。

但…

罪魁祸首是AMI还是快照?

实际费用在快照上 ,而不在AMI本身上。

而且它变得棘手,因为注销AMI不会自动删除相应的快照 。

通常,您必须复制AMI ID,转到快照,在描述字段中查找ID,然后核对匹配的快照。 或者,如果您很勇敢(又懒惰),则选择并删除所有快照; AWS将阻止您删除AMI正在使用的那些。

同样,对于实例和卷

EC2实例运行时对计算计费; 但它的存储量始终是收费的-直到删除为止。

当您终止实例时,卷通常会变得无用。 但是,如果您使用了音量附件设置,那么帐户中可能会遗留分离的音量。 尽管未附加到实例,但它们仍占据空间; 因此AWS会向他们收费。

再次,只需转到“ 卷”选项卡 ,选择“可用”状态的卷,然后单击“删除”以永久删除它们。

标记您的EC2内容:实例,卷,快照,AMI和其他内容

AWS技巧

制作快照时,很容易忘记实例中的状态。 或正在运行/已停止的实例的目的,似乎没有人对此承担所有权或责任。

命名和标记可以帮助避免令人不快的意外(“为什么要删除上个月的产品快照?!”); 并且还可以帮助您快速决定要扔的东西(“我们已经有了11-05主快照,因此只需删除早于该快照的所有内容”)。

您停止使用,我们开始计费!

有时,AWS Lords以神秘的方式工作。

例如,只要将弹性IP地址(EIP)附加到正在运行的实例上,它们就是免费的。 但是一旦实例停止,它们就会按小时开始收费; 或者它们以某种方式进入“分离”状态(未附加到正在运行的实例)。

有关您将要注册的服务的一些先验知识可以防止这种方式带来令人讨厌的惊喜。 快速定价页面查找或Google可能会破坏交易。

每次使用付费与按次分配付费

许多AWS服务都遵循上述一种或两种模式。 前者是微不足道的(您只需支付您实际使用的时间/资源,而在其余时间中享受零账单)并且很难错过; 但是后者可能有点晦涩,很容易被忽视。

考虑一下EC2:您主要为实例运行时付费,但您也为存储(卷,快照,AMI)和网络分配(如非活动的弹性IP)付费,即使实例已停止几个月也是如此。

还有更多示例,尤其是在无服务器域中 (我们自己更熟悉):

  • Kinesis 按碎片小时收费-即使您所有碎片都处于闲置状态
  • DynamoBB 以“容量单位”为单位收取存储和读取/写入费用-幸运的是,这里有一个免费的免费套餐!
  • RDS (非常类似于EC2)对实例运行时收费,无论是忙还是闲( Aurora Serverless似乎都试图在某种程度上对此进行更改)
  • 无论您是否使用, KMS都会 为每个客户管理密钥(CMK)收取固定费用

AWS技巧

同时,某些服务秘密地建立了自己的监视,备份和其他“实用程序”实体。 这些(虽然可能!)意味着行善,但它们可能会秘密渗入您的账单:

  • DynamoDB设置CloudWatch警报 ; 即使删除了相应的表(至少在通过CloudFormation进行管理时),这些表也仍然保留。
  • RDS在终止以及日常维护期间(尤其是通过“默认” CloudFormation配置进行部署时)会自动创建实例卷快照 ;这些快照可以轻松添加您的存储配额

这些是我们AWS账单中经常出现的罪魁祸首; 当然有更好的例子,但是您明白了。

CloudWatch(再次)

许多服务已经(或可以配置为)将使用情况指标报告给CloudWatch。 因此,通过掌握哪些度量标准映射到哪个计费组件的一些领域知识(例如,S3存储成本由AWS/S3命名空间的所有条目中BucketSizeBytes度量标准的总和表示),您可以围绕CloudWatch构建完整的计费和监控解决方案指标 (或将作业委托给DataDog之类的第三方服务)。

AWS技巧

CloudWatch本身基本上是免费的 ,并且其指标具有自动汇总机制,因此您不必担心会因使用过时的垃圾而使它不堪重负-或因容量限制而变得不堪重负。

帐单API

尽管AWS确实有专用的Billing Dashboard ,但是每天登录并检查它并不是您要添加到议程中的事情(至少对于像您和我这样的API / CLI头脑不是这样)。

幸运的是,AWS提供了一个计费API ,通过该API ,您可以在任何首选时间段内获得当前未结帐单的相当细致的视图-按服务或实际API操作进行细分。

值得一提的是,该API并非免费:每次调用都需要您支付0.01美元。 当然,这可以忽略不计-考虑到必须支付数十甚至在某些情况下甚至数百甚至数千的风险,值得一个月$ 0.30的计费监视器来追踪任何异常,以免为时已晚。

值得深思:通过支持Google Cloud Functions提供的无头Chrome ,人们可以设置无服务器工作流,该工作流登录到AWS仪表板并为您检查账单。 有一些可以在空闲时间尝试的东西(如果有些聪明的人还没有一起破解过的话)。

帐单提醒

奇怪的是(或可能不是;)AWS没有提供一种对账单设置硬性限制的方法。 尽管网络上有大量用户请求和令人不安的事件报告。 相反,它们为各种计费“级别”提供警报 。 您可以通过电子邮件或SNS订阅通知,例如“按限额的x%计费”和“超出限额”(方便通过Lambda进行自动化 !)。

我的建议:这是每个AWS账户的必备条件 。 如果我们拥有一个,那么迄今为止我们已经可以节省数千美元。

AWS技巧

组织账户

如果您想将AWS访问权限委派给第三方(测试团队,基于合同的开发人员,演示用户等),则最好通过将您的根账户转换为启用了整合账单的AWS组织来创建子账户。

(虽然可以使用IAM用户执行几乎相同的操作 ,但它不会提供资源隔离;所有内容都将填充在同一帐户中,并且可能需要艰苦的IAM策略才能在用户之间隔离实体。)

我们的CEO和同事Asankha 对此进行了非常全面的撰写,因此,我将止步于此 。

监控。

无需强调这一点–我无休止的漫谈应该已经表达了它的重要性。

所以,祝你好运!

翻译自: https://www.javacodegeeks.com/2018/11/aws-tips-avoiding-holy-bill-moments.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

樊昌信版通信原理期末复习第一章绪论

第1章 绪论 一、知识点梳理 1、通信的目的:传递消息中所包含的信息。 2、消息:是物质或精神状态的一种反映。 3、信息:是消息中包含的有效内容。 4、通信系统的一般模型 信源输入变换器:将非电物理量变成电信号。 发送设备&…

DC/DC开关电源设计

DC/DC开关电源设计视频讲解链接:https://www.bilibili.com/video/BV1Dv411y7jM?t156 一、电源概述 主要内容:线性稳压电源和开关稳压电源的概念理解 1、稳压电源(stabilized voltage supply)是能为负载提供稳定的交流电或直流…

jboss junit_使用junit-drools进行JBoss Drools单元测试

jboss junit最近,我一直在大量使用JBoss Drools进行项目。 我不是Drools专家-我也不太相信这个框架,或者可能不是只相信该项目中的特定用例-我发现很难为基于Drools的业务规则编写简单,可维护的单元测试 。 这就是junit-drools诞生的方式–简…

【从3D点云生成平面图:一种空间划分方法】

文章目录 概要概述实验总结 概要 本文提出了一种从原始传感器数据自动重建室内环境平面图的新方法。现有的方法是通过检测角点并将它们连接起来,以平面图形的形式生成平面图,与此相反,本文采用了一种策略,将空间分解为多边形分区…

数字信号处理基础知识之DFT、DTFT、DFS、FFT基本概念扫盲

一、名词汇总 DFT:离散傅里叶变换(Discrete Fourier Transform); DTFT:离散时间傅里叶变换(Discrete-time Fourier Transform); DFS:离散傅里叶级数,又称离散…

数字基带传输学习笔记00引言

S0 引言 一、是什么 1、什么是数字基带信号? 未经调制的数字信号,所占据频谱从零频或很低频率开始 若信道中传输的是数字信号,则称为数字通信系统。这些信号包含丰富的低频分量,甚至直流分量,称为数字基带信号。 如…

如何在ADF中将参数传递给ActionListener

在某些情况下,需要将值传递给ADF Button的ActionListener。 可以由actionListeners调用的方法只有一个ActionEvent类型的参数。 因此,我将解释如何将参数传递给该bean方法,但是它在方法签名中仅包含一个参数ActionEvent。 我在页面上添加了…

计算机二级公共基础部分学习笔记

1、Rear指向队列最后一个元素的位置 Front指向队列第一个元素的前一个位置 RearFront,要么满,要么空;循环队列元素个数求法; 2、总节点数不同度节点数相加 总节点数度数*对应节点数和1 3、二叉树 前序:根-左-右 中序&…

FPGA初学者入门相关概念知识点

一、基础入门 1、整体理解 简单来说,FPGA 就是“可反复编程的逻辑器件”。 ASIC 和 FPGA 就如同印刷品和白纸 ARM 虽然有很多外设,DSP 虽然具备强大的信号运算能力,但是,ARM 能做的,DSP 能做的,FPGA 一定…

01数字基带信号及其频谱特性

S1 数字基带信号及其频谱特性 一、分类 1、单极性不归零波形 优点:电脉冲之间无间隔,极性单一,易于用TTL,CMOS电路产生; 缺点: a) 有直流成份;判决电平不能稳定在最佳的电平,抗噪声…

人工智能英语学习笔记

基础篇单词 mythology n. ancient myths in general; ideas that many people think are true but that do not exist or are false 神话 Examples: A satyr is half man and half goat in Greek and Roman mythology. 在希腊和罗马神话中,森林之神是半人半羊的样子…

CSDN公式编辑(latex语言应用)整理

在线Latex公式编辑器 latex语法指南 一、常用规则 1、编辑公式时,公式显示在两个$$之间。 $ 公式 $ :可写在句中,如me>smartnicehealthyme>smartnicehealthyme>smartnicehealthy $ $ 公式 $ $ :比较大,如me…

API网关正在经历身份危机

这些年来,API网关正在经历一些身份危机 。 它们是否是集中的共享资源,以促进对外部实体的API公开和治理? 它们是集群入口哨兵,可以严格控制哪些用户流量进入或离开集群吗? 还是他们根据自己拥有的客户端类型&#x…

通信原理速学02:随机过程

模块1 随机过程 随机过程与样本函数 随机过程指一类随时间做随机变化的过程,用ξ(t)表示,其值不确定,无法用确切的时间函数描述。 随机过程的每一次实现,就称为一次样本函数ξi(t),随机过程是所有样本函数的集合。 基…

使用Apache Ignite瘦客户端– Apache Ignite内部博客

从2.4.0版本开始,Apache Ignite引入了一种新的连接到Ignite群集的方法,该方法允许与Ignite群集进行通信而无需启动Ignite客户端节点。 从历史上看,Apache Ignite提供了客户端和服务器节点两个概念。 点燃旨在用作轻量级模式的客户端节点&…

2020-12-15通信原理

1、随机过程是一类随时间作随机变化的过程,不能用确切的时间函数描述。 不同角度理解:(1)对应不同随机试验结果的时间过程的集合;(2)随机过程是随机变量概念的延伸。 可以把随机过程看作是在时间…

2020-12-19通信电子线路第一章

振幅键控(Amplitude-shift keying) (ASK) 相位键控(phase-shift keying) (PSK) 频率键控:(Frequency-shift keying) (FSK) CDMA (Code Division Multiple Access) 码分多址 软件无线电结构&am…

现代交换技术学习笔记001

1、交换 在通信领域中,所谓交换,就是在通信网上,负责在通信的源和目的终端之间建立通信信道传送通信信息的机制(控制)。 2、通信网的组成(三要素) 交换设备,传输设备,终端…

移动通信学习笔记_01概述

OSI 7层模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 TCP/IP共5层:物理层、数据链路层、网络层、传输层(运输层)、应用层 物理层:编码(信道编码)、调制 本课程&#xff1a…

计算机二级office学习之PPT操作题考点整理

考点1 新建幻灯片 01 大纲级别 S1、word中:选择格式相似的文本-段落大纲级别; S2、打开PPT:新建幻灯片-幻灯片从大纲-选择word文档。 (S3、不保留原素材的格式)在预览窗口ctrlA,右键重设幻灯片。 注:若无法…