【问题标题】:create a file at launch of ec2 instance在启动 ec2 实例时创建一个文件
【发布时间】:2019-04-27 05:49:04
【问题描述】:

我的本​​地机器上有一个文件file.txt

我想在 ec2 实例启动时自动创建具有相同内容的相同文件(例如在根目录中)。

create_instances函数的UserData参数可以在实例启动时自动执行脚本:

UserData = '''#/bin/bash
              echo "content" >> /file.txt'''

但是这个脚本会直接在实例中执行,所以它无法知道我本地机器上的file.txt

【问题讨论】:

    标签: python amazon-ec2 boto3


    【解决方案1】:

    您需要问自己“互联网上的计算机如何访问我本地计算机上的file.txt?”

    如果您遵循良好的安全性,答案是:“它不能!”

    相反,请考虑您可以将file.txt 放置在哪里,以便 EC2 实例可以获得访问权限。简单的答案是将其放在 Amazon S3 中,并授予实例访问 Amazon S3 中文件的权限。

    流程如下:

    • 创建(或使用现有的)Amazon S3 存储桶
    • 上传file.txt到桶
    • 启动 EC2 实例时,为其分配一个 IAM 角色,该角色有权访问存储桶中的 file.txt
    • 在用户数据脚本中,将文件从 S3 复制到实例

    例如:

    aws s3 cp s3://my-bucket/file.txt file.txt
    

    该文件随后在 EC2 实例上可用。

    以后,您可以在 S3 存储桶中更新 file.txt。任何新实例都会自动检索此文件的最新版本。

    【讨论】:

      猜你喜欢
      • 2013-12-18
      • 1970-01-01
      • 1970-01-01
      • 2021-10-21
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 2021-04-16
      相关资源
      最近更新 更多