这真的很奇怪。我正在使用salt-cloud将一些Windows 2012服务器启动到EC2中。而且我使用此个人资料:
ec2_private_win_app1:
provider: company-nonpod-us-east-1
image: ami-xxxxxx
size: c4.large
network_interfaces:
- DeviceIndex: 0
PrivateIpAddresses:
- Primary: True
#auto assign public ip (not EIP)
AssociatePublicIpAddress: False
SubnetId: subnet-A
SecurityGroupId: sg-xxxxxx
#block_device_mappings:
# - DeviceName: /dev/sda1
# Ebs.VolumeSize: 120
# Ebs.VolumeType: gp2
# - DeviceName: /dev/sdf
# Ebs.VolumeSize: 100
# Ebs.VolumeType: gp2
tag: {'Engagement': '2112254190125', 'Owner': 'Tim', 'Name': 'production'}
并发出此命令:
salt-cloud -p ec2_private_win_app1 USAB00005
生成的服务器最终位于AWS的此子网中:
Subnet ID: subnet-B
我正在使用salt-cloud版本:salt-cloud 2016.9.0-410-gdedfd82
在运行的服务器上:CentOS Linux release 7.2.1511
到底是怎么回事?
答案 0 :(得分:0)
这是一个yaml格式化问题。我通过在线yaml解析器运行yaml,并且能够纠正问题:
ec2_private_win_app1:
provider: company-nonpod-us-east-1
image: ami-xxxxx
size: c4.large
ssh_username: root
network_interfaces:
- DeviceIndex: 0
SubnetId: subnet-xxxxxx
PrivateIpAddresses:
- Primary: True
#auto assign public ip (not EIP)
AssociatePublicIpAddress: False
SecurityGroupId:
- sg-xxxxxx
基本上,我必须在network_interfaces部分对子网ID进行分组,以便服务器出现在正确的子网中。