6.6 KiB
KN07 Inhaltsverzeichnis
[TOC]
Challenges
A) Theorie: Recherche Datensicherung
Ausgangslage:
🔖 Datensicherung ist ein entscheidender Aspekt in jeder modernen IT-Infrastruktur. Insbesondere in der Cloud, wo Datenverlust oder -beschädigung katastrophale Folgen haben kann. Amazon Web Services (AWS) bietet eine Vielzahl von Tools und Diensten, um sicherzustellen, dass Ihre Daten effektiv geschützt und wiederhergestellt werden können. Zwei grundlegende Konzepte in diesem Zusammenhang sind "Snapshots" und "Backups".
- Snapshot: Ein Snapshot ist eine Momentaufnahme eines EBS-Volumes. Es speichert den Zustand zu einem bestimmten Zeitpunkt und ist effizient, da es inkrementell Änderungen speichert.
- Backup: Ein Backup ist eine umfassendere Sicherung von AWS-Ressourcen wie EC2-Instanzen, Datenbanken und S3-Buckets. Hierbei können spezifische Einstellungen und Konfigurationen berücksichtigt werden. AWS Backup ist ein zentralisierter Dienst zur Verwaltung dieser Backups.
B) Lab: EBS Volume erstellen, Snapshot ziehen und daraus neues Volume erzeugen
Ausgangslage:
🔖 Für dieses Lab verwenden Sie in der AWS Academy den Kurs AWS Academy Cloud Foundation. In diesem Lab erstellen Sie ein Amazon EBS-Volume, hängen dieses an eine Instance und legen ein Dateisystem auf dem Volume an (diesmal Linux und nicht Windows). Danach erstellen Sie aus dem Volume ein Snapshot. Dies kann als Backup oder auch als Image für weitere Instanzen genutzt werden.
Anleitung:
Für den ersten Challenge der Kompetenz KN07 wechseln Sie ins siebte Modul Module 7 - Storage. Hier finden Sie die praktische Übung Lab 4 - Working with EBS. Diese ist Schritt für Schritt geleitet.
Modul 7: Lab 4 - Working with EBS
Das Lab dauert ca. 30'. Führen Sie alle Schritte konzentriert und der Reihe nach durch.
Aufbau:
- : 🔎 Originalbild (oder unten auf das Bild klicken)
1 xxx
Ziel der Übung
🔔 Sie sind in der Lage, folgende Tasks durchzuführen:
- Wiederholung:
- Sie wissen, wie man ein EBS Volume erstellt.
- Sie können ein EBS Volume einer EC2-Instanz anhängen.
- Sie können per SSH auf eine EC2-Instanz zugreifen
- Neu:
- Sie können ein neues Volume erstellen und darauf ein ext3-Filesystem für eine Linux Distribution erzeugen (im KN04 haben sie bereits ein NTFS für Windows erzeugt)
- Sie können das Volume persistent an eine EC2-Instanz mpunten (Wird bei Reboot eingehängt).
- Sie können files auf diesem Volume ablegen (file.txt)
- Sie können ein EBS Snapshot des Volumes erzeugen (Point-in-time Backup).
- Sie löschen das vorher erstelle file auf dem Volume und beweisen anschliessend, dass sie dieses file mit einem Restore des Snapshots wiederherstellen können.
Leistungsnachweis
- Ablauf nachvollziehbar im eigenen Repository dokumentiert.
- Live-Demo beim Coach (File löschen und mit Restore des Snapshots wiederherstellen)
- Fachgespräch mit Coach.
C) Lab: Webserver erstellen, Snapshot ziehen und daraus neues Volume erzeugen
Ausgangslage:
🔖 Für dieses Lab verwenden Sie in der AWS Academy den Kurs AWS Academy Learner Lab.
Dieser Challenge scheint auf den ersten Blick fast gleich wie der letzte. Wie bereits öfters durchgeführt, werden Sie in einer Availability Zone eine EC2-Instanz launchen mit einem Webserver. Den HTML-Code beziehen Sie von einem S3-Bucket. Wenn die Installation abgeschlossen ist und der Webserver funktioniert, werden Sie daraus ein Snapshot / neues Image erzeugen. Dieses neue Image beinhaltet also bereits die gesamte Applikation (in diesem Fall den Webserver inkl. index.html). Da Snapshots innerhalb einer Region in einem Object-Store S3 abgelegt wird, kann das daraus erzeuge Image in einer anderen Availability Zone wieder gestartet werden. Diesmal dauert es bedeutend weniger lang, bis die EC2-Instanz läuft und auf den Webserver zugegriffen werden kann. Das neue Image beinhaltet bereits die gesamte Applikation. Das heisst also auch, dass unter User-data kein IaC-Script mehr eingetragen werden muss.
Anleitung:
Schritt 1: IAM Instance Profile für Zugriff auf S3-Bucket <-- NOCH ERSTELLEN
Zuerst muss ein sogenanntes IAM Instance Profile erstellt werden. Beim übernächsten Schritt wird dieses Profil der Instanz zugeteilt. Das Instance Profile bestimmt, welche Berechtigungen die Instanz erhält.
- Öffnen Sie d
Schritt 2: S3-Bucket erstellen und File darin ablegen
- Erstellen nun einen S3-Bucket
KN07-C_<erste 5 Buchstaben ihres Namens>
(z.B KN07-C_Calis). - Legen Sie darin das file ami-test.txt mit HTML-Content ab (Im nächsten Schritt wird bei der Installation des Webservers darauf zugreifen)
Schritt 3: EC2-Instanz mit AMI Amazon Linux 2023
-
Öffnen Sie die AWS Management Console.
-
Navigieren Sie zur EC2-Dashboardseite.
-
Klicken Sie auf "Launch instance".
-
Name:
KN06 C Webserver-Image
-
Wählen Sie Amazon Linux 202x AMI aus.
-
Wählen Sie die Instanztyp t2.micro (free tier eligible).
-
Bei Key pair Wählen Sie
Proceed without a key pair
(es wird kein Key pair benötigt bei diesem Challenge) -
Unter Network settings wählen Sie eine bestehende Security Group aus, welche bereits eine outbound rule für Port 80 (HTTP) geöffnet hat, damit Sie später auf den Webserver zugreifen können.
-
Bei Advanced details muss unter
IAM Instance profile
das oben (oder früher) erstellte Profil S3ReadOnly ausgewählt werden. Damit stellen Sie sicher, dass die Instanz bei der Installation auf den S3-Bucket zugreifen kann, wo das HTML Indexfile abgelegt ist. -
Ebenfalls bei Advanced details unter user data wird folgender Code eingetragen: ⚠️ Hinweis: Achten Sie darauf, dass sie in der letzten Zeile den Platzhalter
<Name S3-Bucket>
noch mit dem Namen Ihres S3-Buckets ersetzen.#!/bin/bash yum update -y yum install -y httpd systemctl start httpd systemctl enable httpd aws s3 cp s3://<Name S3-Bucket>/ami-test.txt /var/www/html/index.html
-
Starten Sie die Instanz mit Launch instance.
In diesem Fall werden Sie allerdings wie folgt vorgehen:
- EC2-Instanz erstellen mit:
- Mit Berechtigung zu S3-Bucket, um ein HTML-File (index.txt) runterzuladen
- IaC-Code um einen Webserver zu erstellen und das obige index.txt in das Verzeichnis /var/www/html/index.html zu kopieren