【问题标题】:Virtualization type 'hvm' is required for instances of type 'c4.2xlarge'“c4.2xlarge”类型的实例需要虚拟化类型“hvm”
【发布时间】:2016-09-20 10:18:54
【问题描述】:

我是初学者。

尝试使用 com.amazonaws.services.ec2.model.RunInstancesRequest 亚马逊服务启动 EC2 实例 (c4.2xlarge) 时。

我收到以下错误。

2016-05-23 13:13:19 ERROR org.codehaus.groovy.grails.web.errors.GrailsExceptionResolver: 213 - AmazonServiceException occurred when processing request: [POST] /leaseabuse-crawler-manager/instances/start
Virtualization type 'hvm' is required for instances of type 'c4.2xlarge'. Ensure that you are using an AMI with virtualization type 'hvm'. For more information, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 9c35befc-15ba-4010-b0c6-bf38285369f1). Stacktrace follows:
com.amazonaws.AmazonServiceException: Virtualization type 'hvm' is required for instances of type 'c4.2xlarge'. Ensure that you are using an AMI with virtualization type 'hvm'. For more information, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 9c35befc-15ba-4010-b0c6-bf38285369f1)
        at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1369)
        at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:913)
        at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:631)
        at com.amazonaws.http.AmazonHttpClient.doExecute(AmazonHttpClient.java:400)
        at com.amazonaws.http.AmazonHttpClient.executeWithTimer(AmazonHttpClient.java:362)
        at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:311)
        at com.amazonaws.services.ec2.AmazonEC2Client.invoke(AmazonEC2Client.java:11093)
        at com.amazonaws.services.ec2.AmazonEC2Client.runInstances(AmazonEC2Client.java:10618)
        at com.leaseabuse.devops.AwsService.startInstances(AwsService.groovy:167)
        at com.leaseabuse.devops.InstancesController.start(InstancesController.groovy:34)
        at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198)
        at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
2016-05-23 13:13:19 DEBUG grails.app.filters.com.leaseabuse.devops.ApiKeyFilters: 128 - Security enabled

下面是我尝试使用的代码

RunInstancesRequest runInstancesRequest = new RunInstancesRequest()
                .withInstanceType(InstanceType.C42xlarge)
                .withImageId(amiId)
                .withMinCount(count)
                .withMaxCount(count)
                .withSecurityGroupIds("some-group")
                .withKeyName("Key-name")

谁能建议我哪里出错了。 请帮忙出来。

【问题讨论】:

    标签: amazon-web-services amazon-ec2


    【解决方案1】:

    http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html

    Linux Amazon 系统映像使用两种虚拟化类型之一:半虚拟化 (PV) 或硬件虚拟机 (HVM)。 PV 和 HVM AMI 之间的主要区别在于它们的启动方式以及它们是否可以利用特殊的硬件扩展(CPU、网络和存储)来获得更好的性能。

    为获得最佳性能,我们建议您在启动实例时使用当前一代的实例类型和 HVM AMI。

    您使用的 AMI ID 是半虚拟的,因此只能在 older generations of EC2 instances 上运行。

    【讨论】:

    • 感谢@ceejayoz 的回答,但我现在该怎么办。是不是我必须创建一个 hvm 类型的 AMI。
    • @SandeepRoniyaar 创建一个新的 HVM AMI,或者坚持使用仍然支持 PV 的旧实例类型。我推荐 HVM 方法 - PV 代最终将完全消失。
    猜你喜欢
    • 2014-09-05
    • 1970-01-01
    • 2015-10-20
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 2022-01-27
    • 2013-10-03
    相关资源
    最近更新 更多