2012-11-19 10 views
7

Meine Firma möchte tägliche Snapshots von einem Windows in Amazon Web Service. Wir können Snapshots ohne Probleme erstellen, aber wenn ich versuche, eine Instanz aus einem Snapshot zu erstellen, wird immer ein Linux-AMI erstellt. Wenn der Server gestartet wird, schlägt die Integritätsprüfung immer fehl.So erstellen Sie eine Windows-Instanz aus Snapshot in AWS

Ist es möglich, eine Windows-Instanz aus einem Snapshot zu erstellen?

Antwort

10

[Bitte beachten Sie, dass ich davon ausgehe, dass Sie EBS-unterstützte EC2-Instanzen verwenden; wenn nicht, überprüfen Sie bitte Eric Hammond Erklärung, warum You Should Use EBS Boot Instances on Amazon EC2.]

Es klingt wie könnte es ein Missverständnis in Bezug auf die damit verbundenen AWS Konzepte:

Während Amazon EBS Schnappschüsse sind in der Tat für die Schaffung eines Amazon Machine Images (AMI) unter der Haube verwendet, Sie interagieren Sie nicht explizit mit ihnen für den vorliegenden Anwendungsfall. Insbesondere möchten Sie nicht CreateSnapshot, verwenden, die nur Erstellt einen Schnappschuss eines Amazon EBS Volumen und speichert sie in Amazon S3, sondern soll einfach so über die spezielle Maßnahme eine AMI erstellen CreateImage, die Erzeugt ein Amazon EBS-backed AMI von einem Amazon EBS-backed Instanz, die entweder läuft oder gestoppt [Hervorhebungen Mine]:

  • Dieser Prozess in Creating Amazon EBS-Backed AMIs umrissen wird (während dieser Abschnitt Adressen eine 'neue' AMI Schaffung , der Prozess ist identisch mit Ihrem Backup-Szenario).
  • Bitte beachten Sie, dass CreateImage automatisch Pflege von zusätzlichen EBS-Datenträger an der Instanz auch, wenn überhaupt nimmt:
    • Wenn Sie individuell auf Ihre Instanz mit Instance-Speicher-Volumes oder EBS-Datenträger zusätzlich zu dem Root-Gerät Volumen, das Das neue AMI enthält Block-Device-Mapping-Informationen für diese Volumes. Wenn Sie eine Instanz von diesem neuen AMI starten, wird die Instanz automatisch mit diesen zusätzlichen Volumes gestartet.

Sobald Sie ein Bild haben (AMI) erzeugt statt wie so von Ihrem Amazon EC2 Instanz, dass AMI funktionieren wie gewünscht sollte, sei es ein Windows- oder Unix ein.

0

versuchen diese

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; 
Verwandte Themen