我一直在玩亚马逊 S3第一次看到有点儿喜欢,因为与我的潜在用例相关的各种原因。
我们有多个(在线)远程服务器盒,用于收集传感器数据,这些数据每隔一小时左右定期上传一次(rsync'ed)到 VPS 服务器。远程服务器盒的数量正在定期增加,预计还会继续增加(数百个)。服务器在地理上分散。服务器也是自动构建的,因此使用标准工具通用,而不是根据位置定制。每天的数据有数百个文件。
我想避免这样的情况:每次达到 VPS 容量限制后,无论 N 是多少,都需要配置更多的 VPS 存储或额外的服务器。
远程服务器永远不能被认为是完全安全的,因为我们不知道当我们不注意的时候它们会发生什么。我们当前的解决方案有点幼稚,只是将入站 rsync 限制在已知的 mac 地址目录和已知的公钥上。我知道这里面有很多漏洞。
假设我编写或使用如下脚本s3命令/s3sync 潜在地推送文件。
我是否需要管理数百个访问密钥并对每个服务器进行定制以包含这些密钥(可行,但密钥管理变得噩梦般的?)
我是否可以以某种方式限制入站连接(例如通过 mac 地址),或者仅允许运行脚本的任何客户端进行只写?(如果有人进入系统,我可以处理大量数据吗?)
由于存储桶限制,每个远程机器都有一个存储桶似乎不可行?
我不认为我想使用单个通用密钥,因为如果一台机器被攻破,那么恶意黑客就有可能访问文件存储密钥并开始删除所有客户端,对吗?
我希望我的经验不足不会让我对可能建议的其他解决方案视而不见!
我读过很多人们使用 S3 进行备份的例子,但实际上找不到有关此类数据收集的任何信息,除非我的谷歌术语是错误的......
我在这里写的已经超出了应该写的范围,也许可以这样总结:在理想情况下,我只想让我们的一名技术人员在某个位置安装一个新的远程服务器,然后它会自动开始将文件发送回家,几乎不需要干预,并将风险降至最低?这是白日梦还是切实可行的?
TIA,艾奇
编辑1: 也许回答自己的问题不太礼貌,但是……
经过进一步的谷歌搜索和浏览后,似乎(新的?)身份和访问管理(我是) 可能是我需要的,它说“... IAM 消除了共享密码或访问密钥的需要,并可以轻松地根据需要启用或禁用用户的访问......”我可能会开始考虑使用 hw mac 地址作为某种唯一用户,并使用某种形式的哈希操作系统作为密码,以便可以通过编程方式设置它。
答案1
没错,你需要使用 IAMhttp://aws.amazon.com/documentation/iam/处理每个服务器的凭证。至于存储桶,存储桶数量限制为 100 个。使用多个存储桶的一种方法是每个区域都有一个存储桶,如果服务器受到威胁,您可以减少损失。另一种选择是让服务器每晚上传到存储桶 A,并有一个单独的安全流程将数据从存储桶 A 移动到存储桶 B(您只能访问此存储桶)。如果服务器受到威胁,您可以执行该流程的最后一次运行。