[10]: https://git-scm.com/downloads
![TBZ Banner](../x_gitres/tbz_logo.png)
# KN02 Inhaltsverzeichnis
[TOC]
## Lernziele
- **Kompetenzband A**: _Text anpassen_ --> ALT: Anforderungen analysieren (Handlungsziele 1,2)
- **Kompetenzband C**: _Text anpassen_ --> ALT: Aufwände schätzen (Handlungsziel 1)
- **Kompetenzband D**: _Text anpassen_ --> ALT: Optionen auf dem Markt vergleichen (Handlungsziel 2)
## Challenges
### A) Lab: EC2 Instanz und S3 Bucket aufsetzen
**Ausgangslage**:
- In der ersten Teilübung setzen Sie nach Anleitung eine **EC2-Instanz auf**. Sie verwenden dazu den Kurs **AWS Academy Introduction to Cloud: Semester 1 / Lab 4.1 - EC2.** Auftrag nach Anleitung durchführen.
- In der zweiten Teilübung setzen Sie nach Anleitung einen **S3-Bucket** auf und legen Daten darin ab. Sie verdwenden dazu den Kurs **AWS Academy Introduction to Cloud: Semester 1 / Lab 4.2 - S3.** Auftrag nach Anleitung durchführen.
---
### B) Zugriff mit SSH-Key
**Ausgangslage:**
- In dieser Übung nutzen Sie das **Learner Lab**. Sie setzen eine EC2 Instanz so auf, dass Sie mit ihrem persönlichen SSH-Key darauf zugreifen können.
---
### C) Installation Web- und Datenbankserver - Imperativ
**Ausgangslage:**
- Hier nutzen Sie ebenfalls das **Learner Lab**. Dieses Lab baut auf der vorangegangenen Aufgabe auf. Sie installieren zusätzlich weitere Software (Webserver, PHP und eine Datenbank), klonen ein bestehendes Repository in die laufende EC2-Instanz und kopieren den Content in das Hauptverzeichnis des Webservers (/var/www/html). Diese Schritte führen Sie der Reihe nach auf der Kommandozeile durch. Beweisen Sie danach, dass ihr Webserver funktioniert und Sie auch auf die Datenbank zugreifen können.
:bookmark: Dieses Vorgehen nennt man **imperativ** (detaillierte Anweisungen, Schritt für Schritt). In den folgenden Übungen werden Sie den **deklarativen** Ansatz und seinen **grossen Mehrwert** gegenüber dem **imperativen Ansatz** kennenlernen. In diesem Fall wird der gewünschte Zustand des Services in einem Manifest (z.B. YAML-File) **deklariert**. **IaC** (Infrastructure as Code) ist im Alltag der **Plattform- und Applikationsentwickler** nicht mehr wegzudenken.
## Sozialform:
- Einzel / Tandem (Jede:r dokumentiert im eigenen Repository)
## Leistungsnachweis:
- Dokumentation im persönlichen Repository
- Live-Demos
## Arbeitsauftrag
- [**Challenge KN02**](./KN02.md)
---
> [⇧ **Zurück zur Hauptseite**](https://gitlab.com/ser-cal/M346)
---