AWS : automatisierter start der aws instanzen
Problem : Automatisches Starten der Instanzen bei AWS
Lösung : Man lässt dieses Skript auf einer Maschine/Instanz laufen auf der die aws cli konfiguriert ist.
Lösung : Man lässt dieses Skript auf einer Maschine/Instanz laufen auf der die aws cli konfiguriert ist.
#!/bin/bash set -o nounset set -o pipefail # Script startet alle definierten Maschinen AWS_PATH="/root/.local/bin/" # ----------------------------------------------------------- # Definieren der Maschinen die gestartet werden müssen # ----------------------------------------------------------- # z.B. declare -a TO_START=("i-xxxxxxxxxxxxxxxxx" "i-xxxxxxxxxxxxxxxxx" "i-xxxxxxxxxxxxxxxxx" "i-xxxxxxxxxxxxxxxxx") declare -a TO_START=("") # ------------------------------------------------------------ # nichts mehr ändern # ------------------------------------------------------------ LOG_PATH="$(dirname $(readlink -f $0))/logs" LOG_FILE="$(date +%Y%m%d)-awscli.log" # ------------------------------------------------------------ # Funktionen # ------------------------------------------------------------ function logger () { mkdir -p ${LOG_PATH} if [ -z ${2} ]; then STATI="INFO" else STATI="${2}" fi echo "$(date +%Y-%m-%d) | $(date +%R) | ${STATI} | ${1}" >> ${LOG_PATH}/${LOG_FILE} } # ------------------------------------------------------------ logger "Starte -> ${0##*/}" "INFO" cnt=${#TO_START[@]} for ((i = 0 ; i < cnt ; i++ )); do logger "${TO_START[i]} wird gestartet" "INFO" ${AWS_PATH}aws ec2 start-instances --instance-ids ${TO_START[i]} > /dev/null 2>&1 done logger "Beende -> ${0##*/}" "INFO" exit 0