AWS cloudformation通過(guò)模板對(duì)AWS云資源進(jìn)行編排和調(diào)用。并且可以通過(guò)模板代碼層面的修改就可以對(duì)現(xiàn)有環(huán)境進(jìn)行升級(jí)改造,云端業(yè)務(wù)的靈活便捷特點(diǎn)展現(xiàn)無(wú)疑。下面我們通過(guò)一個(gè)入門級(jí)的簡(jiǎn)單動(dòng)手案例給大家展示cloudformation是如何使用的。希望大家也動(dòng)手親自實(shí)踐體驗(yàn)。
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)松原,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792
創(chuàng)建cloudformation模板
上圖:進(jìn)入webconsole控制臺(tái)的cloudformation界面,點(diǎn)選create new stack。(新用戶有1年的AWS free tier可以用來(lái)體驗(yàn)各種服務(wù))
上圖:本實(shí)驗(yàn)先選擇一個(gè)簡(jiǎn)單的單實(shí)例單區(qū)域LAMP Stack。
上圖:點(diǎn)擊View/Edit template in Designer進(jìn)入可視化編輯模板界面。
上圖:可視化編輯界面可以看到模板現(xiàn)有資源之間的依賴關(guān)系,當(dāng)點(diǎn)擊securitygroup的圖標(biāo)時(shí),下方模板的JSON語(yǔ)言會(huì)自動(dòng)跳到securitygroup相關(guān)的代碼方便審查和修改。
上圖:點(diǎn)擊ec2圖標(biāo)時(shí),下方JSON語(yǔ)言會(huì)自動(dòng)跳到ec2的部分。左邊Resource types里面的資源都是可以點(diǎn)擊生成相應(yīng)代碼,使用者可以直接使用或者根據(jù)實(shí)際情況對(duì)代碼參數(shù)進(jìn)行修改,非常的方便。
上圖:點(diǎn)擊左上角的create stack標(biāo)致對(duì)準(zhǔn)備好的模板進(jìn)行創(chuàng)建。
上圖:選擇LAMP Stack模板然后點(diǎn)擊Next。
上圖:Stack name這里填寫個(gè)a-nice-template,正式工作中建議規(guī)范化命名。InstanceType這里選擇t2.micro因?yàn)樽鰧?shí)驗(yàn)練習(xí)而已。KeyName是用于登陸這臺(tái)ec2的密鑰,選擇好即可。DB相關(guān)的可以隨便填寫,不懂的可以去百度MySQL的基本知識(shí)。然后連續(xù)點(diǎn)擊右下角的next兩次直到進(jìn)入create頁(yè)面。
上圖:review界面??梢钥吹竭@個(gè)Lamp Stack的相關(guān)信息,確認(rèn)無(wú)誤后點(diǎn)擊右下角create執(zhí)行創(chuàng)建資源。
上圖:模板資源正在創(chuàng)建過(guò)程中create in progress,速度會(huì)非??臁?br/>
上圖:很快創(chuàng)建完成資源。
上圖:最終回到ec2的控制臺(tái),可以看到剛才用cloudformation創(chuàng)建好的LAMP單機(jī)已經(jīng)可以使用了,并且這臺(tái)機(jī)器的securitygroup也是剛通過(guò)a-nice-template創(chuàng)建的。
上圖:點(diǎn)擊cloudformation這里模板的URL鏈接也可以訪問(wèn)剛創(chuàng)建的ec2。
上圖:實(shí)驗(yàn)完成后記得刪除資源,以免扣費(fèi)。
總結(jié):用cloudformation不僅可以迅速的通過(guò)模板對(duì)基礎(chǔ)設(shè)施層的資源進(jìn)行調(diào)用并快速部署,還可以對(duì)資源內(nèi)部的應(yīng)用/系統(tǒng)配置文件進(jìn)行修改操作,非常強(qiáng)大。模板可以反復(fù)使用,只需根據(jù)實(shí)際情況對(duì)模板內(nèi)的參數(shù)進(jìn)行少量的修改即可,一勞永逸的理念極大的減少了DevOps的工作量。