【发布时间】:2020-10-09 12:54:49
【问题描述】:
我正在使用以下模板来配置资源:
Resources:
PrimaryADC:
Type: 'AWS::EC2::Instance'
Properties:
ImageId: "{{ ami_id }}"
InstanceType: "{{ instance_type }}"
NetworkInterfaces:
- AssociatePublicIpAddress: true
DeleteOnTermination: true
Description: "Mgmt interface"
SubnetId: "{{ mgmt_subnet_id }}"
DeviceIndex: 0
PrimaryADCClientNic:
Type: 'AWS::EC2::NetworkInterface'
Properties:
Description: "Client interface"
SubnetId: "{{ client_subnet_id }}"
DependsOn: PrimaryADC
PrimaryADCServerNic:
Type: 'AWS::EC2::NetworkInterface'
Properties:
Description: "Server interface"
SubnetId: "{{ server_subnet_id }}"
DependsOn: PrimaryADC
ClinetNetworkInterfaceAttachment:
Type: AWS::EC2::NetworkInterfaceAttachment
Properties:
DeleteOnTermination: true
InstanceId:
Ref: PrimaryADC
NetworkInterfaceId:
Ref: PrimaryADCClientNic
DeviceIndex: 1
ServerNetworkInterfaceAttachment:
Type: AWS::EC2::NetworkInterfaceAttachment
Properties:
DeleteOnTermination: true
InstanceId:
Ref: PrimaryADC
NetworkInterfaceId:
Ref: PrimaryADCServerNic
DeviceIndex: 2
Outputs:
instanceid:
Value:
Ref: PrimaryADC
当我删除堆栈时,它总是首先尝试删除额外的两个网络接口。这会引发错误,因为它们仍将附加到实例。我尝试为接口提供DependsOn,但这不起作用。在尝试删除任何附加的网络接口(客户端和服务器)之前,如何确保删除实例。
我正在使用 boto3 创建堆栈。并通过 GUI 删除。
堆栈部署的json文件:
{
"Resources":{
"PrimaryADC":{
"Properties":{
"InstanceType":"c5.xlarge",
"NetworkInterfaces":[
{
"AssociatePublicIpAddress":True,
"SubnetId":"**********",
"Description":"Mgmt interface",
"DeviceIndex":0,
"DeleteOnTermination":True
}
],
"ImageId":"*************"
},
"Type":"AWS::EC2::Instance"
},
"PrimaryADCServerNic":{
"Properties":{
"SubnetId":"******************",
"Description":"Server interface"
},
"Type":"AWS::EC2::NetworkInterface",
"DependsOn":"PrimaryADC"
},
"ServerNetworkInterfaceAttachment":{
"Properties":{
"InstanceId":{
"Ref":"PrimaryADC"
},
"NetworkInterfaceId":{
"Ref":"PrimaryADCServerNic"
},
"DeviceIndex":2,
"DeleteOnTermination":True
},
"Type":"AWS::EC2::NetworkInterfaceAttachment"
},
"ClinetNetworkInterfaceAttachment":{
"Properties":{
"InstanceId":{
"Ref":"PrimaryADC"
},
"NetworkInterfaceId":{
"Ref":"PrimaryADCClientNic"
},
"DeviceIndex":1,
"DeleteOnTermination":True
},
"Type":"AWS::EC2::NetworkInterfaceAttachment"
},
"PrimaryADCClientNic":{
"Properties":{
"SubnetId":"*************",
"Description":"Client interface"
},
"Type":"AWS::EC2::NetworkInterface",
"DependsOn":"PrimaryADC"
}
},
"Outputs":{
"instanceid":{
"Value":{
"Ref":"PrimaryADC"
}
}
}
}
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-cloudformation