Назад | Перейти на главную страницу

Том Windows EBS из моментального снимка при запуске экземпляра находится в автономном режиме

Использование Powershell для запуска машины Server 2012 R2. Я могу запустить экземпляр из стандартного AMI Server 2012R2 с определенным новым томом EBS для диска d: и при загрузке он находится в сети и отлично работает.

Если я возьму тот же код и просто добавлю создание тома из моментального снимка, он загрузится, том есть, но отображается в автономном режиме. Оказавшись в диспетчере дисков, отметьте его онлайн, и все снова будет хорошо, и у меня есть диск D :.

Я пробовал несколько разных способов создать моментальный снимок (запущен, отключен, отключен, экземпляр остановлен). Кажется, ничего не меняет.

РЕДАКТИРОВАТЬ: также попытался запустить экземпляр без тома, подготовить том и подключить его к экземпляру. Те же результаты

Мысли?

Спасибо

Кулачок

Код, который я использую:

#configure D:\ drive
$Volume2 = New-Object Amazon.EC2.Model.EbsBlockDevice
$Volume2.DeleteOnTermination = $True
$Volume2.VolumeSize = 10
$Volume2.VolumeType = "gp2"
$Volume2.SnapshotId = "snap-xxxxxx"
#and map it 
$Mapping2 = New-Object Amazon.EC2.Model.BlockDeviceMapping
$Mapping2.DeviceName = 'xvdf'
$Mapping2.Ebs = $Volume2
#create the instance
$NewInstance = New-EC2Instance -ImageId $ImageId -MinCount 1 -MaxCount 1 -InstanceType "t2.medium" -SecurityGroupIds xxxx  -SubnetId xxxxx -UserData $UserdataBase64Encoded -KeyName XXX -AvailabilityZone us-east-1c  -BlockDeviceMapping $Mapping2

Стандартные серверы для Windows Server 2012 имеют политику по умолчанию OFF-LINE для нового хранилища, которое он находит для подключения. Вы можете изменить эту политику, но это больше не будет «акцией». «Стандартный сервер» не имеет диска D :, так что вам придется что-то делать.

В какой-то момент вам придется выполнить код из вашего "стандартного сервера" + диска D :.

В этом примере диск, который находится в автономном режиме, переводит в оперативный режим.

  • Windows PowerShell PS C:> Set-Disk -Number 5 -IsOffline $ False

Возникает вопрос, как выполнить этот код с «стандартного сервера»? Amazon Стандартные серверы Windows AMI содержат дополнительную службу, установленную Amazon Web Services, - службу EC2Config. «Пользовательские данные» EC2Config позволяют вставлять сценарии в метаданные экземпляра во время первого запуска. По умолчанию во всех AMI Amazon включено выполнение пользовательских данных при начальной загрузке.

Подробнее см. Настройка экземпляра Windows с помощью службы EC2Config

Используя Packer для создания AMI, у меня была та же проблема - когда я запускал AMI, созданный Packer, все добавленные диски были отключены.

Я исправил это, добавив к существующему провайдеру сценариев PowerShell в Packer следующую строку:

Set-StorageSetting -NewDiskPolicy OnlineAll

Поскольку это среда, чувствительная к безопасности, возможно, сканирование безопасности обнаружит это и пометит это как нарушение STIG или что-то в этом роде, но это решит проблему.