Amazon-Web-Services
不可變基礎架構中的配置更改
使用不可變基礎架構的人如何處理不同環境之間的配置更改?我無法找到一種為每個角色創建一個 AMI 並在所有環境中使用它的好方法。
我的意思是我如何建構一個可以部署到開發、登台和生產的單一 ami,但這指向該環境的正確 ELB 等。目前我能想到的唯一選擇是:
- 為每個角色的每個環境建構一個 AMI(生產 Web 伺服器、產品應用程序伺服器、登台 Web 伺服器……)。這似乎違背了 II 將相同圖像推送到所有環境的目的。
- 建構一個幾乎完整的 AMI,並在啟動後但在將其添加到 ELB 之前進行最終配置。這似乎很接近,但我覺得缺少一些東西。
無論如何,我是否可以在創建 AMI 時將一組參數傳遞給 AMI 或其他東西?其他人如何使用不可變的基礎設施?
謝謝。
在Boxfuse,我們生活和呼吸不可變的基礎設施。我們建議結合使用以下兩種方法:
- 直接在 AMI 中為所有環境烘焙盡可能多的配置(並在執行時自動選擇正確的設置)
- 將其餘設置作為實例使用者數據shell 腳本 (cloud-init) 傳遞,該腳本導出具有該機器/環境所需的值的環境環境