Назад | Перейти на главную страницу

Boto3: Как установить идентификаторы группы безопасности по умолчанию?

Я пытаюсь установить идентификаторы групп безопасности при создании экземпляра EC2. Если у меня есть список идентификаторов конкретной группы безопасности, я могу сделать это:

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)

Если у меня нет идентификаторов групп безопасности, я бы хотел использовать идентификаторы групп безопасности по умолчанию, которые связаны с launch-wizard-# группа безопасности, если я не пройду SecurityGroupIds аргумент в ec2.create_instances. Есть ли способ передать что-то SecurityGroupIds аргумент, который говорит boto3 использовать идентификатор группы безопасности по умолчанию? Более конкретно:

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, который можно назначить экземплярам, ​​но это не очень полезно. Например. он не разрешает входящий доступ извне.

Я рекомендую не полагаться на какие-либо неявные значения по умолчанию. Лучше создать новый SG в вашем скрипте boto3 перед созданием экземпляра, а затем назначить его экземпляру.

Видеть Работа с группами безопасности в boto3 для подробностей.

Надеюсь, это поможет :)