Lou’s Lab

Voor ik verga tot stof en as, wil ik weten hoe de wereld was (RvhG)

User Tools

Site Tools


aws:userdata

user data

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 
  1. repositories worden bijgewerkt
  2. 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
  1. backup programma wordt gedownload in /usr/local/bin/
  2. .git-bestanden worden verwijderd
  3. Linux script worden gedownload naar /tmp/linux
  4. modfinder.sh wordt naar /usr/local/bin verplaatst
  5. /tmp/linux wordt verwijderd

uitgewerkt voorbeelden te vinden in 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:

  1. maak een launch template aan (bv Nginx installatie)
  2. kies een machine image die je wilt gebruikt
  3. voeg alle customisatie toe in user details (software installatie, firewall config, configuratie bestanden, …)
  4. 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

aws/userdata.txt · Last modified: 2024/01/14 16:47 by admin