gpt4 book ai didi

amazon-ec2 - 在 boto 中使用新的 LaunchConfiguration 更新 AutoScalingGroup

转载 作者:行者123 更新时间:2023-12-03 13:18:08 25 4
gpt4 key购买 nike

我有一个脚本需要使用新的 LaunchConfiguration 更新命名的 AutoScalingGroup 以用于一些刚刚创建的新 AMI。不幸的是文档不好,我厌倦了反复试验。这是我目前所拥有的:

build_autoscale_name = "build_autoscaling"
build_autoscale_lc = LaunchConfiguration(
...launch config stuff...
, image_id=imid # new AMI
)
as_conn.create_launch_configuration(build_autoscale_lc)
ag = AutoScalingGroup(
group_name=build_autoscale_name
, launch_config=build_autoscale_lc
...other ASG stuff...
)
as_conn.create_auto_scaling_group(ag)

最新的失败方式是:

Launch Configuration by this name already exists

如果我注释掉 create_launch_configuration() 我会得到:

AutoScalingGroup by this name already exists

我看到 AutoScalingGroup 有一个 update 方法;我是否需要 get_all_groups() 然后使用同名的新 LaunchConfiguration 进行更新?或者,如果我每次都创建一个新命名的 LaunchConfiguration 是否重要(即我会遇到一些限制)?

最佳答案

我在尝试更新现有的自动缩放组时遇到了类似的问题,并设法按照您在原始帖子中建议的过程对其进行了排序:使用 get_all_groups() 获取自动缩放组,然后在更新属性后在对象上调用 update()

完整示例:

autoscaling_group_name = 'my-test-asg'

launch_config_name = 'my-test-lc'

launch_config = LaunchConfiguration( name=launch_config_name,
image_id=image_id,
key_name=ssh_key_name,
security_groups=security_groups,
user_data=user_data,
instance_type=instance_type,
associate_public_ip_address=associate_public_ip )

as_group = as_conn.get_all_groups(names=[autoscaling_group_name])[0]

setattr(as_group, launch_config_name, launch_config)

as_group.update()

关于amazon-ec2 - 在 boto 中使用新的 LaunchConfiguration 更新 AutoScalingGroup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17334503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com