Verwenden Sie AWS CloudFormation, um einen hochverfügbaren Cluster zu erstellen

Um meine SaaS-Trouble-Ticket-App zum Laufen zu bringen, habe ich bereits einige der vorläufigen Geschäftsplan- und Entwurfsentscheidungen skizziert und mich für die IaaS-Plattform entschieden, die ich verwenden werde - Amazon Web Services. Im letzten Beitrag habe ich die von AWS angebotenen CloudFormation-Vorlagen vorgestellt. Jetzt ist es Zeit, meinen Cluster zu erstellen.

Seien Sie zunächst vorsichtig mit Ihrem Geld. Die monatlichen Kosten für den Betrieb eines solchen Hochverfügbarkeitsclusters betragen über 100 USD für die EC2-Maschinen und über 100 USD für die RDS-Datenbank. Wenn Sie dem Dienst nur einen Testlauf geben, lassen Sie ihn nicht laufen, wenn Sie fertig sind. In diesem Beitrag werde ich Ihnen zeigen, wie Sie einen Cluster erstellen und ihn dann zerstören, nachdem Sie ihm eine Demo gegeben haben.

Erstellen Sie Ihren neuen Cluster

  1. Öffnen Sie die AWS-Konsole. Eine Liste der Amazon Web Services wird angezeigt.
  2. Navigieren Sie zur CloudFormation-Seite. Amazon Web Services | Bereitstellung und Verwaltung | CloudFormation. Die Seite CloudFormation Stacks wird angezeigt und die URL ändert sich in https://console.aws.amazon.com/cloudformation/home?region=us-east-1#
  3. Klicken Sie in der Navigationsleiste auf die Schaltfläche Stapel erstellen oder in der Mitte auf die Schaltfläche Neuen Stapel erstellen. Sie führen beide zum selben Ort. Ein modales Fenster " Stapel erstellen" wird geöffnet.
  4. Geben Sie einen Stapelnamen ein. Ich habe SupportTicket gewählt (dies wird in Kleinbuchstaben umgewandelt).
  5. Wählen Sie eine Beispielvorlage. Finden Sie das Drupal Content Management System im Abschnitt Hochverfügbare Multi-AZ-Beispiele (Drupal wird auch in Einzelinstanz-Beispielen und Beispielen mit Amazon RDS erwähnt - wählen Sie keines davon aus).
  6. Klicken Sie auf die Schaltfläche Weiter . Die Seite Parameter angeben wird angezeigt.
  7. Füllen Sie das Parameterformular aus. Halten Sie sich an alphanumerische Zeichen.
    • SiteName supportTicket
    • WebServerCapacity 2
    • DBUsername stdbadmin
    • MultiAZDatabase true
    • DBClass db.m1.small
    • SiteEMail
    • DBAllocatedStorage 5
    • InstanceType m1.small
    • DBPassword IL0veD4ta
    • SiteAdmin stsiadmin
    • SitePassword Saa5MeansCash
    • DBName stdrupaldb
    • KeyName im-aws-keypair-01
  8. Lesen Sie die Bestätigung, dass diese Vorlage möglicherweise eine Sicherheitswarnung für IAM-Ressourcen erstellt, und aktivieren Sie das Kontrollkästchen.
  9. Tags hinzufügen (im Moment nicht stören, wir werden dies in ein paar Minuten zerstören).
  10. Rezension. Lesen Sie die Warnhinweise zu den Kosten für verwendete AWS-Ressourcen . Sie sind dabei, echtes Geld an AWS zu zahlen.
  11. Klicken Sie auf den Link Kosten, um herauszufinden, wie viel. Der einfache monatliche AWS-Rechner wird in einem anderen Browser-Tab oder -Fenster angezeigt.
  12. Klicken Sie auf die Schaltfläche Weiter.
  13. Warten Sie ein oder zwei Minuten. Eine Bestätigungsmeldung wird angezeigt.
  14. Klicken Sie auf die Schaltfläche Schließen . Das modale Fenster wird geschlossen und zeigt die Seite CloudFormation Stacks an . Der Status lautet CREATE_IN_PROGRESS.
  15. Warten Sie noch ein paar Minuten. Der Status ändert sich in CREATE_COMPLETE.

Melden Sie sich bei Ihrer neuen Website an

  1. Klicken Sie im unteren Stapelbereich auf die Registerkarte Ausgänge . Der WebsiteURL-Schlüssel wird angezeigt. Die URL sieht ungefähr so ​​aus wie http://supportti-ElasticL-1DR7AISBTPPRE-2019153927.eu-west-1.elb.amazonaws.com .
  2. Klicken Sie auf die URL. Die Site wird in einem neuen Browser-Tab angezeigt. Die Standard-Startseite " Willkommen bei supportTicket " wird angezeigt.
  3. Geben Sie Ihre SiteAdmin- und SitePassword- Werte ein. Die Standard-Startseite von Welcome to supportTicket enthält jetzt die schwarze Admin-Symbolleiste oben.
  4. Melden Sie sich von der Drupal-Site ab.

Es klappt!

Überprüfen Sie Ihre Datenbank

  1. Verwenden Sie die AWS-Konsole.
  2. Navigieren Sie zur Seite Amazon RDS Console Dashboard .
  3. Finden Sie heraus, wofür Sie bezahlen:
    • 1 neue DB-Instanz (eine MySQL 5.5-Datenbank)
    • 1 DB-Snapshot
    • 2 DB-Sicherheitsgruppe (für Frontend-Zugriff)
    • 1 DB-Parametergruppe (MySQL-Konfiguration)

Finden Sie die Konfiguration Ihrer neuen Maschinen

Sie benötigen den öffentlichen DNS-Namen und die Fingerabdrücke des RSA-Schlüssels, um auf die CLI zugreifen zu können. Sie können auch überprüfen, ob die Maschinen in verschiedenen Verfügbarkeitszonen erstellt wurden.

  1. Bleiben Sie bei der AWS-Konsole.
  2. Öffnen Sie die EC2-Dashboard- Seite.
  3. Zählen Sie Ihre neuen Ressourcen. Die Ressourcenliste zeigt weitere Dinge.
    • 2 weitere laufende Instanzen (die zwei kleinen virtuellen Maschinen)
    • 2 Volumes (die an Ihre neuen VMs angeschlossenen 8-GB-Festplatten)
    • 1 neuer Load Balancer
    • 1 Sicherheitsgruppe (zusätzlich zur Standardzugriffsgruppe eine neue Port 80-Zugriffsgruppe)
  4. Klicken Sie auf Instanzen .
  5. Aktivieren Sie das Kontrollkästchen am Anfang der Zeile. Im Bereich unter der Tabelle werden viele Informationen angezeigt.
  6. Suchen Sie den öffentlichen DNS- Namen. Es ist so etwas wie ec2-12-34-56-78.eu-west-1.compute.amazonaws.com .
  7. Öffnen Sie das Systemprotokoll. Aktionen | Systemprotokoll abrufen. Ein modales Fenster mit 500 Zeilen verrückter Eingabe öffnet sich.
  8. Suchen Sie nach den neuen Fingerabdrücken für RSA-Schlüsselwarnungen. Sie sind nach unten gerichtet und sehen folgendermaßen aus:
 cloud-init: sshec2: 
 ec2: ################################################## ############## 
 ec2: ----- BEGIN SSH HOST KEY FINGERPRINTS ----- 
 ec2: 2048 c4: af: 98: 2e: 2b: 16: 6d: ad: ff: 75: 10: c3: 32: f1: b0: 37 /etc/ssh/ssh_host_rsa_key.pub (RSA) 
 ec2: 1024 0c: 0b: 88: 19: 1b: 95: 71: 26: b6: ef: 24: dd: 5e: b2: 0b: 59 /etc/ssh/ssh_host_dsa_key.pub (DSA) 
 ec2: ----- END SSH HOST KEY FINGERPRINTS ----- 
 ec2: ################################################## ############## 
  IN ORDNUNG  

Melden Sie sich bei einem EC2-Computer an

  1. Verwenden Sie einen SSH-Client. Verwenden Sie den öffentlichen DNS-Namen.
    • Wenn Ihr Betriebssystem Windows ist, verwenden Sie PuTTY und Pageant.
  2. Wenn Ihr Betriebssystem Linux oder FreeBSD ist (einschließlich Mac OS X), geben Sie einen OpenSSH-Befehl wie diesen an einer CLI ein. ssh -i ./aws-privkey-for-planetlarg.pem
  3. Lesen Sie die RSA-Schlüsselwarnung .
  4. Überprüfen Sie den Fingerabdruck mit denen im Systemprotokoll.
  5. Klicken Sie auf Ja, um den Fingerabdruck dauerhaft zu speichern. Das Motiv (Nachricht des Tages) und die Eingabeaufforderung werden angezeigt:
 __ | __ | _) 
 _ | (/ Amazon Linux AMI 
 ___ | \ ___ | ___ | 
 https://aws.amazon.com/amazon-linux-ami/2012.03-release-notes/ 
 Es sind 17 Sicherheitsupdates von insgesamt 120 verfügbaren Updates verfügbar 
 Führen Sie "sudo yum update" aus, um alle Updates anzuwenden. 
 Amazon Linux Version 2012.09 ist verfügbar. 
  ~ $ 

Schauen Sie sich in der CLI um

  1. Wechseln Sie in das Verzeichnis / var / www / html in das Verzeichnis, in dem sich der Drupal-Code befindet.
  2. Schauen Sie oben in der Datei CHANGELOG.txt nach. In der ersten Zeile steht Drupal 7.8 vom 31.08.2011 . Ach je! Diese Version ist sehr alt!
  3. Auf der Drupal-Website http://drupal.org/start finden Sie die aktuelle Version. Seitdem sind viele Veröffentlichungen passiert.
  4. Wechseln Sie in das Verzeichnis, in dem sich der Drush-Code befindet, in / home / ec2-user / drush .
  5. Schauen Sie sich den Dateibesitzer an. Ach nein! Alles gehört root!
  6. Melden Sie sich nicht von der CLI ab. Wir können damit überprüfen, ob Ressourcen zerstört werden.

Zerstören Sie Ihren neuen Cluster

  1. Verwenden Sie die AWS-Konsole.
  2. Suchen Sie die Seite CloudFormation Stacks.
  3. Kreuzen Sie Ihre erste Stapellinie an.
  4. Klicken Sie auf die Schaltflächen Stapel löschen und Ja, Löschen . Der Status ändert sich in DELETE_IN_PROGRESS.
  5. In der CLI wird eine Meldung über das bevorstehende Schicksal angezeigt. Anschließend wird die Verbindung geschlossen:

    Broadcast-Nachricht von (unbekannt) um 1:50 ...

    Das System wird JETZT ausgeschaltet!
  6. Warte ein paar Minuten. Das Original
  7. Überprüfen Sie die EC2- und RDS-Dashboard-Seiten. Stellen Sie sicher, dass die Ressourcenanzahl wieder gesunken ist.
  8. Schließen Sie die Konsole.
  9. Überprüfen Sie Ihre neue Drupal-Site. Der Webbrowser kann es nicht finden.

Vollständig, mit Problemen

Diese Website wird auf einem hochverfügbaren Cluster von Computern ausgeführt. Dies ist eine ziemlich ausgefeilte Konfiguration, die in wenigen Minuten mit einem funktionierenden Drupal-Dienst und einem separaten Datenspeicher erstellt wurde. Das ist großartig.

Dies ist eine Demo-Site und es zeigt. Drupal ist absolut veraltet, Drush ist kaputt und wer weiß, was sonst noch los ist. Um dies zu beheben, müssen Sie Zeit mit der CloudFormation-Vorlage verbringen, den Code verstehen und ihn an unsere Anforderungen anpassen. Nächstes Mal werden wir die Vorlage bearbeiten, um sie besser an unsere Bedürfnisse anzupassen.

© Copyright 2020 | mobilegn.com