我們使用Ansible來配置ec2實例,在其上部署我們的應用程序,然後基於該實例創建AMI,更新啓動配置,以便自動調節小組總是推出新版本的應用程序。ec2中的元數據/塊設備映射不正確的臨時數據
我們針對不同的應用程序(diff實例大小,家庭等)重新使用了許多ansible的劇本。 這個運行的任務之一是檢查實例元數據以確定是否存在任何臨時設備,如果存在,請將它們掛載並將它們保存在/ etc/fstab和cloud-config中。
我們碰上與實例元數據類似於在此線程3年前描述的問題: https://forums.aws.amazon.com/thread.jspa?messageID=489889
現在我們正在做一些測試與t2.large情況下,如你所知,這種情況下,僅是EBS,但是當我們捲曲的實例元數據,我們得到的是有2個短暫的磁盤禮物: [email protected]:~$ curl http://169.254.169.254/latest/meta-data/block-device-mapping/ ami ebs1 ebs2 ephemeral0 ephemeral1
的事情是,這些短暫的設備並不實際存在,所以,當我們的腳本試圖堅持他們在cloud-config中,cloud-config最終成爲一個破碎的yaml blob ....這是一個重大問題,因爲它會導致我們er_data在實例啓動時失敗。
任何想法的人?
是的,答案我已經從AWS支持團隊得到的是基本上不使用元數據,使用lsblk代替。但總體思路是實例元數據是不可變的,是真相的源泉,爲什麼我們應該使用不同的東西? – sebamontini