Erste Schritte mit AWS Bereitstellen einer Webanwendung

Transcrição

Erste Schritte mit AWS Bereitstellen einer Webanwendung
Erste Schritte mit AWS
Bereitstellen einer Webanwendung
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Erste Schritte mit AWS: Bereitstellen einer Webanwendung
Copyright © 2017 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any
manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other
trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to,
or sponsored by Amazon.
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Table of Contents
Bereitstellen einer Webanwendung .................................................................................................. 1
AWS Elastic Beanstalk .......................................................................................................... 1
Die Anmeldeanwendung ........................................................................................................ 2
Amazon DynamoDB .............................................................................................................. 2
Amazon Simple Notification Service ......................................................................................... 2
Einrichten .................................................................................................................................... 3
Sign Up for AWS .................................................................................................................. 3
Laden Sie den Code für die Anwendung herunter ...................................................................... 3
Erstellen einer IAM-Rolle ........................................................................................................ 4
Schritt 1: Erstellen einer DynamoDB-Tabelle ..................................................................................... 5
Schritt 2: Erstellen eines SNS-Themas ............................................................................................. 7
Schritt 3: Bereitstellen der Anwendung ............................................................................................. 9
Vorbereiten des Quell-Bundles ................................................................................................ 9
Erstellen einer Anwendung ................................................................................................... 10
Testen der Anwendung ........................................................................................................ 11
Beheben von Bereitstellungsproblemen .................................................................................. 12
Schritt 4: Ändern der Konfiguration der Anwendung (Optional) ............................................................ 14
Schritt 5: Bereinigen .................................................................................................................... 16
Weitere AWS-Bereitstellungsoptionen ............................................................................................. 17
Verwandte Ressourcen ................................................................................................................ 19
iv
Erste Schritte mit AWS Bereitstellen einer Webanwendung
AWS Elastic Beanstalk
Bereitstellen einer Webanwendung
mit Elastic Beanstalk
Mit AWS können Sie Webanwendungen schnell entwickeln und dann in einer Cloud-Umgebung
bereitstellen, die bei Bedarf skaliert wird: Und da Sie aus mehreren AWS-Bereitstellungsservices
wählen können, können Sie eine Bereitstellungslösung erstellen, mit der Sie Automatisierung und
Steuerung kombinieren können.
In diesem Tutorial wird davon ausgegangen, dass Sie an einer neuen Webanwendung arbeiten, die
noch nicht zur Produktion bereit ist. In der Zwischenzeit planen Sie jedoch eine kleinere Anwendung
als Platzhalter bereitzustellen, mit der Informationen von den Besuchern der Website erfasst
werden, die sich anmelden, um weitere Informationen zu erhalten. Mithilfe der Anwendung für die
Anmeldung können Sie potenzielle Kunden erreichen, die die Anwendung möglicherweise schon früh
kennenlernen und an privaten Betatests teilnehmen möchten.
Es folgt eine kurze Einführung in AWS Elastic Beanstalk und weitere Technologien, die verwendet
werden. (Wenn Sie direkt zum praktischen Teil des Tutorials übergehen möchten, überspringen Sie
den nächsten Abschnitt.)
AWS Elastic Beanstalk
Elastic Beanstalk ist ein ausgereiftes Bereitstellungstool, mit dem Sie eine auf dem Desktop verfügbare
Anwendung in wenigen Minuten im Internet bereitstellen können. Elastic Beanstalk übernimmt für Sie
die Details Ihrer Hostingumgebung von der Kapazitätsbereitstellung, Lastverteilung, Skalierung bis zur
Statusüberwachung der Anwendung.
Elastic Beanstalk unterstützt Anwendung, die in Java, PHP, .NET, Node.js, Python und Ruby
entwickelt wurden, sowie unterschiedliche Containertypen für die einzelnen Sprachen. Ein Container
definiert die Infrastruktur und den Softwarestack, die für ein bestimmte Umgebung verwendet
werden sollen. Bei der Entwicklung der Anwendung stellt Elastic Beanstalk eine oder mehrere AWSRessourcen wie EC2-Instances bereit. Welcher Softwarestack auf Ihrer EC2-Instance ausgeführt wird,
hängt vom Containertyp ab. Elastic Beanstalk unterstützt z. B. zwei Containertypen für Node.js: Ein
Amazon Linux-Abbild für 32-Bit-Umgebungen und ein Amazon Linux-Abbild für 64-Bit-Umgebungen.
Beide führen einen Softwarestack aus, der für das Hosting einer Node.js-Anwendung konzipiert ist.
Über die AWS Management Console, die AWS Command Line Interface (AWS CLI) oder eb, einer
CLI auf höchster Ebene, die speziell für Elastic Beanstalk entwickelt wurde, können Sie mit Elastic
Beanstalk interagieren. In diesem Tutorial wird die AWS Management Console verwendet.
1
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Die Anmeldeanwendung
Die Anmeldeanwendung
In diesem Tutorial wird eine Beispielanwendung entwickelt, mit der Kunden Kontaktinformationen
übermitteln und ihr Interesse an einer Vorschau einer hypothetischen Webanwendung bekunden
können, die Sie entwickeln.
Die Anwendung basiert auf Node.js, einer Plattform, die serverseitiges JavaScript zum Erstellen
von Netzwerkanwendungen verwendet. Node.js besteht aus einer Bibliothek und einer Laufzeit. Die
Laufzeit wird durch V8 JavaScript Engine bereitgestellt.
Node.js basiert auf einem blockierungsfreien, ereignisgesteuerten E/A-Modell und eignet sich daher
für die Erstellung hoch skalierbarer Webserver. In unserer Anwendung werden zwei externe NodeModule verwendet: Express, ein Framework für Webanwendungen, und Jade, eine Template-Engine in
Node.js, mit der HTML-Dokumente erstellt werden können.
AWS stellt ein SDK für Node.js bereit, mit dem die Codierung dank der Bereitstellung von JavaScriptObjekten für AWS weniger komplex wird. Wir haben unsere Beispielanwendung mit dem SDK für
Node.js erstellt. Weitere Informationen zum SDK für Node.js SDK finden Sie unter AWS SDK für
JavaScript in Node.js.
Damit die Anwendung ein gutes Erscheinungsbild bekommt, verwenden wir Bootstrap ein FrontendFramework für mobile Anwendungen, das als Twitter-Projekt gestartet wurde.
Amazon DynamoDB
Zum Speichern der vom Benutzer übermittelten Kontaktinformationen verwenden wir Amazon
DynamoDB, einen NoSQL-Datenbankservice. DynamoDB ist eine schemafreie Datenbank, weshalb
Sie nur ein primäres Schlüsselattribut angeben müssen. Für unsere Anwendung verwenden wir ein
email-Feld als Schlüssel.
Amazon Simple Notification Service
Wenn Kunden ein Formular übermitteln, soll eine Benachrichtigung gesendet werden. Daher
verwenden wir Amazon Simple Notification Service (Amazon SNS), einen Push Notification Service,
mit dem Benachrichtigungen über unterschiedliche Protokolle gesendet werden können. In unserer
Anwendungen werden Benachrichtigungen an eine E-Mail-Adresse übertragen.
2
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Sign Up for AWS
Einrichten
Bevor Sie mit diesem Tutorial beginnen, führen Sie die folgenden Schritte durch.
Aufgaben
• Sign Up for AWS (p. 3)
• Laden Sie den Code für die Anwendung herunter (p. 3)
• Erstellen einer IAM-Rolle (p. 4)
Sign Up for AWS
When you sign up for Amazon Web Services (AWS), your AWS account is automatically signed up for
all services in AWS and you can start using them immediately. You are charged only for the services
that you use.
If you created your AWS account less than 12 months ago, you can get started with AWS for free. For
more information, see AWS Free Tier.
If you have an AWS account already, skip to the next step. If you don't have an AWS account, use the
following procedure to create one.
To create an AWS account
1.
Rufen Sie https://aws.amazon.com/ auf und wählen Sie Create an AWS Account aus.
2.
Folgen Sie den Onlineanweisungen.
Der Anmeldeprozess beinhaltet auch einen Telefonanruf und die Eingabe einer PIN über die
Telefontastatur.
Laden Sie den Code für die Anwendung herunter
Sie können den Code für die Anwendung von dem AWS Labs GitHub-Repository herunterladen.
Öffnen Sie eb-node-express-signup repo und klicken Sie dann auf Download ZIP.
Sie werden im Laufe des Tutorials einige Änderungen an dem Code vornehmen, daher müssen Sie
die Datei eb-node-express-signup-master.zip entpacken. Der Code für die Anwendung ist im
Verzeichnis eb-node-express-signup-master gespeichert.
3
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Erstellen einer IAM-Rolle
Erstellen einer IAM-Rolle
Als nächstes müssen Sie eine IAM-Rolle erstellen, die Ihre Anwendung dazu berechtigt, Amazon SNSBenachrichtigungen zu veröffentlichen und Einträge in Ihrer DynamoDB-Tabelle vorzunehmen.
Erstellen Sie eine IAM-Rolle mit der erforderlichen Richtlinie wie folgt:
1.
Öffnen Sie die IAM-Konsole.
2.
3.
Klicken Sie im Navigationsbereich auf Roles.
Klicken Sie auf Create New Role.
4.
Geben Sie auf der Seite Set Role Name einen Namen für die Rolle ein (zum Beispiel my-iamrole) und klicken Sie dann auf Next Step.
5.
Wählen Sie unter AWS Service Roles die Option Select für Amazon EC2 aus.
6.
Klicken Sie auf der Seite Set Permissions auf das Optionsfeld Custom Policy und dann auf Select.
7.
Geben Sie my-startup-policy in Policy Name ein.
8.
Öffnen Sie die Datei iam_policy.json im Verzeichnis eb-node-express-signup-master
und kopieren Sie ihren Inhalt. Fügen Sie den Inhalt in das Feld Policy Document ein und klicken
Sie auf Next Step.
Klicken Sie auf Create Role.
9.
4
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Schritt 1: Erstellen einer
DynamoDB-Tabelle
In der Anmeldeanwendung wird eine DynamoDB-Tabelle zum Speichern der vom Benutzer
übermittelten Kontaktinformationen verwendet.
Sie erstellen eine DynamoDB-Tabelle wie folgt:
1.
Öffnen Sie die DynamoDB-Konsole.
2.
Wählen Sie in der Menüleiste die Region aus, für die die Anwendung bereitgestellt werden soll.
Wählen Sie für dieses Tutorial US West (Oregon) aus.
3.
Fügen Sie die ausgewählte Region wie folgt der Konfigurationsdatei für die Anwendung hinzu:
a.
Öffnen Sie die Datei app_config.json in einem Text-Editor.
b.
Der Wert "AWS_REGION" ist eine leere Zeichenfolge, mit der Sie beginnen.
"AWS_REGION": "",
Fügen Sie den API-Namen für USA West (Oregon) Region wie folgt ein.
"AWS_REGION": "us-west-2",
c.
Speichern Sie die bearbeitete Datei. Da Sie in Kürze weitere Änderungen an der Datei
vornehmen, können Sie sie geöffnet lassen.
4.
Kehren Sie zu Dynamo DB zurück und klicken Sie auf Create Table.
5.
Geben Sie im Feld Table Name einen Namen für die Tabelle ein, z. B. my-signup-table.
6.
Wählen Sie als primären Schlüsseltyp den Wert Hash aus.
7.
Wählen Sie als Hash Attribute Name den Wert String aus. Geben Sie im entsprechenden Feld die
E-Mail-Adresse ein und klicken Sie dann auf Fortfahren.
8.
Da Sie keine weiteren Indizes benötigen, klicken Sie auf der Seite Add Indexes auf Fortfahren.
9.
Für die Beispielanwendung können Sie die minimal bereitgestellte Durchsatzkapazität für die
Tabelle verwenden. Vergewissern Sie sich, dass auf der Seite Bereitgestellte Durchsatzkapazität
das Kontrollkästchen Help me calculate how much throughput capacity I need to provision
deaktiviert ist und sowohl die Lese- als auch die Schreibkapazität auf "1" gesetzt sind. Klicken Sie
auf Weiter.
5
Erste Schritte mit AWS Bereitstellen einer Webanwendung
10. Da Sie für die Beispielanwendung keine Durchsatzwarnungen benötigen, können Sie das
Kontrollkästchen Use Basic Alarms deaktivieren. Klicken Sie auf Weiter.
11. Klicken Sie auf der Seite "Review" auf Create. Nach Abschluss des Erstellungsvorgangs lautet der
Status der Tabelle ACTIVE.
12. Fügen Sie den Tabellennamen wie folgt der Konfigurationsdatei für die Anwendung hinzu:
a.
b.
Öffnen Sie die Datei app_config.json in einem Text-Editor, falls sie noch nicht geöffnet ist.
Der Wert "STARTUP_SIGNUP_TABLE" ist eine leere Zeichenfolge, mit der Sie beginnen.
"STARTUP_SIGNUP_TABLE": "",
Fügen Sie den Namen der neuen Datenbank wie folgt ein.
"STARTUP_SIGNUP_TABLE": "my-signup-table",
c.
Speichern Sie die bearbeitete Datei. Da Sie im nächsten Schritt eine weitere Änderungen an
der Datei vornehmen, können Sie sie geöffnet lassen.
6
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Schritt 2: Erstellen eines SNSThemas
Unsere Anmeldeanwendung benachrichtigt Sie jedes Mal, wenn sich ein Benutzer anmeldet. Wenn
die Daten aus dem Anmeldeformular in die DynamoDB-Tabelle geschrieben werden, sendet Ihnen die
Anwendung eine SNS-Benachrichtigung. Zunächst müssen Sie ein SNS-Thema erstellen, das ist ein
Stream für Benachrichtigungen. Dann müssen Sie ein Abonnement erstellen, damit SNS weiß, wohin
und wie die Benachrichtigungen zu senden sind.
Richten Sie SNS-Benachrichtigungen ein
1.
Öffnen Sie die Amazon SNS-Konsole.
2.
Sie müssen für das SNS-Thema die gleiche Region verwenden wie für die DynamoDB-Tabelle.
Stellen Sie sicher, dass US West (Oregon) immer noch ausgewählt ist, klicken Sie dann auf
Create New Topic.
3.
Geben Sie in das Dialogfeld Create New Topic my-sns-topic als Name des Themas ein. Sie
können den Anzeigenamen leer lassen. Klicken Sie auf Create Topic.
4.
Fügen Sie die eindeutige Kennung für das SNS-Thema der Konfigurationsdatei für die Anwendung
wie folgt hinzu:
a.
Kopieren Sie auf der Seite mit den Details des Themas die Zeichenfolge von Topic ARN.
Beachten Sie, dass jeder Amazon Resource Name (ARN, Amazon-Ressourcenname) die
folgende Syntax hat:
arn:aws:[service]:[region]:[account]:resourceType/resourcePath
b.
Öffnen Sie die Datei app_config.json in einem Text-Editor, falls sie noch nicht geöffnet ist.
c.
Der Wert für "NEW_SIGNUP_TOPIC" ist eine leere Zeichenfolge, mit der Sie beginnen.
"NEW_SIGNUP_TOPIC": "",
Fügen Sie den Namen des neuen SNS-Themas wie folgt ein.
"NEW_SIGNUP_TOPIC": "arn:aws:sns:us-west-2:123456789012:my-sns-topic",
d.
Ihre abschließende Konfigurationsdatei sollte ähnlich aussehen wie die folgende. Speichern
Sie Ihre Änderungen an der Datei und schließen Sie die Datei.
7
Erste Schritte mit AWS Bereitstellen einer Webanwendung
{
"AWS_REGION": "us-west-2",
"STARTUP_SIGNUP_TABLE": "my-signup-table",
"NEW_SIGNUP_TOPIC": "arn:aws:sns:us-west-2:123456789012:my-snstopic"
}
5.
6.
Klicken Sie auf Create Subscription.
Wählen Sie im Dialogfeld Create Subscription als Protokoll Email aus. Geben Sie in das Feld
Endpoint eine E-Mail-Adresse ein, um die Benachrichtigung zu empfangen. (Geben Sie für
dieses Tutorial Ihre eigene E-Mail-Adresse ein, da Sie auf eine Bestätigungsnachricht antworten
müssen.) Klicken Sie auf Subscribe. Klicken Sie im Bestätigungsdialogfeld auf Close.
7.
Gehen Sie zu Ihrer E-Mail-Anwendung. Sie werden eine Nachricht mit dem Titel „AWS Notification
— Subscription Confirmation“ erhalten. Öffnen Sie die Nachricht und klicken Sie auf den Link,
um Ihr Abonnement zu bestätigen. Um zu überprüfen, ob Ihr Abonnement bestätigt wurde,
aktualisieren Sie die Seite in der SNS-Konsole.
8
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Vorbereiten des Quell-Bundles
Schritt 3: Bereitstellen der
Anwendung mit Elastic Beanstalk
Mit Elastic Beanstalk können Sie die Anmeldeanwendung auf einfache Weise bereitstellen. Sie laden
eine Anwendungsversion (z. B. eine ZIP-Datei) auf Elastic Beanstalk hoch und stellen anschließend
Informationen zur Anwendung bereit. Elastic Beanstalk startet eine Umgebung und stellt die AWSRessourcen (z. B. eine Amazon EC2-Instance) bereit, die für die Ausführung des Codes erforderlich
sind. Nach dem Start der Umgebung können Sie diese verwalten und neue Anwendungsversionen
implementieren.
Aufgaben
• Vorbereiten des Quell-Bundles (p. 9)
• Erstellen einer Anwendung (p. 10)
• Testen der Anwendung (p. 11)
• Beheben von Bereitstellungsproblemen (p. 12)
Vorbereiten des Quell-Bundles
In Elastic Beanstalk muss die Anwendung in einer einzigen ZIP- oder WAR-Datei gebündelt
werden. Ein Bundle darf keinen übergeordneten Ordner enthalten. Sie müssen also die einzelnen
Anwendungsdateien anstelle des Verzeichnisses komprimieren, in dem sie enthalten sind.
Sie bereiten das Quell-Bundle wie folgt vor:
1.
Öffnen Sie den Anwendungsordner (eb-node-express-signup-master) in einem Tool wie
z. B. Windows Explorer oder Mac OS X Finder.
2.
Wählen Sie alle Elemente in dem Ordner einschließlich der Unterordner aus. Sie dürfen nicht den
übergeordneten Ordner auswählen.
3.
Klicken Sie mit der rechten Maustaste auf die ausgewählten Elemente und wählen Sie die Option
aus, mit der sie komprimiert werden sollen, z. B. Senden an > Komprimierter (gezippter) Ordner
(Windows) oder Elemente komprimieren (Finder).
Weitere Informationen zum Komprimieren von Dateien mit unterschiedlichen Tools finden Sie unter
Erstellen eines Quell-Bundles für die Anwendung im Entwicklerhandbuch für AWS Elastic Beanstalk.
9
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Erstellen einer Anwendung
Erstellen einer Anwendung
Erstellen Sie eine Elastic Beanstalk-Anwendung und stellen Sie die Anwendungsversion in einer neuen
Umgebung bereit.
Sie erstellen eine Anwendung wie folgt:
1.
Öffnen Sie die Elastic Beanstalk-Konsole.
2.
Klicken Sie auf Create New Application.
3.
Geben Sie auf der Seite Application Information einen Namen für die Anwendung ein. Optional
können Sie eine Beschreibung eingeben. In diesem Tutorial soll die Anwendung my-startupapp heißen. Danach klicken Sie auf Weiter.
4.
Wählen Sie auf der Seite Environment Type den Typ Web Server für die Umgebung aus und
wählen Sie Node.js als vordefinierte Konfiguration aus. Klicken Sie auf Weiter.
5.
Wählen Sie auf der Seite Application Version die Option Upload your own aus, klicken Sie auf
Browse und wählen Sie dann die komprimierte Datei aus, die Sie erstellt haben. Klicken Sie auf
Weiter.
6.
Geben Sie auf der Seite Environment Information einen eindeutigen Umgebungsnamen und
eine Umgebungs-URL ein. Klicken Sie auf Check Availability, um sicherzustellen, dass die
URL verfügbar ist. Wenn sie verfügbar ist, wird sie in Grün angezeigt. Andernfalls wird eine
Fehlermeldung angezeigt. Wenn Sie eine eindeutige URL haben, klicken Sie auf Weiter.
7.
Vergewissern Sie sich, dass auf der Seite Zusätzliche Ressourcen beide Kontrollkästchen
deaktiviert sind, und klicken Sie dann auf Weiter.
8.
Wählen Sie auf der Seite Configuration Details im Feld Instance profile die Option Meine-IAMRolle aus. Hierbei handelt es sich um die IAM-Rolle, die Sie in Erstellen einer IAM-Rolle (p. 4)
erstellt haben. Für die anderen Einstellungen können Sie die Standardwerte übernehmen. Klicken
Sie auf Weiter.
9.
Klicken Sie auf der Seite Environment Tags auf Weiter.
10. Prüfen Sie Ihre Einstellungen auf der Seite Review und klicken Sie auf Starten. Im AWS Elastic
Beanstalk-Dashboard können Sie in Echtzeit verfolgen, wie Elastic Beanstalk eine Umgebung
erstellt und die Anwendung bereitstellt. Dieser Vorgang dauert einige Minuten.
10
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Testen der Anwendung
Testen der Anwendung
Wenn die Anwendung bereitgestellt ist und der Umgebungsstatus in Grün angezeigt wird, klicken Sie
auf die URL der Anwendung.
Sie können die Anmeldeanwendung testen, indem Sie das Formular ausfüllen und überprüfen, ob Sie
die Benachrichtigung erhalten.
11
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Beheben von Bereitstellungsproblemen
Beheben von Bereitstellungsproblemen
Falls Sie alle Schritte ausgeführt und auf die URL geklickt haben und keine Anwendung geöffnet
wurde, liegt ein Bereitstellungsproblem vor. In der Bespielanwendung, die auf einem nginx-Server
ausgeführt wird, wird bei einem Bereitstellungsproblem sehr wahrscheinlich die Mitteilung "502 Bad
Gateway" angezeigt. Die Mitteilung "502" ist nicht sehr informativ. Sie sollten für die Behebung von
Bereitstellungsproblemen die Protokolle verwenden, die von Elastic Beanstalk bereitgestellt werden.
Angenommen, Sie haben bei der Aktualisierung von app_config.json z. B. versehentlich ein
Anführungszeichen vergessen. Nun wird nach Abschluss der Bereitstellung der 502-Fehler angezeigt.
Wie können Sie das Problem finden und beheben?
Natürlich versuchen Sie, den Fehler in der Entwicklung zu finden. Doch wenn sich der Fehler bis in die
Produktion fortsetzt oder Sie die Anwendung nur aktualisieren möchten, ist die erneute Bereitstellung
mit Elastic Beanstalk sehr schnell und einfach.
Sie beheben ein Bereitstellungsproblem wie folgt:
1.
Klicken Sie in der Elastic Beanstalk-Konsole im Navigationsbereich für Ihre Umgebung auf
Protokolle.
2.
Klicken Sie auf der Protokollseite auf Snapshot Logs. Warten Sie, bis die Umgebung aktualisiert
ist, und klicken Sie dann auf View log file. In der Protokolldatei können Sie erkennen, was
während der Bereitstellung und der Laufzeit auf der Serverseite geschehen ist. Es gilt nun, sehr
viele Informationen zu durchsuchen, und in diesem Tutorial werden nicht alle unterschiedlichen
Bereiche des Protokolls behandelt. Doch falls Sie tatsächlich ein Anführungszeichen in der
Konfigurationsdatei vergessen haben und das Protokoll nach /var/log/nodejs/nodejs.log
durchsuchen, finden Sie in etwa den folgenden Fehler:
SyntaxError: Unexpected token u
at Object.parse (native)
at Object.<anonymous> (/var/app/current/server.js:23:15)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
12
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Beheben von Bereitstellungsproblemen
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
at process.startup.processNextTick.process._tickCallback
(node.js:245:9)
undefined:2
"AWS_REGION": us-west-2",^
In diesem Fall wird die Mitteilung "Unexpected token u" angezeigt, da der Parser ein
Anführungszeichen anstelle eine "u" in der Zeichenfolge us-west-2" erwartet. Nun ist das
Problem gefunden und kann behoben werden.
3.
4.
Wenn Sie dieses Problem beheben möchten, kehren Sie zum Anwendungscode in der lokalen
Umgebung zurück und fügen Sie das fehlende Anführungszeichen ein. Dann erstellen Sie eine
ZIP-Datei, die hochgeladen wird.
Zur erneuten Bereitstellung der Anwendung gehen Sie zum Elastic Beanstalk-Dashboard, klicken
auf Upload and Deploy und wählen die aktualisierte ZIP-Datei aus.
5.
Ändern Sie die Versionsbezeichnung. Wenn die erste Bereitstellung z. B. die Bezeichnung
"Archive" hatte, können Sie die zweite Bereitstellung "Archive-2" nennen.
6.
Klicken Sie auf Deploy. Elastic Beanstalk aktualisiert die Umgebung.
7.
Wenn die Umgebung aktualisiert ist und in Grün angezeigt wird, klicken Sie auf die URL der
Anwendung, um diese zu testen.
13
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Schritt 4: Ändern der Konfiguration
der Anwendung (Optional)
Unsere Webanwendung verwendet eine Umgebungsvariable, theme, um das angewandte CSS zu
steuern. Die Datei server.js enthält die folgende Aussage, um diese Umgebungsvariable für die
Anwendung verfügbar zu machen:
app.locals.theme = process.env.THEME;
Eine Änderung der Einstellung dieser Umgebungsvariablen ändert das Aussehen der Anwendung.
Weitere Informationen finden Sie unter public/static/bootstrap/css/theme und views/
layout.jade im Code für die Anwendung.
Am einfachsten können Sie diese Umgebungsvariable aktualisieren, indem Sie mithilfe von Elastic
Beanstalk die Konfiguration für Ihre Umgebung aktualisieren.
Ändern des Anwendungsthemas mithilfe von Elastic Beanstalk
1.
Öffnen Sie die Elastic Beanstalk-Konsole.
2.
Klicken Sie im Navigationsbereich für Ihre Umgebung auf Configuration und öffnen Sie Software
Configuration.
3.
Ermitteln Sie unter Environment Properties die Umgebungsvariable THEME. Ändern Sie den
Standardwert (flatly) in einen der folgenden Werte und klicken Sie dann auf Save.
• amelia
• default
• slate
14
Erste Schritte mit AWS Bereitstellen einer Webanwendung
• united
4.
Nachdem Elastic Beanstalk die Aktualisierung der Umgebung abgeschlossen hat, klicken Sie auf
die URL für die Anwendung. Die Anwendung sieht jetzt anders aus.
15
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Schritt 5: Bereinigen
Sie sollten die Apps und Umgebungen, die Sie in diesem Tutorial erstellt haben, mithilfe von Elastic
Beanstalk bereinigen, um zu verhindern, dass für Ihr Konto Zusatzkosten entstehen.
So bereinigen Sie Ihre AWS-Ressourcen
1.
2.
Öffnen Sie die Elastic Beanstalk-Konsole.
Löschen Sie alle Versionen der Anwendung wie folgt:
a.
b.
3.
c. Wenn Sie zur Bestätigung aufgefordert werden, klicken Sie auf Delete.
d. Klicken Sie auf Done.
Beenden Sie die Umgebung wie folgt:
a.
b.
c.
4.
Klicken Sie auf den Namen Ihrer Anwendung und dann auf Application Versions im
Dropdown-Menü.
Wählen Sie alle Anwendungsversionen aus, die Sie für dieses Tutorial erstellt haben, und
klicken Sie dann auf Delete.
Klicken Sie auf Environments und wählen Sie dann Ihre Umgebung aus.
Klicken Sie auf Actions und dann auf Terminate Environment.
Wenn Sie zur Bestätigung aufgefordert werden, klicken Sie auf Terminate.
Klicken Sie auf Actions und dann auf Delete Application. Wenn Sie zur Bestätigung aufgefordert
werden, klicken Sie auf Delete.
16
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Weitere AWSBereitstellungsoptionen
Dieses Tutorial konzentriert sich auf die grundlegenden Funktionen von AWS Elastic Beanstalk.
Allerdings hat Elastic Beanstalk viele weitere Funktionen und es ist nur eine der mit AWS verfügbaren
Bereitstellungslösungen. Alternativ können Sie AWS OpsWorks verwenden, um Anwendungen
bereitzustellen und zu managen, und wenn Sie Ihr eigenes Bereitstellungs-Framework erstellen
möchten, können Sie das mithilfe von Amazon Elastic Compute Cloud, AWS CloudFormation,
Amazon CloudWatch und Auto Scaling tun. Weitere Informationen über die Auswahl der richtigen
Bereitstellungslösung finden Sie in Application Management for AWS.
Weitere Informationen über Elastic Beanstalk und andere AWS-Bereitstellungsoptionen finden Sie in
den folgenden Ressourcen.
Weitere Informationen über Elastic Beanstalk
• Eine vollständige Dokumentation über das Managen von Anwendungen mit Elastic Beanstalk finden
Sie in Entwicklerhandbuch für AWS Elastic Beanstalk.
• Weitere Informationen über die Elastic Beanstalk CLI finden Sie unter Eb Command Line Interface.
• Informationen darüber, wie Sie eine Node.js app mit eb bereitstellen, finden Sie unter Deploying
AWS Elastic Beanstalk Applications in Node.js Using Eb and Git.
• Weitere Informationen über die Komponenten und die Architektur einer Elastic BeanstalkAnwendung finden Sie unter How Does AWS Elastic Beanstalk Work?.
• Indem Sie Ihrem Quell-Bundle eine Konfigurationsdatei beifügen, können Sie Ihre Umgebung
gleichzeitig mit der Bereitstellung Ihrer Anwendung anpassen. Weitere Informationen finden Sie
unter Customizing and Configuring AWS Elastic Beanstalk Environments.
Weitere AWS-Lösungen
• Weitere Informationen über AWS OpsWorks finden Sie unter AWS OpsWorks User Guide.
• Weitere Informationen über die einzelnen Services, die Sie typischerweise für eine Do-ityourself-Bereitstellung verwenden, finden Sie unter Amazon EC2 Getting Started Guide, AWS
CloudFormation User Guide, Amazon CloudWatch Getting Started Guide und Auto Scaling Getting
Started Guide.
• Das AWS Toolkit for Visual Studio enthält ein Bereitstellungstool. Weitere Informationen finden Sie
unter Standalone Deployment Tool.
17
Erste Schritte mit AWS Bereitstellen einer Webanwendung
• Das AWS Toolkit for Eclipse bietet ebenfalls Bereitstellungsoptionen. Weitere Informationen finden
Sie unter Getting Started with the AWS Toolkit for Eclipse.
18
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Verwandte Ressourcen
Die folgende Tabelle listet einige der AWS-Ressourcen auf, die Ihnen bei Ihrer Arbeit mit AWS nützlich
sein werden.
Ressource
Beschreibung
AWS-Produkte und Services
Informationen über die Produkte und Services, die AWS
bietet.
AWS-Dokumentation
Offizielle Dokumentation für jedes AWS-Produkt,
einschließlich Service-Einführungen, Service-Funktionen
und API-Referenz.
AWS-Diskussionsforen
Community-basiertes Forum zur Diskussion technischer
Fragen zu Amazon Web Services.
Kontakt
Zentrale Seite zur Kontaktaufnahme bei kontobezogenen
Fragen zu Abrechnungen, Vorfällen und Missbrauch.
Technische Fragen stellen Sie bitte in den Foren.
AWS Support-Center
Die Zentrale zum Anlegen und Verwalten Ihrer AWS
Support-Fälle. Bietet außerdem Links zu hilfreichen
Ressourcen, wie z. B. Foren, technischen Fragen und
Antworten, Übersicht zum Servicestatus und AWS Trusted
Advisor.
AWS Support
Die AWS Support-Startseite, ein persönlicher SupportKanal mit schnellen Reaktionszeiten, der Sie beim
Entwickeln und Ausführen von Anwendungen in der Cloud
unterstützt.
AWS-Architekturzentrum
Bietet die erforderlichen Anleitungen und bewährte
Methoden, um hochskalierbare und zuverlässige
Anwendungen in der AWS-Cloud zu erstellen. Diese
Ressourcen helfen Ihnen dabei, die AWS-Plattform,
ihre Services und Funktionen zu verstehen. Sie bieten
auch architektonische Anleitungen für Design und
Implementierung von Systemen, die auf der AWSInfrastruktur laufen.
AWS-Sicherheitszentrum
Bietet Informationen über Sicherheitsfunktionen und ressourcen.
19
Erste Schritte mit AWS Bereitstellen einer Webanwendung
Ressource
Beschreibung
AWS Economics Center
Bietet Zugriff auf Informationen, Tools und Ressourcen für
den Vergleich der Kosten für Amazon Web Services mit
denen für alternative IT-Infrastrukturen.
Technische Whitepaper zu AWS
Bietet technische Whitepaper zu Themen wie Architektur,
Sicherheit und Wirtschaftlichkeit. Diese Whitepaper wurden
vom Amazon-Team, Kunden und Lösungsanbietern
geschrieben.
AWS-Blogs
Bietet Blog-Posts, die neue Services und Aktualisierungen
bestehender Services behandeln.
AWS-Podcast
Bietet Podcasts, die neue und bestehende Services
behandeln und Tipps geben.
20