AWS: EC2, S3, RDS, IAM

Aus devops.straight8.de
Version vom 5. Februar 2026, 17:21 Uhr von KingHayes (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

1. Compute & Storage (EC2 und S3)

AWS bietet eine Vielzahl von Diensten, aber EC2 und S3 bilden seit den Anfängen das Rückgrat fast jeder Cloud-Architektur.

1.1 Amazon EC2 (Elastic Compute Cloud)

EC2 stellt virtuelle Server (Instanzen) in der Cloud bereit. Es ist das Äquivalent zu physischen Servern im eigenen Rechenzentrum, jedoch mit dem Vorteil der sekundenschnellen Skalierbarkeit.

  • Instanztypen: AWS bietet spezialisierte Hardware-Konfigurationen für verschiedene Zwecke (z. B. T-Serie für allgemeine Aufgaben, C-Serie für rechenintensive Anwendungen, R-Serie für speicherintensive Datenbanken).
  • Skalierbarkeit: Über Auto Scaling Groups kann die Anzahl der Instanzen automatisch an die CPU-Auslastung oder den Netzwerkverkehr angepasst werden.
  • Zahlungsmodell: Man zahlt nur für die Kapazität, die man tatsächlich nutzt (On-Demand), oder spart durch Vorab-Reservierungen (Reserved Instances).


1.2 Amazon S3 (Simple Storage Service)

S3 ist ein Objektspeicher-Dienst, der für das Speichern und Abrufen beliebiger Datenmengen ausgelegt ist. Er bietet eine theoretisch unbegrenzte Kapazität und eine extrem hohe Datenhaltbarkeit (99,999999999%).

  • Buckets & Objekte: Daten werden als "Objekte" in "Buckets" (Containern) gespeichert. Jedes Objekt hat eine eindeutige ID (Key) und Metadaten.
  • Speicherklassen:
    • S3 Standard: Für häufig genutzte Daten.
    • S3 Glacier: Kostengünstiges Archiv für Daten, die selten abgerufen werden.
  • Einsatzgebiete: Hosting statischer Webseiten, Backups, Data Lakes für Big-Data-Analysen.

2. Datenbanken (Amazon RDS)

Das Verwalten eigener Datenbanken auf EC2-Instanzen ist komplex. Hier setzt Amazon RDS (Relational Database Service) an, um den administrativen Aufwand zu minimieren.

2.1 Was ist Amazon RDS?

RDS ist ein verwalteter Dienst für relationale Datenbanken. AWS übernimmt hierbei die "undankbaren" Aufgaben wie Hardware-Provisionierung, Datenbank-Setup, Patching und Backups.


2.2 Unterstützte Datenbank-Engines

Kunden können aus verschiedenen populären Engines wählen:

  • MySQL, PostgreSQL, MariaDB
  • Oracle, Microsoft SQL Server
  • Amazon Aurora: Eine von AWS optimierte, Cloud-native Datenbank, die bis zu 5x schneller als Standard-MySQL ist.

2.3 Hochverfügbarkeit mit Multi-AZ

Durch Aktivierung der Multi-AZ-Option (Multi-Availability Zone) repliziert RDS die Daten synchron in ein zweites Rechenzentrum. Fällt das primäre Rechenzentrum aus, erfolgt ein automatisches Failover ohne Datenverlust und ohne Änderung der Verbindungszeichenfolge (Endpoint) in der Applikation.

2.4 Read Replicas

Für leseintensive Anwendungen können Read Replicas erstellt werden. Diese entlasten die Hauptdatenbank, indem sie Kopien der Daten für Abfragen (Select-Statements) bereitstellen.


3. Sicherheit & Zugriff (AWS IAM)

Sicherheit ist bei AWS die "Job Zero". Der zentrale Dienst hierfür ist das Identity and Access Management (IAM).

3.1 Das IAM-Framework

IAM ermöglicht es, den Zugriff auf AWS-Ressourcen sicher zu steuern. Es ist ein globaler Dienst (nicht regionsspezifisch) und kostenlos.


3.2 Die wichtigsten Identitäten

  • IAM Users: Personen innerhalb einer Organisation. Jeder sollte einen eigenen Account haben (kein Teilen von Root-Zugangsdaten!).
  • IAM Groups: Sammlungen von Usern. Berechtigungen sollten idealerweise auf Gruppenebene vergeben werden.
  • IAM Roles: Werden nicht Personen, sondern Services zugewiesen. Beispielsweise kann eine EC2-Instanz eine Rolle erhalten, die es ihr erlaubt, Dateien in einen S3-Bucket zu schreiben, ohne dass Passwörter auf dem Server gespeichert werden müssen.

3.3 Policies (Richtlinien)

Berechtigungen werden in JSON-Dokumenten definiert. Eine typische Policy legt fest:

  • Effect: Erlauben (Allow) oder Verweigern (Deny).
  • Action: Welche Aktion (z. B. `s3:ListBucket`).
  • Resource: Auf welche Ressource (z. B. ARN des Buckets).

3.4 Best Practices für AWS Sicherheit

  1. MFA für den Root-User: Den Root-Account nach der Ersteinrichtung mit Multi-Faktor-Authentifizierung sichern und "einsperren".
  2. Least Privilege: Vergebe nur so viele Rechte wie unbedingt nötig.
  3. Rollen statt Keys: Nutze IAM-Rollen für Anwendungen, um das Risiko von gestohlenen Access-Keys zu minimieren.

Zusammenfassend: EC2 liefert die Rechenpower, S3 den Speicherplatz, RDS die strukturierten Daten und IAM hält alles sicher zusammen.