跳到主要內容

Tips for bundling EC2 RHEL image with ephemeral storage

如果在 EC2 選了一個 ebs block device 是 6G 的 image, 要怎麼重新 bundle 成自己要的  image 呢?
首先是要下載 ec2-ami-tools, 裝完後, 如果你的系統有被 ruby rvm 搞爛了...導致一執行 ec2-bundle-vol 就出現 require error, 那先暫時把 path 設回系統的預設值吧! export PATH=/usr/bin:$PATH, 這時候下
ec2-bundle-vol -c /mnt/cert-XXXX.pem -k /mnt/pk-XXXX.pem -u {userid} -e /mnt -d /mnt
理論上會因為 /mnt 空間太小或者 loop device 在做轉存 image 的過程中耗光了可用空間,導致 bundle 失敗..其實 EC2 所有的 instance 都有 local 的 ephermal storage, 只是有的 instance 預設不會幫你 mount 起來, 而且 EC2 也不保證放在ephermal storage 上資料的安全性。這時候我們可以去手動把這個空間 mount 來, 做成 bundle image 時的暫存空間。以 RHEL 6.0 來說, ephermal storage 的 device id 可能為 /dev/xvd{X}, 可以先用 fdisk 看一下大小, 然後再用 mkfs /dev/xvd{X} 將其格式化在手動 mount 起來!
假設我將 ephermal storage 掛在 /emp 下,那最後用 ec2-bundle-vol 的指令就會變成
ec2-bundle-vol -c /mnt/cert-XXXX.pem -k /mnt/pk-XXXX.pem -u {userid} -e /mnt,/emp -d /emp
有時候倒霉的話還會遇到說 rsync 版本太舊,建議 upgrade後再重新 bundle 一次....不過應該可以不理它, 因為 bundle 還是會繼續....

留言

這個網誌中的熱門文章

flash tomato firmware on ASUS RT-N12-C1

Tomato by Shibby For RT-N12-C1 we have to download from: K26RT-N – MIPSR2 – special builds for E4200, RT-N10U, RT-N12B1/C1, RT-N15U, RT-N53, RT-N66U, WNR3500Lv2 and newer Linksys E-series routers Step: 1. Reset AP to factory default 2. Setup staic IP for you desktop or laptop 3. Unplug power 4. Press the reset button in the back of AP the plug power 5. Wait until the pwoer led falsh slowly 6. Open browser and connect http://192.168.1.1 7. You should see a firmware upload page, select the tomato firmware and upload it 8. After upload success wait 5 minutes 9. Connect http://192.168.1.1, if you see the tomato webpage, you have done the job!

3M UVA3000 更換濾芯紫外線燈匣

用了一年的3M濾水器提示說要換濾芯和燈匣 上 Youtube 想找教學的影片可是沒看到 UVA 3000 的 經過了一番奮戰後在這邊記錄一下 希望可以幫助後人,以免再重蹈覆轍。 Step 1. 拔掉插頭,把淨水器從牆上拿下來(基本上他是掛著而已),比較方便施工。 Step 2. 把前蓋往上拉,很容易就可以看到裡面的東西了。 Step 3. 打開後可以看到有兩個柱狀體,左邊的是燈匣,右邊的是濾芯。 Step 4. 這裡有個祕技是,這兩個柱狀體是可以往上 翻開30 度左右,這樣就可以有比較大的空間施工。 Step 4. 更換濾芯的話,柱狀體的瓶身上有箭頭,往左就是轉開,往右就是鎖緊。 Step 5. 更換燈匣的話比較麻煩一點,因為他底部是電源,頂部的右邊有個突出來的小方塊。對照淨水器上方連接處的話會有個弧形的凹槽,這是要 match 的.如果你只注意瓶身的箭頭往右鎖回去,就會造成漏水...Orz... Step 6. 把前蓋蓋回,機器掛回牆上,插插頭,開水,如果機器沒有告訴你有燈匣異常或漏水的話,就可以長按 C / UV  Reset 計數器了. 所以關鍵字就是,要往上翻 30 度,燈匣上面的小凸點要在右側,要看瓶身的 小箭頭. May it helps!

Application Load Balancer lambda endpoint healthy check will be charged

AWS 還是有蠻多坑的... 如果 ALB 的 TargetGroup 使用 lambda endpoint 那麼為了避免 code start issue 可能會使用 provisioned concurrency 另外 lambda endpoint 在 update stack 的時候會出現 Load Balancer not able to stabilizied 的問題。AWS support 目前給的work around就是開啟 ALB healthy check 預設是每 35 秒會做一次 healthy check 然後如果 ALB 跨3個 AZ 的話,healthy check count 就 x3 .... 然後每次的 lambda execution 都是照 lambda function usage 來收費 另外ALB的 healthy check 不會有完整的 request header 如果你的 framework 不預期有這種不正常的 header 沒有去 handle 的話 可能會一直狂噴500... 如果你還沒有把預設的 lambda error retry 關掉的話...... 這樣子用 lambda endpoint 真的比較省嗎?....