2016-09-21 8 views
0

複数のEBSドライブが必要なEC2インスタンスをいくつかプロビジョニングしようとしています。私はBlockDeviceMappingsを通してルートボリュームと他の4つのボリュームを定義しようとしています。AWS :: EC2 :: Instanceは起動を拒否します。ルートとして誤ったドライブをマウントしていますか?

問題: 以下のコードは、私がオンラインで見た例に準拠しています。しかし、Windowsが起動するとすぐに終了します。 EC2コンソール(screenshot)を見ると、インスタンスに7つのEBSボリュームが接続されていて(5の代わりに)、/ dev/xdaが/ dev/sda1ではなくrootに設定されていることがわかります。私はすべての余分なドライブをドロップすると、ちょうど1枚のディスク

"BlockDeviceMappings": [ 
     { 
     "DeviceName": "/dev/sda1", 
     "Ebs" : {"VolumeSize": "60"} 
     } 
    ], 

のブロックデバイスマッピングを行うにも紛らわしい

"Mappings" : { 
    "AWSRegionToAMI" : { 
     "us-east-1"  : { "Windows2012R2" : "ami-5d1b984a" }, 
     "us-west-1"  : { "Windows2012R2" : "ami-07713767" }, 
     "us-west-2"  : { "Windows2012R2" : "ami-241bd844" } 
    }, 
    "VolumeSize" : { 
     "DataDrive"  : { "Size" : "50" }, 
     "LogDrive"  : { "Size" : "50" }, 
     "TempDrive"  : { "Size" : "400" }, 
     "BackupDrive" : { "Size" : "100" } 
    }, 
    "stackmap" : { 
     "sqlha" : { 
     "Name": "MS SQL Server 2014 Always On", 
     "chefjson" : "https://s3.amazonaws.com/[redacted]", 
     "os" : "win", 
     "bootstrapurl" : "https://s3.amazonaws.com/[redacted]" 
     } 
    } 
    }, 

"WSFCNode1": { 
    "Type": "AWS::EC2::Instance", 
    "Properties": { 
    "ImageId" : { "Fn::FindInMap" : [ "AWSRegionToAMI", { "Ref" : "AWS::Region" }, "Windows2012R2" ] }, 
    "InstanceType": { "Ref": "InstanceType" }, 
    "EbsOptimized": "true", 
    "NetworkInterfaces": [ 
     { 
     "DeleteOnTermination": "true", 
     "DeviceIndex": 0, 
     "SubnetId": { "Ref": "PrivateSubnet1ID" }, 
     "SecondaryPrivateIpAddressCount": 2, 
     "GroupSet": [ 
      { "Ref": "WSFCSecurityGroup" }, 
      { "Ref": "WSFCClientSecurityGroup" } 
     ] 
     } 
    ], 
    "BlockDeviceMappings": [ 
     { 
     "DeviceName": "/dev/sda1", 
     "Ebs" : {"VolumeSize": "60"} 
     }, 
     { 
     "DeviceName": "/dev/xvdb", 
     "Ebs" : {"VolumeSize": { "Fn::FindInMap" : [ "VolumeSize", "DataDrive", "Size" ]} } 
     }, 
     { 
     "DeviceName": "/dev/xvdc", 
     "Ebs" : {"VolumeSize": { "Fn::FindInMap" : [ "VolumeSize", "LogDrive", "Size" ]} } 
     }, 
     { 
     "DeviceName": "/dev/xvdd", 
     "Ebs" : {"VolumeSize": { "Fn::FindInMap" : [ "VolumeSize", "TempDrive", "Size" ]} } 
     }, 
     { 
     "DeviceName": "/dev/xvde", 
     "Ebs" : {"VolumeSize": { "Fn::FindInMap" : [ "VolumeSize", "BackupDrive", "Size" ]} } 
     } 
    ], 
    "KeyName": { "Ref": "KeyPairName" }, 
    "UserData"  : { "Fn::Base64" : { "Fn::Join" : ["", [ 
     "<powershell>\n", 

     "# Disable UAC and allow scripts to run\n", 
     "New-ItemProperty -Path HKLM:Software\\Microsoft\\Windows\\CurrentVersion\\policies\\system -Name EnableLUA -PropertyType DWord -Value 0 -Force\n", 
     "Set-ExecutionPolicy Unrestricted -force\n", 
     "c:\\windows\\System32\\WindowsPowershell\\v1.0\\powershell.exe -noninteractive -noprofile Set-ExecutionPolicy unrestricted -force\n", 
     "c:\\windows\\syswow64\\windowspowershell\\v1.0\\powershell.exe -noninteractive -noprofile Set-ExecutionPolicy unrestricted -force\n", 

     "#Change TimeZone\n", 
     "tzutil /s ", {"Ref" : "Timezone"}, "\n", 

     "#Run Bootstrap PS1\n", 
     "$newname = '", { "Fn::Join" : ["", [{"Ref" : "Environment"}, {"Ref" : "Location"}, {"Ref" : "Stack"}, {"Ref" : "Role"} ]]},"'\n", 
     "$region = '", {"Ref" : "VPCRegion"}, "'\n", 
     "$role = '", {"Ref" : "Role"}, "'\n", 
     "$chef_rb = '", { "Fn::FindInMap" : [ "stackmap", { "Ref" : "Role" }, "chefjson"]}, "'\n", 
     "mkdir 'c:\\temp' -force\n", 
     "(new-object System.Net.WebClient).DownloadFile('https://s3.amazonaws.com/[redacted]', 'c:\\temp\\bootstrap.ps1')\n", 
     "powershell c:\\temp\\bootstrap.ps1 -newname $newname -region $region -role $role -chef_rb $chef_rb -logfile c:\\temp\\bootstrap.log -verbose true\n", 

     "#Reboot if needed\n", 
     "Start-Sleep -s 10\n", 
     "Restart-Computer\n", 
     "mkdir 'c:\\temp\\cf_reboot_cmd_ran' -force\n", 
     "shutdown -r\n", 
     "mkdir 'c:\\temp\\cf_shut_cmd_ran' -force\n", 
     "Start-Sleep -s 10\n", 
     "mkdir 'c:\\temp\\cf_ran_again' -force\n", 

     "</powershell>" 
     ] ] } 
    }, 
    "Tags": [ 
     { "Key": "Name", "Value": "SQL Node 1" } 
    ] 
    } 
}, 

、...私はまだ(三巻で終わる、と間違ったもの/ dev/xda)をrootとして割り当てます。 Screenshot

これはWindowsのものですか?ルート(またはこの場合はC:)として正しくマウントするには、ブロックデバイスのマッピングがどのように見える必要がありますか?

答えて

0

Nevermind。私が選んだAMIに根本的な問題がありました。適切なWindows AMIを選択すると、すべてが完全に機能しました。

この問題を抱えている人は、AMIの選択をもう一度確認してください。

関連する問題