【问题标题】:AWS Cross Account movement of data using Lambda使用 Lambda 的 AWS 跨账户数据移动
【发布时间】:2020-08-05 20:19:08
【问题描述】:

我有到达 S3 账户 A 的数据,我想自动复制到 S3 账户 B,但不明白如何在账户 B 的 Lambda 中引用账户 A 中的文件来进行复制。

到目前为止已完成的步骤:

1 账户 B 内联策略添加到引用账户 A S3 存储桶的执行角色

2 账户 B 授予账户 A 调用 Lambda 的权限

3 账户 A 存储桶策略允许 S3 访问角色执行角色账户 B

4 向账户 B Lambda 的账户 A 事件通知(所有 ObjectCredte 事件)


我是否遗漏了一些步骤或在这里,如果没有,我的 Lambda 如何直接引用事件捕获的各个文件?

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-lambda


    【解决方案1】:

    由于 cmets 的更新:

    根据上面的问题,我不确定我是否理解设置,但从架构的角度来看,我将如何处理:

    1. 上传对象时,账户 A 内的 Lambda 函数会被 S3 事件触发。

    2. Lambda 函数从源存储桶中检索上传的对象

    3. Lambda 函数在账户 B 中担任一个角色,该角色授予写入目标存储桶的权限。

    4. Lambda 函数将对象写入目标存储桶。

    你需要的权限是:

    • 账户 A 中 Lambda 函数的执行角色,它 (a) 授予从源存储桶读取的权限,以及 (b) 授予在账户 B 中担任该角色的权限(请参阅下面的下一项)

    • A账户 B 中的跨账户角色,(a) 信任上述执行角色和 (b) 授予写入目标存储桶的权限

    注意:请务必保存授予bucket-owner-full-control 的对象,以便帐户B 有权使用复制的对象。


    如果您想将对象复制到不同 AWS 账户中的存储桶,并且不关心完成复制可能需要长达 15 分钟的时间,那么您无需自己构建任何东西.只需使用Amazon S3 Replication 功能即可。

    复制支持跨对象自动、异步复制 Amazon S3 存储桶。为对象复制配置的存储桶 可以由同一个 AWS 账户拥有,也可以由不同的账户拥有。你可以 在不同 AWS 区域或同一区域内复制对象。

    【讨论】:

    • 非常感谢丹尼斯。但是,潜在的 15 分钟复制时间太长了。我需要一个最多在几分钟内运行的解决方案
    • 我明白了。您的设置对我来说并不完全清楚,所以我真的可以说出缺少什么。我将从架构的角度更新我的答案。
    猜你喜欢
    • 1970-01-01
    • 2016-11-02
    • 2023-02-02
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多