В этом экземпляре экземпляры экземпляров, отличных от Windows, с типом виртуализации "hvm" не поддерживаются: [AWS Cloudformation]

Я пытаюсь создать экземпляр t2.micro ec2 с amazon linux как os, используя cloudformation. Ниже приведен json файл (части, которые имеют значение).

    "FileName" :{
        "Type" : "String",
        "Default" : "cf-file.sh",
        "AllowedValues": [ "cf-file.sh"]
    },
    "InstanceType" : {
      "Description" : "WebServer EC2 instance type",
      "Type" : "String",
      "Default" : "t2.micro",
      "AllowedValues" : ["t2.micro"],
      "ConstraintDescription" : "must be a valid EC2 instance type."
    },

       "AMIID" :{
         "Type": "String",
        "Default":"ami-1ecae776",
        "AllowedValues":["ami-1ecae776"]
    }
  },
  "Resources" : {
    "EC2Instance" : {
      "Type" : "AWS::EC2::Instance",
      "Properties" : {
        "UserData" : {
                "Fn::Base64" : {
                    "Fn::Join" : [ 
                            "", 
                            [
                                "#!/bin/bash\n",
                                "yes y | yum install dos2unix\n",
                                "touch ",{ "Ref" : "FileName" },"\n",
                                "chmod 777 ",{ "Ref" : "FileName" },"\n" 
                            ]
                    ]
                 } 
        },
          "KeyName" : { "Ref" : "KeyName" },
        "ImageId" : { "Ref" : "AMIID" }
      }
    },

Когда я запускаю этот файл, я получаю следующую ошибку

Non-Windows instances with a virtualization type of 'hvm' are currently not supported for this instance type

Я предполагаю, что эта ошибка возникает, когда мы используем тип экземпляра типа t1, но я использую t2.micro. Пожалуйста, объясните причину, почему это так?

Ответы

Ответ 1

" Тип экземпляра" отсутствует в разделе "Свойства" в разделе "Ресурсы". Поэтому он может использовать тип экземпляра по умолчанию (m1.small), который не поддерживает тип виртуализации HVM. Я столкнулся с подобной проблемой, исправил ее, добавив атрибут типа экземпляра. Кроме того, тип экземпляра t2.micro 'не поддерживает корневое устройство экземпляра. Пожалуйста, обратитесь к примерному фрагменту ниже для справки:


"Parameters":{
    "ServerKeyName":{
        "Description" :"key pair to connect to  Server",
        "Type": "AWS::EC2::KeyPair::KeyName"
    },
    "InstanceType" : {
        "Description" : "Type of EC2 instance to launch",
        "Type" : "String",
        "Default" : "t2.micro"
    },
    ....
    ....
}
....
....
"Properties" : {
    "KeyName" : { "Ref" : "ServerKeyName" },

    "Tags" : [
    {
        "Key" : "Name",
        "Value" : "test Server"
    }],

    "ImageId" : { "Ref" : "InstanceAMI" },
    "InstanceType" : { "Ref" : "InstanceType"},
    ....
    ....
    ....
}

Ответ 2

В случае, если кто-то сталкивается с этой ошибкой при попытке создания Packer ami. Убедитесь, что ваш файл шаблона назван с расширением пакета, а не json.

Например, "packer build template.json" терпел неудачу с

Ошибка запуска экземпляра источника: InvalidParameterCombination: экземпляры не-Windows с типом виртуализации 'hvm' в настоящее время не поддерживаются для этого типа экземпляра. код состояния: 400, идентификатор запроса:

В то время как пакетщик build template.packer работает просто отлично.