为Windows服务器启动新实例时附加可用的EBS卷

时间:2017-09-28 19:29:30

标签: powershell amazon-web-services

我正在使用下面的脚本在实例启动时重新附加“可用”卷但不知何故它不起作用。我已经附加了我的云形成模板的片段。 TQ

Under LaunchConfiguration I am creating the EBS volumes
      BlockDeviceMappings:
        - DeviceName: /dev/sda1
          Ebs:
            VolumeType: gp2            
            VolumeSize: '100'
        - DeviceName: /dev/sdb
          Ebs:
            DeleteOnTermination: "false"            
            VolumeSize: '50'
            VolumeType: gp2                 
        - DeviceName: /dev/sdc
          Ebs:
            DeleteOnTermination: "false"            
            VolumeSize: '50'
            VolumeType: gp2       


Here I am calling those volume to reattach
    UserData: !Base64 
        'Fn::Join':
          - ''
          - - |
              <script>
            - 'cfn-init.exe -v -c config -s '
            - !Ref 'AWS::StackId'
            - ' -r ServerLaunchConfig'
            - ' --region '
            - !Ref 'AWS::Region'
            - |+

            - |
              </script>
               |
              <powershell>
                    "$instanceId = Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/instance-id \n";
        $available = Get-EC2Volume -Filter @{ Name="status"; Values="available" }
        Foreach ($instance in $available) {
	ec2-attach-volume --instance-id $instanceId /dev/sdb --device vol-VVVVVVVV
	ec2-attach-volume --instance-id $instanceId /dev/sdc --device vol-VVVVVVVV
               }
              </powershell>

1 个答案:

答案 0 :(得分:1)

我看到以下问题:

  1. 您未在ec2-attach-volume命令中引用EBS卷ID。
  2. 您应该每次只通过循环附加一个EBS卷(您已经连接两次)
  3. 您应该遍历设备和卷:第一次使用/dev/sdb,下次通过/dev/sdc等等。