【问题标题】:Boto create launch configuration in different VPC with fabric and botoBoto 使用 Fabric 和 boto 在不同的 VPC 中创建启动配置
【发布时间】:2014-07-08 13:32:02
【问题描述】:

我不断收到从我的 boto create_launch_configuration() cmd 中返回的此错误,该 cmd 包含在一个结构任务中。

这是命令:

if user_data != '':
security_groups=list('sg-d73fc5b2')

print "Trying to use this AMI [%s]" % image_ami

lc = LaunchConfiguration(
  name=launch_config_name,
  image_id=image_ami,
  key_name=env.aws_key_name,
  security_groups=security_groups,
  instance_type=instance_type
)

launch_config = autoscale_conn.create_launch_configuration(lc)

这是回应

<ErrorResponse xmlns="http://autoscaling.amazonaws.com/doc/2011-01-01/">
    <Error>
        <Type>Sender</Type>
        <Code>ValidationError</Code>
        <Message>No default VPC for this user</Message>
    </Error>
    <RequestId>4371fa63-e008-11e3-8554-ff532bce5053</RequestId>
</ErrorResponse>

我们禁用了默认 VPC,以尽量减少通过 API 调用应用于 VPC 的错误。我们有多个 VPC 从同一个帐户运行,能够通过 boto 指定 VPC 会很有用。

有没有人知道如何根据每个任务设置此默认 VPC?

【问题讨论】:

  • sec_groups 的值是多少?是安全组名称列表还是安全组 ID 列表?
  • 我稍微编辑了这个例子。如果您现在检查上面的内容,现在应该更容易解释了。
  • 这是您实例化 security_groups 的方式吗?因为这将创建一个字符列表,而不是由一个字符串组成的列表。
  • 你完全正确。我没有意识到它是在创建一个字符列表而不是字符串列表。修复很简单 ['sg-2728228']

标签: python amazon-web-services boto


【解决方案1】:

here 所述,您应该在创建自动伸缩组时指定一个子网。尽管没有说明您必须拥有默认 VPC 才能创建启动配置,但我想说阅读 this。特别是这行:

如果您的 AWS 账户带有默认 VPC,并且您想在默认 VPC 中创建 Auto Scaling 组,请按照...中的说明进行操作

因此,您只需在所需的子网中创建自动缩放组,并为该组使用您的启动配置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-06
    • 2018-03-29
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    • 2014-02-01
    • 2015-05-26
    相关资源
    最近更新 更多