у меня ниже 2 стеков
1) Стек 1 - это сетевой стек, определяет vpc, подсети и группу безопасности.
2) Стек 2 - этот стек определяет экземпляр ec2
Экспорт сетевого стека после
WebServerSG:
Description : "Web Server Security Group"
Value: !GetAtt InstanceSecurityGroup.GroupId
Export:
Name: !Sub ${AWS::StackName}-WebServerSG
Стек экземпляра ec2 принимает параметр "NetworkStack" и использует сетевой стек для ссылки на группу безопасности следующим образом
"Resources" : {
"WebServerInstance": {
"Type": "AWS::EC2::Instance",
"Properties": {
"ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" },
{ "Fn::FindInMap" : [ "AWSInstanceType2Arch", { "Ref" : "InstanceType" }, "Arch" ] } ] },
"InstanceType" : { "Ref" : "InstanceType" },
"SubnetId" : {"Fn::ImportValue" : {"Fn::Sub" : "${NetworkStack}-SubnetADMZ"}},
"SecurityGroupIds" : {"Fn::ImportValue" : {"Fn::Sub" : "${NetworkStack}-WebServerSG"}},
"KeyName" : { "Ref" : "KeyName" }
}
}
},
Стек экземпляра ec2 завершается с ошибкой «Значение свойства SecurityGroupIds должно иметь тип List of String»
Я пытался использовать SecurityGroups вместо этого, но получил похожую ошибку