Shell-Zugriff auf EC2-Instanzen: Das leistet der neue Session Manager von AWS

Vor wenigen Wochen hat Amazon eine sehr interessante Erweiterung für den AWS Systems Manager veröffentlicht: Der neue Session Manager ermöglicht es, EC2-Instanzen über eine interaktive browserbasierte Shell oder über die AWS-Befehlszeilen-Schnittstelle (CLI) zu verwalten. AWS-Anwender erhalten damit direkten Shell-Zugriff auf ihre Windows- oder Linux-basierten EC2-Instanzen, können sich Betriebsdaten aus mehreren AWS-Diensten anzeigen lassen und Betriebsaufgaben über unterschiedliche AWS-Ressourcen hinweg automatisieren.
Zuvor hatte Amazon mit AWS Systems Manager Run Command bereits eine sichere Option für den Zugriff auf EC2-Instanzen auf Shell-Ebene bereitgestellt. IT-Administratoren konnten damit Befehlsdokumente erstellen und diese auf allen gewünschten EC2-Instanzen ausführen. Mit dem neuen Session Manager im AWS System Manager gibt es nun eine browserbasierte Benutzeroberfläche und CLI für diese und weitere Aufgaben.
Der Session Manager von AWS bietet unter anderem folgende Funktionen:
- Sicherer Zugriff: Administratoren müssen keine Benutzerkonten, Passwörter oder SSH-Schlüssel auf den Instanzen manuell einrichten und keine Inbound-Ports öffnen. Der Session Manager kommuniziert mit den Instanzen über einen verschlüsselten Tunnel, der von der Instanz ausgeht und keinen Bastion-Host erfordert.
- Zugriffskontrolle: Der Zugriff auf die Instanzen lässt sich mit AWS Identity and Access Management (IAM) kontrollieren – ohne dass dazu SSH-Schlüssel verteilt werden müssen. Administratoren können mit Hilfe der IAM-Richtlinien den Zugriff auf bestimmte Benutzer oder auf ein gewünschtes Zeit-/Wartungsfenster beschränken. Es ist auch möglich, bestimmten Benutzern Nicht-Root-Zugriff zu gewähren.
- Auditierbarkeit: Alle Zugriffe können in Amazon CloudWatch Logs oder bei Amazon S3 protokolliert werden. Auf Wunsch erhalten AWS-Anwender auch eine Benachrichtigung, sobald eine neue Sitzung gestartet wird.
- Interaktivität: Befehle werden synchron in einer vollständig interaktiven Bash- (Linux) oder PowerShell-Umgebung (Windows) ausgeführt.
- Programmierung und Skripting: Zusätzlich zum Konsolenzugriff können IT-Administratoren Sitzungen auch über die Befehlszeile (aws ssm ….) oder über die Session Manager-APIs starten.
Für den Zugriff auf EC2-Instanzen mit dem neuen Session Manager muss auf den Instanzen ein SSM-Agent (Version 2.3.12 oder höher) installiert sein. Dieser SSM-Agent, benötigt eine Verbindung zum öffentlichen Endpunkt des Session Managers. Alternativ können Administratoren auch eine PrivateLink-Verbindung einrichten, um Instanzen, die in privaten VPCs (ohne Internetzugang oder eine öffentliche IP-Adresse) laufen, die Verbindung zum Session Manager zu ermöglichen.
Aus Sicherheitsgründen muss die Instanzrolle auf jeder Instanz auf eine Richtlinie verweisen, die den Zugriff auf die entsprechenden Dienste erlaubt. Der Administrator legt zudem vorab fest, in welchem S3 Bucket die Sitzungen protokolliert werden und ob die Protokolle der Sitzungen in CloudWatch untersucht werden sollen.
Der AWS Systems Manager Session Manager ist in allen AWS-Regionen (einschließlich AWS GovCloud) ohne Zusatzkosten verfügbar. Weitere Informationen zum Session Manager finden Sie hier und in der Dokumentation des Service.
Weitere Informationen rund um die AWS Services von VINTIN finden Sie auf vintin.de.