盐云将EC2服务器启动到错误的子网中

时间:2016-11-12 02:42:15

标签: salt-stack salt-cloud

这真的很奇怪。我正在使用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

到底是怎么回事?

1 个答案:

答案 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进行分组,以便服务器出现在正确的子网中。