【问题标题】:How to create a windows instance from snapshot in AWS如何从 AWS 中的快照创建 Windows 实例
【发布时间】:2016-02-12 16:29:28
【问题描述】:

我的公司想要在 Amazon Web Service 中拍摄一个窗口的每日快照。我们可以毫无问题地拍摄快照,但是当我尝试从快照创建实例时,它总是会创建一个 linux ami。所以当服务器启动时,它总是无法通过健康检查。

是否可以从快照创建 windows 实例?

【问题讨论】:

    标签: amazon-ec2 amazon-web-services


    【解决方案1】:

    [请注意,我假设您使用的是 EBS 支持的 EC2 实例;如果没有,请查看 Eric Hammond 的解释为什么You Should Use EBS Boot Instances on Amazon EC2.]

    听起来对相关 AWS 概念可能存在误解:

    虽然Amazon EBS 快照确实用于在后台创建Amazon Machine Images (AMI),但您不会为手头的用例明确与它们进行交互。具体来说,您不想使用CreateSnapshot,它只创建 Amazon EBS 的快照并将其存储在 Amazon S3 中,而您只想简单地创建这样的 AMI 通过专用操作 CreateImage从正在运行或停止的 Amazon EBS 支持的实例创建一个 Amazon EBS 支持的 AMI [强调我的]

    • Creating Amazon EBS-Backed AMIs 中概述了此过程(虽然本部分涉及创建“新”AMI,但该过程与您的备份方案相同)。
    • 请注意,CreateImage 还会自动处理附加到您的实例的其他 EBS 卷(如果有):
      • 如果您使用实例存储卷或 EBS 卷以及根设备卷自定义您的实例,则新的 AMI 包含这些卷的块储存设备映射信息。当您从这个新的 AMI 启动一个实例时,该实例会自动启动这些额外的卷。

    一旦您生成了一个像这样生成的映像 (AMI),从该 AMI 创建您的Amazon EC2 实例应该可以正常工作,无论是 Windows 还是 Unix。

    【讨论】:

      【解决方案2】:

      试试这个

      var launchRequest = new RunInstancesRequest()
                      {
                          ImageId = amiID,
                          InstanceType = ConfigurationManager.AppSettings["AwsInstanceType"],
                          MinCount = 1,
                          MaxCount = 1,
                          KeyName = keyPairName,
                          SecurityGroupIds = groups,
                          SubnetId = ConfigurationManager.AppSettings["AwsSubnetId"],
      
                      };
                      RunInstancesResponse runInstancesResponse = amazonEc2client.RunInstances(launchRequest);
                      var InstanceId = runInstancesResponse.Reservation.Instances[0].InstanceId;
                      var trequest = new CreateTagsRequest();
                      trequest.Resources=new List<string>(){InstanceId};
                      List<Tag> tags=new List<Tag>();
                      Tag tag=new Tag("Name","TestCodeFinal");
                      tags.Add(tag);
                      trequest.Tags = tags;
                      amazonEc2client.CreateTags(trequest);
                      Reservation reservation = runInstancesResponse.Reservation;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-09-01
        • 2019-09-08
        • 1970-01-01
        • 1970-01-01
        • 2012-08-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多