当您的 s3 存储桶达到特定帐户最大限制的 90% 时发出警报或监控

Alert or monitor, when your s3 bucket hits 90% of max limit for the particular account

我们最近达到了 AWS 帐户中 s3 存储桶的最大数量限制。我们开始寻找当我们在帐户中使用 90% 的 s3 存储桶配额时发送警报的东西。但是我们在云观察中找不到这样的指标。此外,我们在云托管中寻找类似的规则,但没有成功。

预期结果:

如果一个帐户的 S3 存储桶帐户限制为 100。

如果桶数达到 90,我们希望发送警报“已使用 90% 的桶配额”。

这种情况可能吗?

您可以设置 Cloudwatch 事件以在每次在 S3 中创建存储桶时(通过 CloudTrail 调用)获取,然后您可以使用它来触发对存储桶进行计数的 lambda 函数,然后将通知发送到SNS 通知任何人或任何事情采取行动。在 Python (boto3) 中,这看起来像:

import boto3

s3 = boto3.client('s3')     
number_of_buckets = len(s3.list_buckets()['Buckets'])
if number_of_buckets >= 90:
   # send an alert via SNS     

除了使用来自 API 的 Cloudwatch 事件之外,您还可以按 cron 计划触发 lambda(例如每分钟一次或每天一次等)

有一项服务名为:Service Quotas。它于 2019 年 6 月 24 日发布。 显然它可以做你想做的事(无法确认,还没试过)。

查看 AWS 服务配额

Service Quotas 控制台可让您快速访问所有商业区域中您账户的 AWS 默认配额值。当您在 Service Quotas 控制台中 select 服务时,您会看到配额以及配额是否可调。应用的配额是覆盖或增加特定配额,超过 AWS 默认值。

请求增加服务配额

对于任何可调整的服务配额,您可以使用服务配额请求增加配额。要请求增加配额,只需在控制台中 select 服务和特定配额,然后选择请求增加配额。您还可以使用 API 或命令行界面 (CLI) 工具来请求增加服务配额。

查看当前利用率

如果您的帐户已激活一段时间并且资源已被使用,您可以查看配额利用率图表。

为接近配额设置 Amazon CloudWatch 警报

对于支持的服务,您可以通过配置 CloudWatch 警报来监控使用情况并在接近配额时提醒您来管理您的配额。

https://aws.amazon.com/about-aws/whats-new/2019/06/introducing-service-quotas-view-and-manage-quotas-for-aws-services-from-one-location/

用户指南:

https://docs.aws.amazon.com/servicequotas/latest/userguide/ServiceQuotasUserGuide.pdf

您不想增加 S3 存储桶限制吗?有一个有用的 account service limit policy 将请求将您的 S3 存储桶限制提高 25% 或您的策略中定义的任何百分比。

policies:
  - name: account-service-limits
    resource: account
    filters:
      - type: service-limit
        services:
          - S3
        threshold: 90
    actions:
      - type: request-limit-increase
        percent-increase: 25