0
votes

I wrote a simple cloudformation template that should create an EC2 isntance on AWS.

Cloudformation template gives " Non-Windows instances with a virtualization type of 'hvm' are currently not supported for this instance type." I looked up on this forum and they said "InstanceType" is missing. I am brand new to Cloud formation . Where should I put "InstanceTyp"? thanks much { "AWSTemplateFormatVersion" : "2010-09-09",

       "Description" : "AWS CloudFormation Sample Template EC2InstanceSample: Create an Amazon EC2 instance running the Amazon Linux AMI. The AMI is chosen based on the region in which the stack is run. This example uses the default security group, so to SSH to the new instance using the KeyPair you enter, you will need to have port 22 open in your default security group. **WARNING** This template an Amazon EC2 instances. You will be billed for the AWS resources used if you create a stack from this template.",

   "Parameters" : {
       "KeyName": {
        "Description" : "Name of an existing EC2 KeyPair ",
         "Type": "String",
         "MinLength": "1",
         "MaxLength": "255",
         "AllowedPattern" : "[\\x20-\\x7E]*",
         "ConstraintDescription" : "can contain only ASCII characters."
      }
    },

     "Mappings" : {
     "RegionMap" : {
            "us-east-1"      : { "AMI" : "ami-6df1e514" },
            "us-west-1"      : { "AMI" : "ami-6df1e514" },
            "us-west-2"      : { "AMI" : "ami-6df1e514" },
             "eu-west-1"      : { "AMI" : "ami-6df1e514" },
            "sa-east-1"      : { "AMI" : "ami-3e3be423" },
            "ap-southeast-1" : { "AMI" : "ami-74dda626" },
             "ap-southeast-2" : { "AMI" : "ami-b3990e89" },
             "ap-northeast-1" : { "AMI" : "ami-dcfa4edd" }
            }
           },

      "Resources" : {
         "Ec2Instance" : {
            "Type" : "AWS::EC2::Instance",
            "Properties" : {
            "KeyName" : { "Ref" : "KeyName" },
            "ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" :    "AWS::Region" }, "AMI" ]},
           "UserData" : { "Fn::Base64" : "80" }
       }
      }
    },

     "Outputs" : {
"InstanceId" : {
  "Description" : "InstanceId of the newly created EC2 instance",
  "Value" : { "Ref" : "Ec2Instance" }
},
"AZ" : {
  "Description" : "Availability Zone of the newly created EC2 instance",
  "Value" : { "Fn::GetAtt" : [ "Ec2Instance", "AvailabilityZone" ] }
},
"PublicIP" : {
  "Description" : "Public IP address of the newly created EC2 instance",
  "Value" : { "Fn::GetAtt" : [ "Ec2Instance", "PublicIp" ] }
},
"PrivateIP" : {
  "Description" : "Private IP address of the newly created EC2 instance",
  "Value" : { "Fn::GetAtt" : [ "Ec2Instance", "PrivateIp" ] }
},
"PublicDNS" : {
  "Description" : "Public DNSName of the newly created EC2 instance",
  "Value" : { "Fn::GetAtt" : [ "Ec2Instance", "PublicDnsName" ] }
},
"PrivateDNS" : {
  "Description" : "Private DNSName of the newly created EC2 instance",
  "Value" : { "Fn::GetAtt" : [ "Ec2Instance", "PrivateDnsName" ] }
  }
  }
 }
1
I searched up before I posted and found a similar question. But I don't know how to implement what was mentioned in the answer.Jason

1 Answers

1
votes

I see you are not specifying the instance type in CF. The default type is m3.medium. Looks like in the region you are using m3.medium is not supported for hvm type AMI.

One way to specify the instance type: EC2 Instance Type Parameter