VPC LINK

Public Server → Private Server (internes Netzwerk)

So greifst du sicher auf eine private EC2-Instanz zu, ohne sie öffentlich erreichbar zu machen.

Architektur

InternetBastion Host (Public Subnet, Public IP)Private EC2 (Private Subnet, keine Public IP)
Die Verbindung zur privaten Instanz läuft nur über die interne VPC-Verbindung. Von außen ist der Private Host nicht direkt erreichbar.

Security Groups korrekt setzen

Bastion Security Group
Inbound: SSH TCP 22 nur von My IP. Kein offenes 0.0.0.0/0 für Admin-Zugriffe.
Private Server Security Group
Inbound: SSH TCP 22 als Source Security Group des Bastion Hosts (nicht öffentliche CIDR). Für Windows analog RDP TCP 3389 nur von Bastion-SG.
Port-Referenz
Die konkrete Port-Freigabe findest du in Security Groups Kurzanleitung.

Umsetzung Schritt für Schritt

1) Bastion Host erstellen
Public Subnet + Public IP aktivieren. SSH nur von deiner IP erlauben.
2) Private EC2 erstellen
Private Subnet, keine Public IP. SG erlaubt nur Zugriff vom Bastion Host.
3) Private IP der Zielinstanz notieren
aws ec2 describe-instances --instance-ids i-PRIVATEID --query "Reservations[0].Instances[0].PrivateIpAddress" --output text
4) Erster Hop auf Bastion
ssh -i ~/.ssh/lab-key.pem ec2-user@BASTION_PUBLIC_IP
5) Von Bastion auf Private Server
ssh -i ~/.ssh/lab-key.pem ec2-user@PRIVATE_IP

Komfort: Direktverbindung mit SSH ProxyJump

SSH Config Eintrag
Host bastion HostName BASTION_PUBLIC_IP User ec2-user IdentityFile ~/.ssh/lab-key.pem Host private-app HostName PRIVATE_IP User ec2-user IdentityFile ~/.ssh/lab-key.pem ProxyJump bastion
Danach reicht lokal ein einziger Befehl:
Direkt verbinden
ssh private-app

Warum das funktioniert

Routing und Erreichbarkeit
Beide Instanzen liegen in derselben VPC (oder verbundenen Netzwerken). Der Bastion Host hat einen öffentlichen Einstiegspunkt, die private Instanz nur eine interne Adresse.
Sicherheitsvorteil
Der Private Host ist nicht direkt aus dem Internet erreichbar. Angriffsfläche sinkt, weil nur der Bastion Host exponiert ist.
CLI in AWS Academy
Für alle Prüf- und Diagnosebefehle muss die CLI mit aktuellen Lab-Credentials laufen. Falls nicht: CLI Cheat Sheet und Keys aus AWS Details → AWS CLI neu einfügen.
⚠ Kein direktes Inbound auf die Private EC2 von 0.0.0.0/0 setzen. Zugriff immer über Bastion oder Session Manager.