我每周使用 AWS 数据管道将 dynamodb 表自动备份到 S3。
自两周前以来,我所有的数据管道都已停止工作。
经过一番调查,我发现 EMR 因“验证错误”和“因错误而终止,没有为用户帐户找到活动密钥”而失败。结果所有作业都超时。
任何想法这意味着什么?
我排除了对允许与 EMR 一起使用的即时类型列表的更改。
此外,我尝试阅读 EMR 日志,但似乎没有达到创建日志的目的(或者我在错误的地方寻找它们)。
我每周使用 AWS 数据管道将 dynamodb 表自动备份到 S3。
自两周前以来,我所有的数据管道都已停止工作。
经过一番调查,我发现 EMR 因“验证错误”和“因错误而终止,没有为用户帐户找到活动密钥”而失败。结果所有作业都超时。
任何想法这意味着什么?
我排除了对允许与 EMR 一起使用的即时类型列表的更改。
此外,我尝试阅读 EMR 日志,但似乎没有达到创建日志的目的(或者我在错误的地方寻找它们)。
用于启动 EMR 的 AWS 帐户有密钥(访问密钥和 sec 密钥)您能否检查这些密钥是否被删除?您需要登录 AWS 控制台并检查您的账户是否存在密钥。
如果没有重新创建密钥并在启动 EMR 的代码中使用。
基本上@Sandesh Deshmane 正确回答了我的问题。
为了将来的参考和清晰,我也在这里解释了情况:
发生的事情是,最初我使用 root 帐户和控制台来创建管道。后来我决定遵循最佳实践并删除了我的根帐户密钥。
几天后(我的管道计划每周运行一次),当它们都失败时,我没有建立连接并想到了其他问题。
我认为避免这种情况的一种好方法(如果您想使用控制台)是使用 IAM 帐户登录控制台并创建管道。
或者,您可以使用命令行工具使用 IAM 凭证来创建它们。
现在真正的解决方案(我认为它在首次引入控制台时不可用)是在您在控制台中创建管道时在第一页中分配正确的 IAM 角色。在“安全/访问”部分将其从默认更改为自定义并在那里选择正确的角色。