尝试将多个现有安全组添加到新的ec2中。它似乎不起作用。如果它是globalsg中的一组,那么它将起作用。
globalsg ={
(ec2.SecurityGroup.from_security_group_id(self, "sg01", security_group_id = "sg-xb9b")),
(ec2.SecurityGroup.from_security_group_id(self, "sg02", security_group_id = "sg-x211"))
}
#Webserver 01
web01 = ec2.Instance(
self,
"web01Id",
instance_type = ec2.InstanceType(instance_type_identifier=variables["inst_type"]),
instance_name = "A.APP.PR01",
machine_image = ec2.MachineImage.generic_linux(
{variables["region"]: linux_ami}
),
vpc=vpc,
vpc_subnets = vpc_priv_use1a,
user_data = ec2.UserData.custom(user_data),
security_group= [globalsg]
)
这是我得到的错误
jsii.errors.JSIIError:期望的对象引用,得到了[[{“ $ jsii.byref”:“ @ aws-cdk/core.Resource@10052”}]]
答案 0 :(得分:0)
将globalsg定义为列表,删除字典括号,并且在引用它时不要将其包装在列表中。像这样:
globalsg = [
...
]
...
security_group=globalsg[0]
)
web01.add_security_group(globalsg[1])
实例在构造函数中采用单个安全组。然后,您可以调用add_security_group添加更多内容。