m346/KN03/KN03.md
Marcello Calisto 68c6557ef3 Draft ergänzt
2023-09-02 14:50:14 +02:00

5.5 KiB

TBZ Banner

KN03 Inhaltsverzeichnis

[TOC]


Intro

Beachten Sie die allgemeinen Informationen zu den Abgaben.

Wir nutzen Amazon Web Services oder abgekürt AWS. Alles was wir hier umsetzen, bieten allerdings auch andere public cloud Anbieter (z.B. Microsoft Azure, Google Cloud Platform oder Linode).


Challenges

A) Cloud-init Datei verstehen

Ausgangslage:

xxx

Anleitung:

Erstellen Sie nun wieder eine neue Ubuntu-Instanz in AWS mit den Standard-Einstellungen und erstellen Sie dann zwei Key pairs wie folgt:

  • Ubuntu Server 22.04 AMI (Amazon Machine Image) auswählen.

  • Achten auf Free tier eligible.

    Auswahl AMI (Amazon Machine Image), Free tier eligible
    keypair1
  • Bei "Key pair" erstellen Sie zwei Key-Value Pairs! Geben Sie Namen wie <Ihr-Name>-1 und & lt;Ihr-Name>-2.

    Create new Key pair Felder ausfüllen / anwählen
    keypair1 keypair2
  • Stellen Sie sicher, dass Sie beide Schlüssel herunterladen.

  • Nachdem beide Keys erstellt wurden, wählen Sie bei "Key pair" dann den ersten Key aus. Belassen sie die restlichen Parameter so wie sie bereits eingestellt sind. Scrollen Sie bis ganz nach unten und klicken Sie auf Launch instance.

Speicherort der privaten (und öffentlichen) Schlüssel muss ein Pfad sein, der eingeschränkte Rechte hat (nur Ihr persönlicher Account). Normalerweise wird der Pfad C:\Users\<ihrBenutzer>\.ssh verwendet.

Der Befehl für den Zugriff sieht nun folgendermassen aus. Der Parameter -o verhindert, dass Sie ein Timeout kriegen.


ssh <user>@<server> -i <path-to-privatekey>\<private-key-file>.pem -o ServerAliveInterval=30
# Standard-Benutzername ist ubuntu!
# Beispiel: ssh ubuntu@121.12.3.1 -i c:\Users\nussle\.ssh\yves-1.pem -o ServerAliveInterval=30

Zeigen Sie, dass sie sich nur mit dem ausgewählten Schlüssel einloggen können.

Hinweis: AWS speichert ihren privaten Schlüssel nicht. Sie können den nicht wiederherstellen. Auf dem Ubuntu-Server liegt immer nur der öffentliche Schlüssel. Seien Sie also vorsichtig und verlieren Sie den Schlüssel nicht.

Ziel der Übung

🔔 Sie verstehen, wie Key pairs erstellt und angewendet werden. Einer wird nicht funktionieren. Überlegen Sie sich, weshalb das so ist und wie die Authentifizierung durchgeführt wird. Wo werden die Keys (Private / Public) abgelegt?

Leistungsnachweis
  • Screenshot mit dem ssh-Befehl und des Resultats unter Verwendung des ersten Schlüssels.
  • Screenshot mit dem ssh-Befehl und des Resultats unter Verwendung des zweiten Schlüssels.
  • Screenshot der Instanz-Detail (oder Liste), so dass der verwendete Schlüssel sichtbar ist.
  • Differenziert und nachvollziehbar im persönlichen Repository dokumentiert.
  • Fachgespräch mit Coach.

Beachten Sie ausserdem die allgemeinen Informationen zu den Abgaben.



B) SSH-Key und Cloud-init (Beginner)

Ausgangslage:

Via SSH auf EC2-Instanz zugreifen und sämtliche Kommandos für das Setup des Webservers mit DB-Zugriff manuell (imperativ) der Reihe nach ausführen. Verwenden Sie die Instanz aus Aufgabe B) und gehen Sie wie folgt vor:

Ports checken, Rule ergänzen (Security Group)

  • Stellen Sie sicher, dass die dazu notwendigen Ports in der ausgewählten Security-Group offen sind:
    • 22 für SSH Zugriff (sollte bereits vorhanden sein)
    • 80 für HTTP Zugriff (dazu müssen sie in der ausgewählten Security Group noch eine Inbound rule erstellen - gleich wie beim ersten Lab, siehe Bild unten)
    Inbound rule für HTTP hinzufügen
    keypair1

SSH-Verbindung aufbauen

  • Bauen Sie von Ihrem Laptop aus eine SSH-Verbindung auf Ihre EC2-Instanz auf (via Terminalfenster auf ihrem Laptop mit SSH auf die EC2-Instanz zugreifen). Kommandos auf Ihrer EC2-Instanz der letzten Übung auszuführen:

    1. Connect to instance 2. SSH Client auswählen
    connect1 connect2
  • Führen Sie wie folgt sämtliche Kommandos für das Setup des Webservers mit DB-Zugriff manuell (imperativ) der Reihe nach aus.

    • sudo apt update auf. Dieser Befehl aktualisiert die Pakete/Software.
    • sudo apt install apache2. Dieser Befehl installiert den Apache Webserver.
    • sudo apt install php. Dieser Befehl installiert den PHP Applikationsserver.
    • sudo apt install libapache2-mod-php. Dieser Befehl installiert die PHP-Erweiterung für Apache.
    • sudo apt install php-mysqli. Dieser Befehlt installiert das PHP-Modul, um Datenbank-Abfragen zu erstellen.

Ziel der Übung

🔔 Verständnisaufbau für ...des weiteren:

  • erstellen Sie einen DB-Benutzer (inkl. Passwort)
Leistungsnachweis
  • xx
  • xx

Beachten Sie ausserdem die allgemeinen Informationen zu den Abgaben.

Beispiel-Abgabe:
  • Screenshots der drei URLs:
    Apache PHP DB-User
    Apache PHP User


Quellen

  • xx


Zurück zu KN03


Zurück zur Hauptseite