整理您的资源:查找不再使用的资源
您是否曾为一个暂时性项目创建了亚马逊云科技资源,然后便忘记了这些资源?我就干过这种事!在学习一项新服务或构建一个暂时性原型时,我会启动一些资源进行试用。但我可能会忘记及时删除这些资源。然而,涉及到费用时,我只想为我需要和使用的资源付费。本教程将演示如何使用 Amazon Resource Explorer 查找不需要的资源。
现代云开发
本教程适用于学生和教学者,也适用于经验丰富的开发人员。我学习编码的时侯还没有云计算,所以我需要的所有资源都创建在本地设备上。这在某些方面受到了我的本地设备的限制,因为我的个人电脑上可能没有最终运行代码的服务器那么强大。也就是说,我的本地数据库服务器可能只有一个速度较慢的磁盘,而且 RAM 可能只有服务器的四分之一。不过,我可以快速停止本地运行的服务,并将其从有限的硬盘空间中删除。如果我忘了这样做,当我尝试使用该计算机做其他事情时,很快就会发现这个本地服务器还在运行!
如今,我在云中进行开发,可享有比本地设备更强大的计算能力。但是,能力越大,责任越大。我可能会忘记删除创建的资源,因为:
- 资源预配和使用的便捷性也使人容易忘记资源的存在,或者
- 某些资源是亚马逊云科技自动创建的辅助资源,例如,为 Amazon SageMaker Studio 自动创建的 Amazon Simple Storage Service (S3) 存储桶。
随用随清
我把凌乱的云账户比作凌乱的房间。您去参加派对之前,也许需要试穿不同的衣服。您可能不确定该穿正装还是便装,或者衣服是否搭配得恰到好处。如果您试遍了衣柜里的每件衣服,却在试完后“忘记”将每件衣服放回原处。回到家后,您会发现房间非常凌乱,堆满了“忘记”整理的衣服。
没有人愿意在累到只想睡觉时整理房间。您的亚马逊云科技资源也是如此。如果您在用完后不马上整理,可能会发生两种情况:
- 您的账户最终会像一个凌乱的房间,到处都是东西(或在许多亚马逊云科技区域中都有资源)。
- 其中一些资源会持续产生费用,即使您不再使用这些资源。您创建了这些资源,但没有删除,现在您不得不为它们支付费用。资源的单价可能不是很高,但总计也是笔不小的金额。将钱用在真正所需之处,而不是花在不需要的资源上,不更好吗?
凌乱的房间/凌乱的云资源
最好采用“随用随清”的方法,能够有效避免您的亚马逊云科技账户像一个凌乱的房间一样,堆满凌乱的资源。若您没有及时清理不用的资源,可以根据本教程,快速如何查找不需要的资源。
如何查找不再使用的资源
最近,我为了向学生们讲解无服务器应用程序开发,使用 Amazon Amplify 创建了一个演示工作室。每次测试这个工作室的迭代时,我都会创建一个 IAM 用户,该用户只具有使用 Amplify 所需的最低权限。Amplify 可以轻松地预配存储、函数、NoSQL 数据库表和身份验证等资源。每次演示结束后,我都会及时删除 IAM 用户。但这只会删除用户,而不会删除 Amplify 创建的资源。
后来,我又创建了一个示例 Amazon SageMaker Studio 域。完成演示后,我不再需要这个 Amazon SageMaker Studio 域。我以为我已经关闭了服务,但实际上我没有将其删除。
后来,我登录亚马逊云科技管理控制台的时候,收到了一张意料之外的费用账单:
不再需要的资源产生的意外费用
我以为我的账户中已没有正在运行的资源。但我很快发现,Amplify 为我预配的资源仍处于活动状态,而且每个月都会产生费用。SageMaker Studio 也在耐心地等着我回来做更多的数据工作,费用也在不断累加。我不再需要这些资源,但我面临挑战是:如何查找 Amplify 和 SageMaker 创建的所有 S3 存储桶、DynamoDB 表等资源?
更复杂的是:我在 eu-west-1 区域部署了 Amplify 工作室,而在其他区域(包括 us-east-1 和 us-east-2 区域)进行了测试。如果不进行大规模搜索,如何查找我账户下所有区域中的所有资源?
Amazon Resource Explorer
Amazon Resource Explorer 帮助您轻松搜索亚马逊云科技账户中的资源。它支持多种资源类型,例如 Amazon S3 存储桶、 Amazon DynamoDB 表等。而且,Amazon Resource Explorer 可以轻松搜索您的账户下多个地域中的资源,您能够轻松查看资源览存和资源所在位置。
Amazon Resource Explorer 不收取使用费,但在使用之前,您必须先进行设置,并允许其编制所有资源的索引。
以下教程步骤将向您展示如何:
- 设置 Amazon Resource Explorer
- 查找您账户中的所有资源
- 查找您账户中的特定资源类型
- 创建自定义视图
注意:Amazon Resource Explorer 不支持某些资源类型。将来可能会增加支持的资源类型。它支持许多常见的资源类型。您可以查看支持的资源类型列表。
步骤 1:设置 Amazon Resource Explorer
此步骤是一次性操作,只需要在首次使用 Amazon Resource Explorer 时进行设置。
注意:此步骤可能需要一些时间才能完成,尤其是当您的账户在多个地域具有大量资源时。您需完成此步骤后才能执行下一个步骤。
- 在亚马逊云科技管理控制台中,使用搜索栏或快捷键 Alt+S 搜索 AWS Resource Explorer。
- 选择 Amazon Resource Explorer 进入控制台。
搜索 Amazon Resource Explorer
- 在 Amazon Resource Explorer 控制面板上,点击 Go to Resource Explorer(前往 Resource Explorer)。
前往 Amazon Resource Explorer 设置索引
选择 Quick set-up(快速设置)。该设置可以为账户下可用的所有地域编制索引。这适用于大多数用户,尤其是学生和新用户,特别是您完全不知道资源所在的地域的情况。
对于 Aggregator index region(聚合器索引区域),我选择了离我最近的区域 Europe (Ireland) eu-west-1。您可以选择您的账户可以访问的任何区域。Amazon Resource Explorer 为每个区域编制索引,并将聚合(组合)结果存储在此区域中。
选择 Quick set-up(快速设置)或 Advanced set-up(高级设置)
- 点击 Turn on Resource Explorer(开启 Resource Explorer),然后稍作等待。此时系统会设置索引,并查找每个区域中的所有资源。
请注意,此步骤需要一段时间才能完成。设置指引文档中指出:
“本地已标记索引的资源会在几分钟内搜索出来。未标记的资源通常需要不到两个小时的时间才可搜索出来,但在需求很大时,可能需要更长的时间。将所有现有本地索引复制到新聚合器索引也可能需要长达一个小时。”
考虑到这一点,请至少在需要使用 Amazon Resource Explorer 几小时之前进行设置。
步骤 2:查找您账户中的所有资源
Amazon Resource Explorer 为每个区域创建了索引和视图后,您就可以打开该视图,查找现有资源。
- 从亚马逊云科技管理控制台,前往 Amazon Resource Explorer 控制台,然后在左侧导航栏中 选择Resource search(资源搜索)。
- 默认视图将打开。可能页面顶部会显示一条提示: You can start searching immediately while we begin indexing the resources in your account. You might see incomplete results until indexing is complete, especially for cross-Region searches.
- 建议您等待索引编制完成,否则可能会漏掉尚未编制索引的资源。
例如,我共有 724 个资源!
目前,其中一些资源运行良好,不能停止或删除,因为这些资源是我的账户运行和日常使用亚马逊云科技所需的资源。
我想将范围缩小到我知道应该删除的资源类型。要做到这一点,我需要了解亚马逊云科技中的不同资源类型。
注意:不能轻易删除所有资源;有些资源很重要,不能删除!
步骤 3:查找您账户中的特定资源类型
我知道,我目前不需要 DynamoDB 表、S3 存储桶和 Lambda 函数。这些都是 Amplify 和 SageMaker 创建的。
认识到这一点后,我决定从 DynamoDB 资源开始。如果您的账户中没有 DynamoDB 表,可能无法完全按照这些步骤操作。但是,您可以参考这些步骤,筛选您确定不需要的任何其他资源类型。
- 打开 All types(所有类型)列表并选择 DynamoDB:table。
- 筛选后的视图将只显示所有区域中的 DynamoDB 表。
- 如果您在不同的区域中有太多要管理的资源,也可以按区域筛选。
筛选 DynamoDB 表后的视图
确认每个资源并决定是否需要。如果不再需要,请点击其标识符或其对应的 DynamoDB 控制台链接,然后您将进入亚马逊云科技管理控制台中该资源页面。之后,便可以删除该资源。确保只删除不需要的资源。如果不确定,请先备份资源。
删除完不要的 DynamoDB 表后,继续删除不要的 S3:buckets 和 lambda:functions 资源。操作步骤同上。
注意:如果您需要删除大量的资源,以这种方式进行手动删除可能需要很长时间,因为每次删除都要进行质询,确认您要删除这些资源。如果您是高级用户,您可以使用 Amazon CLI 查询列出特定区域中某一特定类型的所有资源,然后将查询的输出结果传输给 CLI 删除函数。本教程中不详细解析这种方法。但如果您能熟练使用 Amazon CLI,可以使用这种方法。如果您是学生,我建议您先学会亚马逊云科技管理控制台上的操作,然后学习如何使用 Amazon CLI。
步骤 4:创建自定义视图
对于某些资源类型,您可能需要额外的视图。例如,如果您是一个讲师,您为每个学生在某个区域中预配一个单独的 Lambda 函数,您可能需要视图中仅显示这些资源。
前往 Amazon Resource Explorer 控制台,然后在左侧导航栏中选择 View(视图)。
点击 Create View
- 设置视图名称(例如,filtered-resources)
选择区域。例如, Europe (Ireland) eu-west-1。
选择 Include only resources that match a specified filter
添加查询筛选条件。例如,设置筛选条件为 resourcetype:lambda:function region:eu-west-1,将只返回 eu-west-1 区域中的 Lambda 函数。请参见查询语法,了解更多查询语句。
点击 Create View(创建视图)。
创建视图对话框
- 视图创建需要一些时间才能完成。创建好后,您可以通过以下方式查看视图和资源查询结果:
- 从左侧导航栏中选择 Resource search(资源搜索),然后从 View(视图)下拉列表中选择视图名称。
- 从左侧导航栏中选择 Views(视图),选择所需的视图,然后选择 Explore resources(探索资源)。
注意:创建视图可能需要几分钟到几个小时。具体取决于区域数量和资源数量。即使账户下的资源相对较少,需要一定时间才能完成。
总结
由于您学习使用新服务、进行原型设计和实验,您的亚马逊云科技资源也会增加。就像整理凌乱的房间一样,查找和删除不再使用的资源需要在前期投入一些时间和精力,但从长远来看,账户下不用的资源将会被清理,成本也会降低。
Amazon Resource Explorer 可以帮助您了解您拥有的资源及其所在的位置。这将有助于您定位不再使用的资源,并确定需要清除的资源。
干净整齐
保持亚马逊云科技资源井然有序是云成本优化和财务责任的一个重要组成部分。定期搜索不再需要的资源,删除不再使用的资源,保持资源整洁,使之成为您工作流的一部分。随着时间的推移,一点点的努力会带来显著费用节省,并防止产生额外费用。保持您的云干净整齐!
如果您是学生且有兴趣详细了解亚马逊云科技社区,请访问学生中心。
关于作者
Stephen 是亚马逊云科技的学术性开发人员宣传官,为学生和教学者的云技能之旅提供支持。在不教学、不学习或不整理房间时,Stephen 喜欢和家人一起读科幻小说、写故事、玩游戏。