VMware vRealize Automation(vRA,以前稱為vCloud Automation Center)是VMware公司開發(fā)的虛擬環(huán)境自動化軟體。vRealize提供了一個安全門戶,讓用戶可以在其中請求新的IT服務(wù),並管理特定的雲(yún)端和IT資源。應(yīng)用程式開發(fā)人員使用vRealize REST(表述性狀態(tài)傳遞)API,將可以在虛擬、物理和雲(yún)端環(huán)境中部署和實(shí)現(xiàn)虛擬機(jī)器/物理機(jī)自動化。
本文針對希望使用vRealize Automation REST API進(jìn)行編程部署和管理vRealize Automation的軟體工程師和應(yīng)用程式開發(fā)人員介紹如何逐步使用vRealize Automation REST API來部署藍(lán)圖,包括如何使用REST API服務(wù)和資源,如何創(chuàng)建HTTP承載權(quán)杖以進(jìn)行身份驗(yàn)證和授權(quán),以及如何構(gòu)建REST API服務(wù)調(diào)用。相關(guān)展示步驟如下所示:
從藍(lán)圖部署虛擬機(jī)器。
在部署過程中監(jiān)視請求狀態(tài)。
最後,在過程結(jié)束時返回有關(guān)已部署虛擬機(jī)器的網(wǎng)路資訊。
目標(biāo)對象
本文適用於需要創(chuàng)建用戶端應(yīng)用程式、Web介面、Web服務(wù)(連接到vAPI端點(diǎn)以使用VMware vSphere Automation SDK進(jìn)行REST服務(wù))的應(yīng)用程式開發(fā)人員和軟體工程師,以及任何想要使用vRA管理其資源、但又希望資源部署可適應(yīng)其當(dāng)前流程的人員。
為何選擇vRealize Automation,而不是vCloud Director (vCD)
VMware已宣佈vCloud Director將不再是vCloud Suite 6.x產(chǎn)品許可證的一部分。對於企業(yè)客戶而言,vCloud Director即將終結(jié)。vCloud Director將繼續(xù)透過雲(yún)端打包中的VMware服務(wù)提供者計(jì)畫(VSPP)提供。
對於目前使用vCloud Director的用戶而言,vRealize Automation將是後續(xù)替代產(chǎn)品。vRealize Automation可以加快應(yīng)用程式和計(jì)算服務(wù)的部署和管理。
為何選擇REST API而不是SOAP
SOAP(簡單物件存取協(xié)定)和REST都是Web服務(wù)通訊協(xié)定。REST透過一個單獨(dú)、統(tǒng)一的介面來存取命名資源。它在透過互聯(lián)網(wǎng)發(fā)佈公有API時最為常用。SOAP則與之不同,它將應(yīng)用程式邏輯的元件作為服務(wù)發(fā)佈,而不是資料。
REST允許更多種類的資料格式,而SOAP只允許XML。
通常認(rèn)為REST與JSON(通常可以更好地處理資料並提供更快的解析)相結(jié)合,更易於使用。
REST以JSON格式輸出,為流覽器用戶端提供更好的支援。
REST提供卓越的性能,特別是緩存未變化的非動態(tài)資訊時。
它是Yahoo、eBay、亞馬遜甚至Google等主要服務(wù)供應(yīng)商最常使用的協(xié)定。
REST通常更快並且佔(zhàn)用頻寬更少。與現(xiàn)有網(wǎng)站整合也更容易,無需重構(gòu)網(wǎng)站基礎(chǔ)架構(gòu)。這使開發(fā)人員能夠更快地工作,無需花時間從頭開始重構(gòu)網(wǎng)站。不僅如此,他們還可以輕鬆添加功能。
?
藍(lán)圖
藍(lán)圖是包含一個或多個物理、虛擬機(jī)器或雲(yún)電腦方案的規(guī)範(fàn),包括網(wǎng)路配置和相應(yīng)的生命週期資訊。在典型的軟體發(fā)展過程中,用戶是調(diào)用REST API來部署藍(lán)圖。
vRealize Automation: REST API
目錄服務(wù)REST API旨在供服務(wù)目錄的使用者使用;例如,想要請求目錄項(xiàng)的最終使用者將是此API的使用者。當(dāng)最終使用者請求目錄項(xiàng)時,將調(diào)用目錄使用者REST API。
開發(fā)中使用的技術(shù)適用於希望以程式設(shè)計(jì)方式管理vRealize Automation以便為軟體發(fā)展配置VM的開發(fā)人員。使用vRA REST API請求目錄項(xiàng)的過程有以下五個步驟:
第1步:獲取HTTP承載權(quán)杖進(jìn)行身份驗(yàn)證
URL: https:///identity/api/tokens
類型:Get
類型:Post
報(bào)頭:Content-type: application/json
第2步:使用藍(lán)圖名稱獲取藍(lán)圖id
URL: https:///catalog-service/api/consumer/entitledCatalogItems?$filter=name+eq+'name'
類型:Get
報(bào)頭:
Content-type: application/json,
Authorization: Bearer ,
Accept: application/json
第3步:獲取請求目錄項(xiàng)所需的JSON範(fàn)本
URL: https:///catalog-service/api/consumer/entitledCatalogItems/{id}/requests/template
類型:Get
報(bào)頭:
Content-type: application/json,
Authorization: Bearer ,
Accept: application/json
第4步:請求目錄項(xiàng)
URL: https:///catalog-service/api/consumer/entitledCatalogItems/{id}/requests
類型:Post
報(bào)文:json response received from request template(之前步驟)
第5步:檢查請求狀態(tài)
URL: https://
類型:Get

圖三 : Cyber Range通過REST API與vRA交互。 |
|
REST用戶端程式
任何可以發(fā)送HTTPS請求的用戶端應(yīng)用程式都是適用的工具平臺,可以使用vRealize Automation API開發(fā)REST應(yīng)用程式。一些常用的開源軟體包括:
CURL(命令列工具和庫):curl.haxx.se/
Postman application: getpostman.com/
API參考
vRealize Automation API參考列出了所有的REST API服務(wù)調(diào)用。它以Swagger文檔的形式提供,可透過以下任一方式獲得:
如果在本地安裝vRealize:https:// {server} /vco/api/docs/index.html
Vmware web資源:pubs.vmware.com/vra-62/index.jsp - com.vmware.vra.restapi. doc/index.html
Cyber Range: 一款A(yù)DI公司的實(shí)際軟體
什麼是Cyber Range?
ADI 的Cyber Range?軟體為客戶提供可擴(kuò)展的虛擬化平臺,適用於網(wǎng)路安全培訓(xùn)、建模、模擬和高級分析。我們?yōu)槎嗉铱蛻籼峁┙鉀Q方案,包括美國國防部、新加坡網(wǎng)路安全局(CSA/SITSA)和日本九州大學(xué)。
使用者可按一下開始按鈕,以部署實(shí)驗(yàn)室或因應(yīng)挑戰(zhàn)。
Cyber Range軟體調(diào)用相應(yīng)的vRA REST API。
REST API調(diào)用相應(yīng)的vRA藍(lán)圖。
vRealize開始部署屬於特定藍(lán)圖的所有VM。
vRealize Orchestrator在VM的生命週期中運(yùn)行自訂腳本(如果有)。
REST API將狀態(tài)返回給Cyber Range軟體。
如果狀態(tài)檢查成功,則會顯示W(wǎng)indows或Linux圖示,從而啟用超連結(jié)以打開控制臺。
結(jié)論
vRealize透過使用藍(lán)圖,可以作為能夠在更直觀且用戶友好的環(huán)境中運(yùn)行基礎(chǔ)架構(gòu)的存儲庫。這有助於我們及時定制或添加更多內(nèi)容以滿足使用者需求。此外,我們的解決方案整合了vRealize Orchestrator,可提供應(yīng)用於運(yùn)行虛擬環(huán)境的常見自動化任務(wù),能夠利用大部分代碼進(jìn)行部署。它因應(yīng)JavaScript,可以幫助我們管理VMware解決方案中的任何自訂腳本,並針對不同的場景進(jìn)行重複利用。此外,使用vRA REST API部署藍(lán)圖,獲取部署狀態(tài)或銷毀藍(lán)圖可大幅縮短軟體發(fā)展過程的時間。
(本文作者M(jìn)oinul Islam為ADI公司可信安全解決方案(TSS)部門軟體工程師)