我使用Java环境和默认设置通过Elastic Beanstalk Web界面创建了一个应用程序。我的Java webapp很简单,不会调用任何AWS服务。
在创建应用程序期间,Beanstalk还创建了一个S3存储桶,名称如下所示:elasticbeanstalk-eu-central-1-123456789098
。我知道这个存储桶是存储应用程序文件和元数据所必需的。我没有打开将应用程序日志发送到S3。
几个小时后,我看到我的S3免费计划限制用完了。使用情况报告显示,每小时有大约6500个ListBucket
个请求和~6500个ReadLocation
个请求。我启用了桶日志记录,因此这两种类型的请求如下所示:
[some id] elasticbeanstalk-eu-central-1-123456789098 [31/Jan/2017:17:01:25 +0000] x.x.x.x [some id] 61B7B2192DE0457C REST.GET.LOCATION - "GET /?location HTTP/1.1" 200 - 140 - 9 - "-" "ElasticBeanstalk-eu-central-1, aws-internal/3" -
[some id] elasticbeanstalk-eu-central-1-123456789098 [31/Jan/2017:17:01:25 +0000] x.x.x.x [some id] 8C906FEA9C4DE449 REST.GET.BUCKET - "GET /?prefix=resources%2Ftemplates%2F&max-keys=100&encoding-type=url HTTP/1.1" 200 - 319 - 10 10 "-" "ElasticBeanstalk-eu-central-1, aws-internal/3" -
如果这很重要,则存储区中没有templates
内的文件或目录resources
。
我尝试重新启动,重新部署,重新创建所涉及的所有内容。即使我删除应用程序,EC2实例,S3存储桶并简单地重新创建具有相同名称的S3存储桶,请求仍会继续。我的帐户上没有其他应用程序,只有2个存储桶和Route53区域用于静态网站。
我不仅要阻止这一点,还要了解它为什么会发生以及如何在将来阻止这些事情发生。