Amazon-Web-Services
Boto3:如何將安全組 ID 設置為預設值?
我正在嘗試在創建 EC2 實例時設置安全組 ID。如果我有一個特定的安全組 ID 列表,我可以這樣做:
boto3.resource(resource, region_name=self.region) ec2 = self.resource instances = ec2.create_instances( ImageId=image_id, MinCount=minCount, MaxCount=maxCount, InstanceType=instance_type, SubnetId=subnet_id, KeyName=key_pair, SecurityGroupIds=security_groups)
如果我沒有安全組 ID,我想使用與安全組相關聯的預設安全組 ID,
launch-wizard-#
如果我沒有SecurityGroupIds
在ec2.create_instances
. 有沒有辦法將一些東西傳遞給SecurityGroupIds
告訴 boto3 使用預設安全組 ID 的參數?進一步來說:instances = ec2.create_instances( ImageId=image_id, MinCount=minCount, MaxCount=maxCount, InstanceType=instance_type, SubnetId=subnet_id, KeyName=key_pair, SecurityGroupIds= <"What do I pass here so that boto3 takes in defaults?">)
這樣我就得到了與下面相同的行為(使用前面的程式碼片段):
instances = ec2.create_instances( ImageId=image_id, MinCount=minCount, MaxCount=maxCount, InstanceType=instance_type, SubnetId=subnet_id, KeyName=key_pair)
這些
launch-wizard-#
SG 是由控制台啟動嚮導創建的,無論如何它們都不是“預設”的。另一方面,每個 VPC 都有一個
default
可以分配給實例的 SG,但它不是很有用。例如,它不允許來自外部的入站訪問。我建議不要依賴任何隱式預設值。最好在創建實例之前在您的 boto3 腳本中創建一個新的 SG,然後將其分配給實例。
有關詳細資訊,請參閱在 boto3中使用安全組。