Можно ли создать том EBS и присоединить его к тому же экземпляру? бото будет чем-нибудь помочь?
Да, это так. Задайте свои учетные данные как переменные среды (AWS_ACCESS_KEY_ID
и AWS_SECRET_ACCESS_KEY
), установить boto
и запустите Python:
>>> import boto
>>> ec2 = boto.connect_ec2()
>>> reservations = ec2.get_all_instances()
>>> ins = reservations.instances[0] # say ins is *this* instance
>>> vol = ec2.create_volume(10, ins.placement)
>>> vol.attach(inst.id, '/dev/sdh')
u'attaching'
Вышеуказанное предполагает, что у вас запущен только один экземпляр. Если вы знаете идентификатор своего экземпляра (вы должны!), Вы можете просто сопоставить идентификаторы экземпляров для всех экземпляров для всех резервирований.
В конце концов вы можете просто отформатировать свой том и смонтировать его:
# mkfs -t ext3 /dev/sdh
# mkdir /volume
# mount -t ext3 /dev/sdh /volume
Я думаю, что получение идентификатора экземпляра динамически - лучший вариант. Вы можете улучшить приведенный выше сценарий, отправив запрос GET по следующему URL-адресу в экземпляре.
http://169.254.169.254/2009-04-04/meta-data/instance-id
Затем вы можете написать один сценарий, который будет работать для всех экземпляров. Даже если у вас есть только один за раз, вы можете включить этот скрипт в настраиваемый AMI, чтобы каждый новый экземпляр мог при необходимости создать себе новый том.