====== user data====== [[aws:aws|{{ :aws:aws_logo_smile_1200x630.png?120|}}]] ===== context===== dit document beschrijft het gebruik van user data bij het maken van een instance. \\ Dit zijn extra commando's die je kan ingeven na het opstarten van je instance. \\ Zo kan je heel wat handmatige installatietaken laten uitvoeren. \\ ===== werking===== * alle commando's worden uitgevoerd als gebruiker **root**. Je hoeft dus geen sudo te gebruiken * begin het bestand met #!/bin/bash * output wordt toegevoegd aan /var/log/cloud-init-output.log. \\ Om wat structuur in dat logboek aan te brengen, kan je gerust wat ECHO-commando's toevoegen (zie voorbeelden) * als je data van internet haalt (github, bv), zorg dan dat je instance een extern ipadres heeft. ===== voorbeelden ===== ==== upgraden ==== #!/bin/bash echo "################################" echo "# bijwerken repositories en OS #" echo "################################" apt-get update apt-get upgrade -y - repositories worden bijgewerkt - OS wordt automatisch bijgewerkt ==== software installatie ==== #!/bin/bash echo "####################" echo "#installatie Nginx #" echo "####################" apt-get install nginx y echo "#####################" echo "#firewall aanpassen #" echo "#####################" ufw allow 'Nginx Full' * nginx wordt geïnstalleerd * firewall wordt aangepast ==== github ==== #!/bin/bash echo "###############################" echo "# downloaden backup programma #" echo "###############################" cd /usr/local/bin git clone https://github.com/kveys/backup.git rm -rf /usr/local/bin/backup/.git echo "###############################" echo "# downloaden backup programma #" echo "###############################" cd /tmp git clone https://github.com/kveys/linux.git mv /tmp/linux/modfinder.sh /usr/local/bin rm -rf /tmp/linux - backup programma wordt gedownload in /usr/local/bin/ - .git-bestanden worden verwijderd - Linux script worden gedownload naar /tmp/linux - modfinder.sh wordt naar /usr/local/bin verplaatst - /tmp/linux wordt verwijderd uitgewerkt voorbeelden te vinden in [[https://github.com/kveys/aws|github]] ===== beperkingen ===== eens de userdata opgeslagen, kan je die niet meer bewerken.\\ Enkel bij het lanceren van de instance of als je een nieuwe versie van je launch template aanmaakt. ===== Samenvatting===== user details zijn een prima manier om specieke types machines te maken: - maak een **launch template** aan (bv Nginx installatie) - kies een **machine image** die je wilt gebruikt - voeg alle **customisatie** toe in user details (software installatie, firewall config, configuratie bestanden, ...) - **bewaar** je launch template \\ Nu kan je deze launch template gebruiken om voortaan heel snel (Nginx) servers te bouwen Wil je daarna een machine bouwen die Nginx nodig heeft (bv Dokuwiki), dan kan je een nieuwe launch template maken, die bovenstaande als template neemt en die uitbreiden met de specifieke Dokuwiki configuratie. \\ Die launch template gebruik je dan om voortaan Dokuwiki installaties te doen. ===== meer info ===== voeg hier linken toe naar verdere uitleg {{tag>AWS}}