Leser wie Sie helfen, MUO zu unterstützen. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Weiterlesen.

Der zeitaufwändige Prozess, erforderliche Ressourcen einzeln zu konfigurieren, ist nicht mehr erforderlich, um Webanwendungen und Server bereitzustellen.

Platform-as-a-Service (PaaS)-Produkte wie AWS Elastic Beanstalk und Heroku wurden entwickelt, um dies zu ermöglichen Anwendungen, die mit wenig bis gar keinem Code und wenigen Schaltflächen bereitgestellt und Benutzern zur Verfügung gestellt werden Klicks.

Was ist also AWS Elastic Beanstalk und wie können Sie Ihre Go-Webanwendungen mit Elastic Beanstalk in der Cloud bereitstellen?

Was ist AWS Elastic Beanstalk?

AWS Elastic Beanstalk (AWS EB) ist ein von Amazon Web Services angebotenes Platform-as-a-Service-Produkt, das die schnelle und einfache Bereitstellung und Verwaltung von Anwendungen und erforderlichen Ressourcen ermöglicht.

Mit Elastic Beanstalk ist es einfach, eine Anwendung bereitzustellen, ohne alle erforderlichen Ressourcen wie z

instagram viewer
Linux-Server auf EC2, oder ein Überwachungsdienst in Cloudwatch. Elastic Beanstalk übernimmt alle Prozesse zum Einrichten der Ressourcen und ermöglicht Ihnen die Bereitstellung verschiedener Arten von Anwendungen, einschließlich Node.js, Golang, PHP, Docker usw.

Erstellen eines einfachen Golang-Webservers

Für die Zwecke dieses Tutorials benötigen Sie eine funktionierende Golang-Anwendung zur Bereitstellung auf AWS Elastic Beanstalk, daher wird in diesem Abschnitt ein einfacher Go-Webserver erstellt.

Sie benötigen eine Golang-Entwicklungsumgebung, die auf Ihrem Computer eingerichtet ist, um diesem Abschnitt folgen zu können.

Der erste Schritt besteht darin, ein neues Golang-Projekt zu initialisieren, was vom Terminal aus durch Ausführen der folgenden Befehle erfolgen kann:

Sobald Sie fertig sind, können Sie das Projektverzeichnis in Ihrer bevorzugten IDE öffnen. Erstellen Sie in Ihrem Stammverzeichnis des Projekts einen Ordner mit dem Namen statisch und erstellen Sie eine index.html Datei darin. Kopieren Sie den folgenden Code, fügen Sie ihn in die HTML-Datei ein und speichern Sie ihn.

html>
<htmllang="de">
<Kopf>
<MetaZeichensatz="UTF-8">
<Titel>Hallo Welt!Titel>
Kopf>
<Körper>
<h1>Hallo Welt von Elastic Beanstalkh1>
Körper>
html>

Kehren Sie zu Ihrem Projektstammverzeichnis zurück und erstellen Sie eine Anwendung.go Datei. Kopieren Sie den folgenden Code und fügen Sie ihn in Ihre ein Anwendung.go Datei und speichern Sie sie. Sie müssen die Hauptdatei benennen Anwendung.go denn dies ist die Datei, nach der Elastic Beanstalk sucht, um Ihre Anwendung während des Bereitstellungsprozesses zu erstellen.

Paket hauptsächlich

importieren (
"Protokoll"
"net/http"
)

Funkhauptsächlich() {
statisch := http. Dateiserver (http. Dir("./statisch"))
http. Handhaben("/", statisch)

Protokoll. Tödlich (http. ListenAndServe(":5000", Null))
}

Elastic Beanstalk verwendet standardmäßig eine NGINX-Konfiguration, die Anforderungen nur an Port 5000 an Ihre Anwendung weiterleitet. Abgesehen davon, dass Sie die standardmäßigen NGINX-Konfigurationen überschreiben, sollte Ihre Golang-Anwendung immer auf Port 5000 auf Anfragen lauschen.

Speichert man die Datei und führt das Programm im Terminal mit aus gehen Sie und führen Sie application.go aus, könnten Sie eine Vorschau der statischen Webseite anzeigen, indem Sie die Adresse öffnen lokaler Host: 5000 in Ihrem Browser.

Sie haben jetzt Ihre Beispielanwendung erstellt und bereit für die Bereitstellung. Im nächsten Abschnitt stellen Sie die Anwendung für AWS Elastic Beanstalk bereit.

Bereitstellen einer Go-Anwendung für AWS Elastic Beanstalk

Um eine Anwendung für einen beliebigen AWS-Service wie Elastic Beanstalk bereitzustellen, benötigen Sie ein AWS-Cloud-Konto. Wenn Sie derzeit kein AWS-Konto haben, gehen Sie zu Anmeldeseite von AWS um kostenlos ein neues zu erstellen.

Es gibt mehrere Möglichkeiten, Anwendungen für Elastic Beanstalk bereitzustellen, einschließlich der AWS CLI, der Elastic Beanstalk Command Line Interface (EB CLI) und über die Webkonsole, aber in diesem Tutorial lernen Sie, wie Sie vom Terminal aus mit der EB-CLI eine Bereitstellung auf Elastic Beanstalk vornehmen Werkzeug.

Sie können die überprüfen AWS EB CLI-Installationsanleitung für eine detaillierte Anleitung zur Installation und Konfiguration von EB CLI, um diesem Abschnitt folgen zu können. Sobald Sie mit der Installation und Konfiguration von EB CLI fertig sind, können Sie jetzt fortfahren und die folgenden Schritte ausführen, um Ihre Golang-Anwendung bereitzustellen.

  1. Öffnen Sie ein neues Terminalfenster und navigieren Sie mithilfe von zum Projektordner der bereitzustellenden Go-Anwendung CD Befehl.
  2. Laufen eb init um ein neues Elastic Beanstalk-CLI-Repository zu initialisieren. Wenn Sie diesen Befehl nach der Installation zum ersten Mal ausführen, werden Sie von der EB CLI mit anfänglichen Setup-Optionen aufgefordert, wie in den folgenden Schritten zu sehen ist.
  3. Nachdem Sie eine bevorzugte Region ausgewählt haben, müssen Sie Ihre Anmeldeinformationen für die Sicherheitsidentität einrichten (Zugriffsschlüssel-ID und geheimer Schlüssel). Es gibt eine umfassende Anleitung von AWS beim Generieren der Sicherheitsanmeldeinformationen in der AWS-Konsole.
  4. Als Nächstes müssen Sie den Namen der Anwendung definieren, die Sie bereitstellen. Standardmäßig verwendet dies den Namen Ihres aktuellen Projektordners.
  5. Im nächsten Schritt wählen Sie die Plattform der Anwendung aus, die Sie bereitstellen möchten. In diesem Fall sollten Sie die vierte Option auswählen, da Sie eine Golang-Anwendung bereitstellen.
  6. Die nächste Eingabeaufforderung fragt, ob Sie eine SSH-Verbindung für Ihre bereitgestellte Anwendung aktivieren möchten. Dies wird empfohlen, da es einen einfachen Fernzugriff und Debugging für Ihre Anwendung ermöglicht, aber in diesem Lernprogramm NEIN ausgewählt, da es sich nur um eine einfache Anwendung handelt.

    Die Zeile, die anzeigt, dass CodeCommit nicht eingerichtet werden konnte, ist kein Grund zur Sorge, da sie darauf zurückzuführen ist, dass Git oder eine andere Quellcodeverwaltung in diesem Beispiel nicht im Projekt verwendet wird.

  7. Nachdem Sie die obigen Schritte ausgeführt haben, wird ein neues Elastic Beanstalk-CLI-Repository erstellt, und Sie können jetzt eine Elastic Beanstalk-Umgebung erstellen, um Ihre Anwendung in den nächsten Schritten bereitzustellen.
  8. Laufen eb erstellen "Umgebungsname" zum Erstellen einer neuen Umgebung namens angegeben Umgebungsname. Die Umgebung wird mit allen erforderlichen Ressourcen erstellt, einschließlich einer EC2-Instance, Auto-Scaling-Gruppe, S3-Bucket, Load Balancer usw. Dieser Vorgang dauert je nach Netzwerkgeschwindigkeit etwa 5-10 Minuten.

    Genau wie bei dir Bereitstellen einer statischen Website für AWS, wird Ihrer EB-Anwendung auch eine URL zugewiesen (im Screenshot oben im roten Kästchen markiert), über die Sie auf Ihre Web-App zugreifen können.

  9. Nach erfolgreichem Abschluss kann die Anwendung in der Vorschau angezeigt werden, und Sie können sie ausführen eb offen um die bereitgestellte Anwendung in Ihrem Browser zu öffnen. Sie sollten jetzt sehen Hallo Welt in Ihrem Webbrowser unter Verwendung der ihm von Elastic Beanstalk zugewiesenen URL angezeigt.

Wann immer Sie eine Änderung an Ihrer Anwendung vornehmen, können Sie sie ausführen eb bereitstellen um die neuesten Updates an Elastic Beanstalk zu pushen. Und um Ihre Anwendung und alle ihre Ressourcen herunterzufahren, können Sie ausführen eb beenden.

Sie haben jetzt mithilfe des Elastic Beanstalk-CLI-Tools erfolgreich eine Golang-Webanwendung für AWS Elastic Beanstalk bereitgestellt. Der Prozess ist sehr einfach und kann befolgt werden, um jede Art von Golang-Webanwendung in Elastic Beanstalk bereitzustellen.

Sie können Ihr Elastic Beanstalk-Dashboard in der AWS-Konsole überprüfen, um den Status oder andere Informationen zu Ihrer Umgebung und Anwendung anzuzeigen.

Bereitstellen von Webanwendungen auf Elastic Beanstalk

Elastic Beanstalk ist eine zuverlässige Methode, um Ihre Anwendungen in sehr einfachen Schritten von lokal in den Live-Betrieb zu versetzen. Sie können Ihre kleinen und großen Anwendungen einfach bereitstellen und verwalten, indem Sie alle von AWS bereitgestellten Mittel verwenden, darunter die Webkonsole, AWS CLI, EB CLI, AWS-APIs oder das AWS SDK.

Um das aus diesem Artikel gewonnene Wissen weiter zu üben, können Sie erwägen, eine CRUD-API mit Go zu erstellen und sie in Elastic Beanstalk bereitzustellen.