2017-09-05 59 views
0

我想創建一個AMI。這AMI應該安裝我在啓動情況下的臨時儲存,並創建一個swap file/tmp自定義AWS AMI交換和臨時文件夾

什麼我目前做的是一個文件夾後,我啓動運行幾個命令:

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

和(xvdb常是自動安裝在/媒體/ 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

回答

0

首先,.bash_rc是錯誤的地方,因爲它每次啓動Bash都會運行。你可能想看看在啓動時使用用戶數據。由於您將這些存儲轉移到臨時存儲中,因此您必須記住,每個實例類型和類別的臨時存儲可能會有所不同。將這種類型的更改直接烘焙到AMI中是不可能的,因爲AMI必須由EBS支持。因此,你最好的選擇是使用用戶數據概述如下 -

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

+0

謝謝,是的,我明白短暫存儲從實例類型的實例類型而異。我沒有提到的是,AMI將用於特定的實例(c3.2xlarge)。已安裝的設備(xvdb/xvdc)會不同於c3.2xlarge實例到c3.2xlarge實例? – Thagor

+0

不,但您需要通過用戶數據處理此問題,如答案中所述。 – BryceH

+0

*「由於AMI必須由EBS支持,因此不可能直接將這種類型的變化直接映射到AMI」*是不合理的,也是不準確的。一個實例存儲AMI不是由EBS支持的,當然是......並且由EBS支持的AMI,可以在啓動時使用元數據服務(而不是用戶數據)來發現臨時設備名稱磁盤。 –