AWS:如何使用 Boto3 从实例创建公共 AMI?

Posted

技术标签:

【中文标题】AWS:如何使用 Boto3 从实例创建公共 AMI?【英文标题】:AWS: How to create a public AMI from instance using Boto3? 【发布时间】:2020-01-22 18:16:12 【问题描述】:

我能够在文档中找到有关如何从正在运行的实例创建 AMI 映像的信息。但我无法将其更改为公开可见。

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html?highlight=create%20image#EC2.Instance.create_image

【问题讨论】:

【参考方案1】:

如果您查看 CLI 示例,您可以通过以下命令执行此操作:

aws ec2 modify-image-attribute --image-id ami-0abcdef1234567890 --launch-permission "Add=[Group=all]"

所以如果你想使用 Lambda 来实现这一点,你需要使用 modify_attribute, 资源操作。

[1]https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html?highlight=create%20image#EC2.Image.modify_attribute

【讨论】:

虽然我一直在寻找 boto3 答案,但文档链接为我指明了正确的方向,谢谢!对于那些寻找 boto3 答案的人 :: 获取图像资源,然后修改启动权限... imgr=resource.Image(imageid) imgr.modify_attribute(LaunchPermission='Add':['Group':'all' ])

以上是关于AWS:如何使用 Boto3 从实例创建公共 AMI?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Boto3 get_query_results 方法从 AWS Athena 创建数据框

AWS RDS极光 - 通过boto3或aws cli创建跨区域读取副本

AWS lambda 使用启动模板和 boto3 创建 ec2 实例,仅使用所需的权限

使用 BOTO3 检索 EC2 实例的公共 dns

AWS ElasticBeanstalk boto3 - 创建环境时如何选择容量?

AWS ECS - 如何将任务的执行角色传递给 Boto3?