0

新しいインスタンスをスピンアップする次のコードがあります。

conn = boto.ec2.connect_to_region("us-east-1", security_token = "xx", aws_access_key_id= "xx",  aws_secret_access_key= "xx")


security_groups = conn.get_all_security_groups()
for security_group in security_groups:
    if str(security_group)[14:] == "xx":
        conn.run_instances(
                'ami-da2cd5b2',
                key_name='fornax_keypair',
                instance_type='c1.xlarge',
                security_groups=security_group)
    else:
        continue

セキュリティグループが見つかり、エラーが発生します:

TypeError: 'SecurityGroup' object is not iterable

str(security_group) に変更すると、エラーが発生します。

<Response><Errors><Error><Code>InvalidGroup.NotFound</Code><Message>The security groups 'f', 'g', 'd', 'e', 'c', 'n', 'o', 'j', '.', 'i', 'v', 'u', 't', 's', 'r', 'p', '
:', 'y' do not exist</Message></Error></Errors><RequestID>c96afd3c-de3f-4441-be65-c6a85fbe7868</RequestID></Response>

また、すでに確立されている vpc 接続とサブネットに接続をアタッチするにはどうすればよいですか?

4

1 に答える 1

1

security_groupsパラメータ toは、run_instancesセキュリティ グループ名のリストであると想定されています。スカラー文字列値を渡しています。代わりにこれを試してください:

conn.run_instances(
    'ami-da2cd5b2',
    key_name='fornax_keypair,
    instance_type='c1.xlarge',
    security_groups=[security_group])
于 2014-07-17T14:25:59.053 に答える