我一直在寻找这个任务的解决方案,我找到了我不想要的 CLI 方法。
我只想:
我有一个 S3 Bucket,它有一个私有文件,文件可以是任何图像/zip 文件。
我希望当我启动任何 EC2 实例时,它应该将该文件从 S3 存储桶带到 EC2 实例目录。
为此,我只想使用 EC2 用户数据方法。
Amazon EC2 中的用户数据字段将信息传递到实例上运行的应用程序可以访问的实例。
使用 Amazon 提供的 AMI(例如 Amazon Linux 2)启动的 Amazon EC2 实例包括一个名为 Cloud-Init 的程序,该程序查看用户数据,如果提供了脚本,则在第一次启动实例时运行该脚本。
因此,您可以配置将在首次启动实例时运行的脚本(通过用户数据传递)。该脚本将以root
用户身份运行。您的脚本可以使用AWS 命令行界面 (CLI)从 Amazon S3 复制文件,如下所示:
#!
aws s3 cp s3://my-bucket/foo.txt /home/ec2-user/foo.txt
chown ec2-user foo.txt
请注意,您需要为有权访问存储桶的实例分配一个 IAM 角色。AWS CLI 将这些权限用于文件副本。
您提到您不希望使用 AWS CLI。相反,您可以编写一个使用首选编程语言(例如 Python)调用 Amazon S3 API 的程序,但使用 CLI 要简单得多。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句