【问题标题】:Does AWS Lambda have the capability to connect to EC2 and S3 in a single lambda function?AWS Lambda 是否能够在单个 lambda 函数中连接到 EC2 和 S3?
【发布时间】:2021-03-01 15:16:48
【问题描述】:

我正在尝试将上传到 S3 存储桶的文件复制到 EC2。现在我们每天都会将多个文件上传到 S3 存储桶。我想使用 lambda 函数,这样如果文件上传到 S3 存储桶,那么 AWS Lambda 应该捕获事件并将相应的文件复制到 EC2。我们怎样才能做到这一点??

AWS lambda 是否能够在单个 lambda 函数中连接 EC2 和 S3??

【问题讨论】:

    标签: amazon-s3 amazon-ec2 aws-lambda


    【解决方案1】:

    Lambda 可以连接到 S3,只要 IAM 权限正确(s3:PutObject 或 s3:GetObject)。至于 EC2,我建议安装一个 EFS to Lambda,并使用与 EC2 相同的 EFS。您真的不想沿着写入 EBS 的路径(即通常与 EC2 关联的存储卷),因为您可能会填满存储,并导致该 EC2 中断。

    如果您已经上传到 S3,我真的不明白为什么您的架构会要求您将其复制到 EC2,而不是允许 EC2 通过实例配置文件访问 S3(但是,嘿,我不是您的架构师)。

    【讨论】:

    • 我应该注意,如果您计划从 S3 Put 事件触发 Lambda,那么您需要创建一个 lambda 权限以允许 S3 事件调用它(如果您在控制台,这一切都是为您完成的(在后台),但是在您不应该访问的 prod 环境中,您需要通过 CFT 或 API 创建该 lambda 权限
    【解决方案2】:

    您可以使用 AWS SSM,只要有文件上传到 s3,lambda 就会在 EC2 内部发出此命令

    $ aws s3 cp <source-bucket> <destination-ec2-path>

    注意,EC2需要安装SSM代理,希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2022-12-18
      • 2018-01-13
      • 2016-06-23
      • 1970-01-01
      • 1970-01-01
      • 2017-01-29
      • 2019-06-04
      • 1970-01-01
      • 2019-11-10
      相关资源
      最近更新 更多