Boto3 如何将安全组添加到 ec2 实例

Boto3 How to add a security group to an ec2 instance

ec2 = boto3.resource('ec2')

instance = ec2.create_instances(
 ImageId='ami-0fc970315c2d38f01',
 MinCount=1,
 MaxCount=1,
 InstanceType='t2.nano')
print(instance[0].id)

instance = ec2.create_security_group(GroupName='MyWebServer', Description = 'WebServer', VpcId='vpc-0dea879f34afff60d') 

这是我目前所拥有的,它为我创建了实例和安全组,但没有将两者加在一起。任何帮助将不胜感激

这只是用安全组覆盖 instance 变量:

instance = ec2.create_security_group(GroupName='MyWebServer', Description = 'WebServer', VpcId='vpc-0dea879f34afff60d') 

您的代码中没有任何内容试图将安全组分配给 EC2 实例。最简单的方法是先创建安全组,然后将其包含在 create_instances 调用中,如下所示:

sg = ec2.create_security_group(GroupName='MyWebServer', Description = 'WebServer', VpcId='vpc-0dea879f34afff60d')

instance = ec2.create_instances(
 ImageId='ami-0fc970315c2d38f01',
 MinCount=1,
 MaxCount=1,
 InstanceType='t2.nano',
 SecurityGroups=[ sg.group_id ] 
)