こんにちは、cloudpackがみさんです。

とりあえず突貫で。

  • curl 刺さった時とかどうするののアレ
  • --queryvolume_id 指定するんだけど変数食わせられないから微妙
  • mysql停止起動失敗のアレ
  • mysql起動後にレプリケーションチェックしないとアレ
#!/bin/bash

REGION="--region ap-northeast-1"

init()
{
        INSTANCE_ID=`curl -s http://169.254.169.254/latest/meta-data/instance-id`
        BACKUP_VOLUMEID=`aws ec2 describe-instances --instance-id ${INSTANCE_ID} ${REGION} 
        --query 'Reservations[].Instances[].BlockDeviceMappings[?DeviceName==`/dev/xvdb`].Ebs[].VolumeId' --output text`
        DESCRIPTION="${INSTANCE_ID} ${BACKUP_VOLUMEID} `date +%y%m%d` snapshot"
}
mysqlctl()
{
        ACTION=$1
        sudo service mysqld ${ACTION}
        if [ ${ACTION} == "stop" ];then
                sync;sync;sync
        fi
}
backup()
{
        BACKUP_VOLUME=$1
        aws ec2 create-snapshot --volume-id ${BACKUP_VOLUMEID} --description "${DESCRIPTION}" ${REGION}
        RESULT=$?
        return ${RESULT}
}
run()
{
        init
        mysqlctl stop
        backup
        mysqlctl start
}
run

アレ

元記事はこちらです。
EBS スナップショットでほげほげするアレ