自定义 AWS AMI 交换和临时文件夹

Custom AWS AMI Swap and Temp Folder

我想创建一个 AMI。此 AMI 应在启动时装载我的实例的临时存储,并为 /tmp

创建一个 swap file 和一个文件夹

我目前正在做的是在我启动到 运行 几个命令之后:

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 dirswap.

首先,.bash_rc 是错误的位置,因为每次 Bash 启动时它都会 运行。您可能想看看在启动时使用用户数据。由于您要将这些移动到临时存储,因此您必须记住临时存储可能因实例类型而异 class。将这种类型的更改直接烘焙到 AMI 中是不可能的,因为 AMI 必须由 EBS 支持。因此,您最好的选择是使用如下所述的用户数据 -

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