Freigeben über


Amazon EC2: Microsoft Web Platform Images - Vollständiger Webserver-Entwicklungsstapel

von Thomas Deml

Einführung

Visual Studio 2010 ermöglicht Webentwicklern, ihre vorhandenen Fähigkeiten zum Schreiben großartiger Anwendungen für die Microsoft-Webplattform zu verwenden. Eine Sache, die wir oft von Webentwicklern und -administratoren hören, insbesondere von denen, die Website-Design und Beratungsdienste anbieten, ist die Notwendigkeit, eine Website schnell einzurichten, die schnell läuft und ihnen die volle Kontrolle über den Server für maximale Flexibilität und Skalierbarkeit gibt. Der heutige Beitrag bietet eine kurze exemplarische Vorgehensweise zum Ausführen des neuesten Microsoft Web Server Development Stack auf Amazon EC2. Das Full Web Server Development Stack Image ist ein vollständig konfigurierter IIS 7.0- oder höher-Webserver, mit dem Sie Ihre Webanwendung direkt von Visual Studio 2010 auf dieser EC2-Instanz bereitstellen können.

Hier haben wir eine kurze Zusammenfassung der Schritte, die man ausführen muss:

  1. Registrieren für Amazon EC2
  2. Starten Sie eine Instanz "Microsoft Web Platform - Full Web Server Development Stack" über die Amazon Web Services Management Console.
  3. Das Administratorkennwort abrufen
  4. Erstellen und Bereitstellen einer ASP.NET 4.0-Anwendung aus Visual Studio 2010 in Ihrer EC2-Instanz.
  5. Navigieren Sie zu Ihrer Live-Webanwendung

1. Amazon EC2 Registrierung

Die Registrierung für Amazon EC2 ist ein unkomplizierter Prozess. Alles, was Sie brauchen, ist

  • eine gültige E-Mail-Adresse,
  • eine gültige Telefonnummer, unter der Sie erreichbar sind (stellen Sie sicher, dass sich das Telefon in der Nähe befindet, Sie werden während der Registrierung angerufen!),
  • und eine gültige Kreditkartennummer

Die Registrierungs-URL lautet http://aws.amazon.com/ec2. Noch einfacher ist es, wenn Sie bereits ein Amazon-Kunde sind, da Sie Ihre vorhandenen Kreditkarteninformationen und E-Mail-Adresse verwenden können.

Hinweis: Die Prüfung der Abrechnungsdaten erfolgt in der Regel innerhalb von Minuten. Es kann jedoch auch einige Stunden dauern. Derzeit (April 2010) ist die Fehlermeldung, die Sie erhalten, nicht sehr aussagekräftig:
"Sie haben anscheinend kein EC2 Konto*. Um die Amazon EC2-Konsole verwenden zu können, müssen Sie sich zuerst für Amazon EC2 registrieren. Die Registrierung ist schnell und kostenlos."
Seien Sie einfach geduldig und warten Sie noch ein wenig.

2. Starten einer Instanz "Microsoft Web Platform – Full Web Server Development Stack"

Sobald Sie sich erfolgreich registriert haben, bekommen Sie Zugriff auf die Amazon EC2 Management Console. Die URL ist https://console.aws.amazon.com/ec2/home.

Screenshot that shows the Amazon E C 2 Management Console. US West is highlighted in the Region field.

Sobald Sie sich angemeldet haben, stellen Sie Ihre Region auf "USA, Westen" um. Die Bilder der Microsoft Web Platform sind gegenwärtig nur in der Region "USA Westen" verfügbar. Bevor wir irgendetwas machen, müssen wir die Firewall-Regeln (im Amazon-Jargon Sicherheitsgruppen genannt) für Ihre Web-Entwicklungsserver-Instanz einrichten.

Firewallregeln

Wählen Sie das Element "Sicherheitsgruppen" auf der linken Seite. Ihre vorhandenen Sicherheitsgruppen werden im mittleren Fenster angezeigt. Klicken Sie oben auf die Schaltfläche "Sicherheitsgruppe erstellen".

Screenshot that shows the Create Security Group button.

Geben Sie der neuen Gruppe, die Sie erstellen möchten einen Namen, z.B. "Microsoft Webplattform Firewall-Regeln".

Screenshot that shows the Create Security Group dialog box.

Sie müssen die folgenden Regeln konfigurieren:

Screenshot that shows a list of Allowed Connections under the Security Group selected.

  • RDP ist erforderlich, damit Sie über Remotedesktop eine Verbindung zu Ihrer Amazon EC2 Instanz herstellen können. Die aktuellen Einstellungen "Quelle (IP oder Gruppe)" machen es möglich, diese Verbindungen von jeder IP-Adresse aus herzustellen. Bitte sperren Sie diese Einstellungen, wenn Sie strengere Sicherheitsanforderungen haben.
  • HTTP wird benötigt, damit sich Ihre Kunden über HTTP mit Ihrer Amazon EC2 Instanz verbinden können.
  • HTTPS ist erforderlich, wenn Sie SSL verwenden möchten. Diese Einstellung ist nicht erforderlich, wenn Sie nicht beabsichtigen, SSL zu verwenden.
  • Port 8172 wird geöffnet, um die Remoteverwaltung von IIS und die Veröffentlichung von Inhalten über Visual Studio 2010 zu ermöglichen. Sie müssen diesen Port öffnen, wenn Sie beabsichtigen, das neue Web Publishing-Feature in Visual Studio 2010 zu verwenden.

Jetzt können wir eine EC2 Web Server Development Stack-Instanz starten.

Starten des Webserver-Development-Stack-Image

Klicken Sie auf der linken Seite auf das Menüelement "Instanzen", und klicken Sie auf die Schaltfläche "Instanz starten".
Screenshot that shows the Launch Instance button.

Wählen Sie nun im resultierenden Dialogfeld "Community-Bilder".

Screenshot that shows the tabs for Quick Start, My A M I, and Community A M I.

Durch Eingabe von "microsoft/" im Dialogfeld "Community-AMIs" wird die Auswahl auf die vier Microsoft-Bilder reduziert:
Screenshot that shows 4 images under the Community A M I tab.

Klicken Sie im "Microsoft Web Platform – Full Web Server Development Stack" auf "Auswählen" ... Zeile.

Auf der nächsten Dialogfeld-Seite (Instanzdetails) können Sie wählen, wie viel Computerleistung Sie für Ihre Media Server-Instanz haben möchten. Es ist wahrscheinlich ratsam, mit der vorgewählten Option zu beginnen, welche die kleinste ist. Klicken Sie auf die Schaltfläche „Weiter“. Auch auf der nächsten Seite müssen Sie sich keine Gedanken machen. Klicken Sie einfach unten im Dialogfeld "Erweiterte Instanz-Optionen" auf "Weiter". Jetzt gelangen wir zum Dialogfeld "Schlüsselpaar erstellen".
Screenshot that shows a selected radio button for Create a new Key Pair. In the Enter a name for your key pair field, my E C 2 Keys is entered.

Wenn Sie bereits über einen Schlüssel verfügen, können Sie ihn einfach verwenden. Falls nicht, müssen Sie ein Schlüsselpaar erstellen, indem Sie einen Namen für Ihr Schlüsselpaar eingeben und auf die Schaltfläche "Schlüsselpaar erstellen und herunterladen" klicken. Sobald Sie auf die Schaltfläche klicken, erstellt Amazon ein Schlüsselpaar, und Sie werden von Ihrem Browser aufgefordert es herunterzuladen. Speichern Sie die Datei an einem Speicherort, wo Sie sie später finden können. Mit dem von Ihnen erstellten Schlüsselpaar können Sie das Administrator-Kennwort entschlüsseln, das Amazon für Ihre Medi Server-Instanz erstellt. Klicken Sie auf die Schaltfläche „Weiter“.

Hinweis: Internet Explorer zeigt eventuell nicht das Download-Dialogfeld an, in dem Sie gefragt werden, wo die Schlüsselpaar-Datei gespeichert werden soll. Ist das der Fall, suchen Sie im Ordner "Temporäre Dateien von Internet Explorer" nach der Datei (<Schlüsselpaarname.pem>). Unter Windows 7, suchen Sie nach *.pem in %userprofile%\ AppData\Local\Microsoft\Windows\Temporary Internet Files. Vergewissern Sie sich, dass Sie die PEM-Datei in ein permanentes Verzeichnis kopieren.

Nachdem Sie Ihr Schlüsselpaar erstellt haben, können Sie Firewall-Regeln konfigurieren. Sie könnten zum Beispiel nur HTTP-Anfragen an den Rechner zulassen. Amazon nennt Firewall-Regeln "Sicherheitsgruppen", was etwas verwirrend ist, wenn Sie mich fragen. Für diese Demo wählen wir die "Standard"-Sicherheitsgruppe aus, die keine Firewall-Einschränkungen für die Instanz enthält. Möglicherweise möchten Sie diese Einstellungen so konfigurieren, dass sie später etwas restriktiver sind.
Klicken Sie auf "Weiter", um zur Seite "Start" zu wechseln. Das einzige, was auf der Zusammenfassungs-Seite zu tun ist, besteht darin, die große Schaltfläche "Start" zu drücken. Sobald Sie dies tun, startet Amazon EC2 Ihre persönliche virtuelle Instanz unseres Full Web Server Development Stack-Images. Sehr gut. Holen wir uns jetzt mal einen Kaffee. Das Hochfahre Ihrer Instanz dauert einige Zeit, in der Regel etwa 3 bis 5 Minuten.

3. Abrufen des Administrator-Kennworts

Nach Abschluss des Assistenten "Launch Instance" sollten Sie wieder auf der Hauptseite der AWS Management Console befinden. Klicken Sie auf den Link "Instanzen", um zu sehen, wie es Ihrer Media Server-Instanz geht.

Screenshot that shows the A W S Management Console. Instances is highlighted in the Navigation pane.

Die Ausgabe sollte in etwa wie folgt aussehen:

Screenshot that shows My Instances pane.

Klicken Sie mit der rechten Maustaste auf die Zeile, und wählen Sie das Menüelement "Windows-Kennwort abrufen".

Screenshot that shows the context menu for the first row.

Jetzt ist es an der Zeit, die Schlüsselpaar-Datei (<Ihr Schlüsselpaar-Name>.PEM) zu verwenden, die Sie zuvor erstellt haben. Wenn das Kennwort bereits verfügbar ist (wie erwähnt, müssen Sie eventuell einige Minuten warten), wird das folgende Dialogfeld angezeigt:

Screenshot that shows the Retrieve Default Windows Administrator Password window.

Öffnen Sie die .PEM-Datei im Editor und Kopieren Sie sie in die Zwischenablage (STRG+A wählt alles aus, STRG+C kopiert sie in die Zwischenablage). Fügen Sie jetzt den Inhalt in das Textfeld des Dialogfelds ein (STRG+V). Klicken Sie auf die Schaltfläche "Entschlüsseln".

Hinweis: Da die Entschlüsselung ein sehr CPU-rechenintensiver Vorgang ist, kann bei Verwendung des Internet Explorers der folgende Sicherheitsdialog erscheinen: Screenshot that shows a security dialog box, asking Stop running this script. Anders als man vielleicht denken mag, müssen Sie hier "Nein" drücken, um fortzufahren. Eventuell müssen Sie ein paar Mal "Nein" drücken, um Ihr Kennwort entschlüsselt zu bekommen. Weitere Details zu diesem Sicherheitsfeature finden Sie unter: https://support.microsoft.com/kb/175500
Wenn Sie an einer dauerhafteren Lösung interessiert sind, können Sie den folgenden Befehl über die Befehlszeile ausführen:

reg add "HKCU\Software\Microsoft\Internet Explorer\Styles" /v MaxScriptStatements /t REG_DWORD /d 0x5F5E100

Durch Festlegen der MaxScriptStatements auf 100.000.000 (0x5F5E100) werden keine Sicherheits-Popups mehr angezeigt.

Sobald das Passwort entschlüsselt ist, schreiben Sie es auf oder kopieren Sie es in die Zwischenablage und schließen Sie den Dialog. Schließlich ist unsere Web Server Development Stack-Instanz einsatzbereit.

4. Erstellen und Bereitstellen einer ASP.NET 4.0-Anwendung

Jetzt wechseln wir zu Visual Studio 2010. Wenn Sie noch nicht über Ihre Kopie verfügen, können Sie die Express Edition von https://www.microsoft.com/visualstudio herunterladen.

Visual Studio 2010 bietet ein völlig neues Einklick-Bereitstellungsmodell für Webanwendungen, das auf dem Microsoft Web Deployment Toolbasiert. Wir werden das Webbereitstellungstool nutzen, um die Webanwendung bereitzustellen, die wir auf unserem Live EC2-Server erstellen möchten. Los geht's!

Erstellen eines Webanwendungsprojekts in Visual Studio 2010

Nachdem Sie Visual Studio 2010 gestartet haben, wählen Sie "Datei" - "Neu" - "Projekt" und dann "ASP.NET Anwendung" aus (stellen Sie sicher, dass Sie die Projektvorlage "Web" auswählen). Verwenden Sie den Projektnamen "HelloEC2".

Screenshot that shows A S P dot NET Web application highlighted in the Templates list. Hello E C 2 is in the Name field.

Öffnen Sie die Datei "site.master", nachdem Sie das Projekt erstellt haben, und ändern Sie den Text im Tag <h1> in "Meine ASP.NET für EC2-Anwendung"

Screenshot that shows the code editor, with My A S P dot NET on E C 2 Application highlighted.

Veröffentlichung konfigurieren

Wir müssen lediglich die Veröffentlichung konfigurieren. Dazu brauchen wir

  • das Administratorkennwort Ihrer EC2-Instanz, die wir bereits in einem der vorherigen Schritte abgerufen haben
  • der DNS-Name oder die IP-Adresse Ihrer EC2-Instanz.

Um diese beiden Datenteile abzurufen, müssen Sie zur AWS-Verwaltungskonsole zurückkehren. Die AWS-Konsole zeigt Ihnen den öffentlichen DNS-Namen oder die IP-Adresse als eine der Eigenschaften Ihrer Instanz an. Sie können die Adresse in die Zwischenablage kopieren oder aufschreiben. Wenn Sie eine dauerhaftere DNS-Adresse benötigen, müssen Sie einen DNS-Namen registrieren und auch eine Elastic IP-Adresse von Amazon erhalten. Aber das machen wir an einem anderen Tag.

Screenshot that shows the A W S Management Console. Publish D N S and its address is highlighted.

Bewaffnet mit diesen beiden Informationsteilen, die wir gerade erstellt haben, sind wir bereit, um das soeben erstellte ASP.NET Webanwendungsprojekt zu veröffentlichen. Wenn Sie veröffentlichen möchten, müssen Sie zu Visual Studio zurückkehren, mit der rechten Maustaste auf Ihr Projekt klicken und das Menüelement "Veröffentlichen" auswählen.

Screenshot that shows the context menu for the project. The list shows Publish and it is highlighted.

Im anstehenden Dialogfeld müssen Sie mehrere Datenabschnitte eingeben. Lassen Sie uns dies jedoch Schritt für Schritt ausführen:

  1. Klicken Sie auf die Schaltfläche "Umbenennen", und benennen Sie "Profil1" in "Mein EC2-Veröffentlichungsprofil" um.
  2. Kopieren Sie den DNS-Namen Ihrer EC2-Instanz in das Textfeld "Dienst-URL:". Es funktioniert ohne explizite Angabe von "https://", wie unten dargestellt.
  3. Geben Sie "Standardwebsite" (ohne Anführungszeichen) im Textfeld "Website/Anwendung" an. Wenn Sie die Webanwendung "Hello EC2" nicht im Stammverzeichnis der "Standardwebsite" veröffentlichen möchten, können Sie einen zusätzlichen Anwendungsnamen angeben, z. B. "Standardwebsite/helloEC2".
  4. Die EC2-Instanz funktioniert mit einem selbstsignierten SSL-Zertifikat, um sicherzustellen, dass der Datenverkehr zwischen Ihrem Client und der EC2-Instanz verschlüsselt ist. Das selbstsignierte Zertifikat ist noch nicht vertrauenswürdig, und Sie müssen das Kontrollkästchen "Nicht vertrauenswürdiges Zertifikat zulassen" aktivieren.
  5. Geben Sie die Administratoranmeldeinformationen für die EC2-Instanz an. Der Benutzername ist "Administrator", und Sie haben das Kennwort für die EC2-Instanz in einem vorherigen Schritt abgerufen.

Screenshot that shows the Publish Web dialog box with multiple fields highlighted.

Jetzt müssen Sie nur noch auf die Schaltfläche "Veröffentlichen" klicken, und die Statusleiste gibt an, dass der Veröffentlichungsprozess erfolgreich war. Ihre Anwendung wurde erfolgreich in Ihrer EC2-Instanz veröffentlicht!
Screenshot of the Status bar saying Publish succeeded.

Browsen in Ihrer Webanwendung

Schauen wir uns es an! Wenn Sie noch den DNS-Namen in der Zwischenablage haben, müssen Sie ihn einfach in die Adressleiste von Internet Explorer einfügen.
Voila!

Screenshot of your web application on Internet Explorer.

Herstellen einer Verbindung mit Ihrer EC2-Instanz über Remotedesktop

Falls Sie etwas auf dem Server selbst konfigurieren müssen, können Sie Remotedesktop ganz einfach verwenden, um eine Verbindung damit herzustellen. Selbst Visual Web Developer 2010 ist installiert, sodass Sie auf dem Remotecomputer Debuggen können, wenn Probleme auftreten, die Sie nicht lokal reproduzieren können.

So stellen Sie eine Verbindung über RDP mit Ihrer EC2-Instanz her:
Klicken Sie mit der rechten Maustaste auf die Instanz, und wählen Sie "Verbinden".

Screenshot of the context menu of your E C 2 instance.

Klicken Sie im folgenden Dialog auf "Verknüpfungsdatei herunterladen":

Screenshot that shows the Console Connect Remote Desktop Connection window. Download shortcut file is listed under Option 1.

Die Datei, die heruntergeladen werden soll, ist eine .RDP-Datei, die alle richtigen Einstellungen hat, um Sie mit der EC2 Instanz in der Cloud zu verbinden. Klicken Sie auf "Öffnen", wenn Sie den IE verwenden, oder doppelklicken Sie auf die Datei im Download-Fenster von Firefox; es wird eine Remote-Desktop-Sitzung eingerichtet. Wenn Remotedesktop Sie nach Anmeldeinformationen fragt, geben Sie einfach den Benutzernamen "Administrator" und das Kennwort ein, das wir zuvor abgerufen haben.
Sobald die Verbindung hergestellt ist, werden Sie beim Remotecomputer angemeldet.

Zusammenfassung

Es ist erstaunlich, wie einfach es jetzt ist, einen dedizierten Webserver im Internet zu bekommen und loszulegen. Wir haben gerade eine funktionsfähige und vollständig konfigurierte ASP.Net 4.0-Anwendung in der Cloud bereitgestellt. Erstaunlich, nicht wahr?

Teilen Sie uns ihre Meinung mit: Fragen oder Feedback? Senden Sie alles an ec2@microsoft.com.