我的公司希望在Amazon Web Service中拍摄Windows的每日快照。我们可以毫无问题地拍摄快照,但是当我尝试从快照创建实例时,它总是创建一个linux ami。所以当服务器启动时,它总是无法进行健康检查。
是否可以从快照创建Windows实例?
答案 0 :(得分:10)
[请注意,我假设您使用的是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中,而不是您想要只需通过专用操作CreateImage创建这样的AMI,其中从运行或停止的Amazon EBS支持的实例创建Amazon EBS支持的AMI [强调我的] :
一旦你有一个像这样生成的图像(AMI),从该AMI创建你的Amazon EC2实例应该按照需要运行,无论是Windows还是Unix。
答案 1 :(得分:0)
试试这个
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;