Das alte Terminal kann weg!

 

Diese Probleme tauchen manchmal bei der Arbeit mit AWS Instanzen auf:

  • Du arbeitest mit AWS Instanzen und die Firewall lässt keine ausgehenden SSH Verbindungen zu?
  • Die Suche nach dem richtigen Konzept für die Verwaltung von SSH Keys gestaltet sich schwierig?
  • Es ist erforderlich, dass jeder Terminal Zugriff auf die Instanzen protokolliert wird.
  • Der SSH Key ist so sicher verlegt, dass keiner mehr auf die Instanzen kommt.

Wäre es da nicht schön, einfach über die AWS Console eine Terminal Session auf eine Instanz zu starten?

Genau das geht jetzt.

Der AWS EC2 – Simple Systems Manager ist darauf ausgelegt eine große Menge von Instanzen zu verwalten. Nicht nur bei AWS, sondern auch „On Premise“, also im eigenen Datacenter. Der Paramater Store als Feature war ein Überraschungserfolg. Nun hat er ein neues Feature bekommen, was einen Quantensprung bedeuten kann.

Der Systems Manager kann jetzt auch direkt im Browser Terminal Sessions starten.

Um eine Session für eine Instanz zu starten, braucht man nur folgende Schritte auszuführen:

  1. Eine Instanz Profil zu erstellen, das die Policy „AmazonEC2RoleforSSM“ angehängt hat.
    Siehe AWS Dokumentation Task 2: Create an Instance Profile for Systems Manager – AWS Systems Manager
  2. Eine Instanz mit diesem Profile starten
  3. Den Systems Manager mit einem RunCommand auf dieser Instanz updaten.
    • In der AWS Console – SystemsManager Run auswählen
    • Ausführen Document „AWS-UpdateSSMAgent“ auf der gestarteten Instanz.

Update des SSM Agenten auf der Instanz

 

Wenn die Version des Agenten < „2.3.68.0“ ist, muss er aktualisiert werden.

Und so sieht es nach dem Update aus:

 

Start der Session

Jetzt kann eine Session gestartet werden.

Wähle Systems Manager -> Start Session

Alle Instanzen mit SSM Agenten in der passenden Version sind wählbar.

Und das Terminal erscheint im Browser:

Verwaltung der Sessions

Alle laufenden Sessions werden aufgelistet:

Protokollierung der Session mit Cloudwatch

In den Einstellungen kann ich das Logging einschalten.

Und sehe dann nach dem Terminieren ein Protokoll der Session:

Im Test musste ich die Log Group erst selber erstellen, das kann aber auch ein zeitliches Problem sein.

Aufbau eines eigenen „Browser Terminal Server“

Wenn ein eigener Server aufgebaut werden muss, so ist das mit dem Apache Projekt „guacamole“ möglich.

https://guacamole.apache.org/

Fazit

Ein neues Feature, was gerade im Zusammenhang mit SSH Verbindungen und restriktiven Firewalls nützlich sein wird!

Bild zu Beginn von:

Tina Rataj-Berard on Unsplash

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.