Пользовательская папка подкачки AWS AMI и временная папка

Я хочу создать AMI. Этот AMI должен монтировать эфемерное хранилище моих экземпляров при запуске и создавать swap file и папку для /tmp

Что я сейчас делаю, так это после того, как я загрузился, чтобы запустить пару команд:

sudo mkdir /media/ephemeral1/
sudo mount /dev/xvdc /media/ephemeral1/
sudo mkdir /media/ephemeral1/temp
sudo mount -B /tmp /media/ephemeral1/temp

и: (xvdb всегда автоматически монтируется в /media/ephemeral0/?)

sudo /bin/dd if=/dev/zero of=/media/ephemeral0/swap.1 bs=1M count=4096
sudo /sbin/mkswap /media/ephemeral0/swap.1
sudo chmod 600 /media/ephemeral0/swap.1
sudo /sbin/swapon /media/ephemeral0/swap.1

мне просто добавить все это в мой ~/.bashrc или как правильно решить эту проблему. В конце концов, мне нужен AMI, который я могу добавить к экземпляру с эфемерным хранилищем и просто получить как temp dir, так и swap.


person Thagor    schedule 05.09.2017    source источник


Ответы (1)


Во-первых, .bash_rc — неподходящее место для этого, потому что он будет запускаться каждый раз при запуске Bash. Возможно, вы захотите взглянуть на использование пользовательских данных при запуске. Поскольку вы перемещаете их во временное хранилище, вы должны помнить, что временное хранилище может быть разным в зависимости от типа экземпляра и класса. Внедрение этого типа изменений напрямую в образ AMI невозможно, поскольку образы AMI должны поддерживаться EBS. Поэтому лучше всего использовать пользовательские данные, как описано ниже:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html

person BryceH    schedule 05.09.2017
comment
Спасибо, да, я понимаю, что эфемерное хранилище зависит от типа экземпляра. Чего я не упомянул, так это того, что AMI будет для конкретного экземпляра (c3.2xlarge). Будут ли уже смонтированные устройства (xvdb/xvdc) отличаться от экземпляра c3.2xlarge до экземпляра c3.2xlarge? - person Thagor; 05.09.2017
comment
Нет, но вам нужно будет справиться с этим с помощью пользовательских данных, как подробно описано в ответе. - person BryceH; 05.09.2017
comment
Внедрение этого типа изменений напрямую в образ AMI невозможно, поскольку образы AMI должны поддерживаться EBS, что не соответствует логике, а также является неточным. AMI хранилища экземпляров, конечно, не поддерживается EBS... и с AMI, поддерживаемым EBS, все это можно запечь для выполнения при запуске с использованием службы метаданных (не пользовательских данных) для обнаружения имен устройств эфемерного диски. - person Michael - sqlbot; 06.09.2017