公共云主存平臺(tái)主存使用資源(諸如數(shù)據(jù)庫(kù)和服務(wù))的應(yīng)用。常規(guī)地,被此類主存在公共云上的應(yīng)用所使用的資源也位于公共云內(nèi)。如果這些資源位于專用網(wǎng)絡(luò)中,則那些資源將被移動(dòng)到公共云以便被此類應(yīng)用使用。然而,出于安全性、合規(guī)性或法律原因,一些資源無(wú)法被移動(dòng)到公共云。
為了允許對(duì)專用網(wǎng)絡(luò)上的這些資源的訪問(wèn),網(wǎng)絡(luò)管理員常常被要求打開(kāi)它們防火墻中的端口以允許從因特網(wǎng)進(jìn)入它們的網(wǎng)絡(luò)的話務(wù),在網(wǎng)絡(luò)非軍事化區(qū)(DMZ)中部署將外部話務(wù)轉(zhuǎn)發(fā)到資源的代理和/或網(wǎng)關(guān),或者使用虛擬專用網(wǎng)絡(luò)(VPN)來(lái)將應(yīng)用連接到它們的專用網(wǎng)絡(luò)。
本文要求保護(hù)的主題不限于解決任何缺點(diǎn)或僅在諸如上述環(huán)境這樣的環(huán)境中操作的各實(shí)施例。相反,提供該背景僅用于例示其中可實(shí)施所述一些實(shí)施例的一個(gè)示例性技術(shù)領(lǐng)域。
簡(jiǎn)要概述
本文描述的至少一些實(shí)施例涉及公共云與專用網(wǎng)絡(luò)中的場(chǎng)所內(nèi)資源之間的連接的自動(dòng)供應(yīng)。這允許在公共云中的應(yīng)用要訪問(wèn)專用網(wǎng)絡(luò)中的場(chǎng)所內(nèi)資源時(shí)容易地建立連接。在確定在公共云中運(yùn)行的應(yīng)用要訪問(wèn)場(chǎng)所內(nèi)資源之際發(fā)起自動(dòng)供應(yīng)。場(chǎng)所內(nèi)資源的示例包括數(shù)據(jù)庫(kù)、數(shù)據(jù)存儲(chǔ)、web服務(wù)、應(yīng)用服務(wù)器等等。
供應(yīng)通過(guò)標(biāo)識(shí)提供對(duì)場(chǎng)所內(nèi)資源的訪問(wèn)的橋接基礎(chǔ)結(jié)構(gòu)來(lái)發(fā)生。橋接基礎(chǔ)結(jié)構(gòu)是公共云基礎(chǔ)結(jié)構(gòu)的一部分,并且可以由出于這一目的而設(shè)計(jì)的服務(wù)來(lái)供應(yīng)或分配。如果需要,可以按需分配或創(chuàng)建這一橋接基礎(chǔ)結(jié)構(gòu)的選擇元件。用于訪問(wèn)橋接基礎(chǔ)結(jié)構(gòu)的憑證接著被訪問(wèn)以供在稍后連接到橋接基礎(chǔ)結(jié)構(gòu)時(shí)使用。具有發(fā)送權(quán)限的因應(yīng)用而異的憑證被安全且自動(dòng)地提供到要訪問(wèn)專用網(wǎng)絡(luò)上的資源的應(yīng)用的應(yīng)用運(yùn)行時(shí)。因應(yīng)用而異的憑證能夠被嵌入在公共云上的應(yīng)用的運(yùn)行時(shí)中的代理使用來(lái)連接到所標(biāo)識(shí)的橋接基礎(chǔ)結(jié)構(gòu)。配置包接著被創(chuàng)建,該配置包包括因資源而異的憑證、場(chǎng)所內(nèi)資源的身份、以及可執(zhí)行文件。用戶可以與可執(zhí)行文件交互以在專用網(wǎng)絡(luò)中部署代理,該代理使用因資源而異的憑證提供場(chǎng)所內(nèi)資源與橋接基礎(chǔ)結(jié)構(gòu)之間的安全連通性。代理位于專用網(wǎng)絡(luò)內(nèi)部,并且使用來(lái)自專用網(wǎng)絡(luò)的出站通信來(lái)連接到橋接基礎(chǔ)結(jié)構(gòu)。因而,網(wǎng)絡(luò)管理員不必打開(kāi)防火墻端口或者為代理建立VPN連接以連接到橋接基礎(chǔ)結(jié)構(gòu)。
本文描述的至少一些實(shí)施例涉及在公共云中的應(yīng)用與場(chǎng)所內(nèi)資源之間的連接的自動(dòng)建立。首先,橋接基礎(chǔ)結(jié)構(gòu)被自動(dòng)訪問(wèn)。橋接基礎(chǔ)結(jié)構(gòu)被配置成與專用網(wǎng)絡(luò)內(nèi)的第一控件交互。例如,這一第一控件可以被表示為主存在專用網(wǎng)絡(luò)上并且由供應(yīng)連接時(shí)使用的配置包內(nèi)的可執(zhí)行文件所部署的代理。代理安全地連接到橋接基礎(chǔ)結(jié)構(gòu)并且在橋接基礎(chǔ)結(jié)構(gòu)與場(chǎng)所內(nèi)資源之間轉(zhuǎn)發(fā)話務(wù)。向在公共云中運(yùn)行的應(yīng)用提供第二控件。第二控件被結(jié)構(gòu)化成使得至少一個(gè)應(yīng)用可以被用于經(jīng)由橋接基礎(chǔ)結(jié)構(gòu)安全地與專用網(wǎng)絡(luò)的場(chǎng)所內(nèi)資源連接。
在一個(gè)示例中,第二控件可以被實(shí)現(xiàn)為嵌入在應(yīng)用運(yùn)行時(shí)中的代理,該代理控制截取來(lái)自應(yīng)用的以場(chǎng)所內(nèi)資源為目的地的消息,在恰適的網(wǎng)絡(luò)消息或索道協(xié)議上使該消息形成幀,并且在橋接基礎(chǔ)結(jié)構(gòu)上將它們重定向到第一控件,第一控件進(jìn)而將其轉(zhuǎn)發(fā)到場(chǎng)所內(nèi)資源。響應(yīng)沿逆向路徑回到公共云上的應(yīng)用。
本概述并非旨在標(biāo)識(shí)出要求保護(hù)的主題的關(guān)鍵特征或必要特征,亦非旨在用作輔助確定要求保護(hù)的主題的范圍。
附圖簡(jiǎn)述
為了描述能夠獲得上述和其它優(yōu)點(diǎn)和特征的方式,各實(shí)施例的更具體的描述將通過(guò)參考各附圖來(lái)呈現(xiàn)??梢岳斫?,這些附圖只描繪了示例實(shí)施例,并且因此不被認(rèn)為是對(duì)其范圍的限制,將通過(guò)使用附圖并利用附加特征和細(xì)節(jié)來(lái)描述和解釋各實(shí)施例,在附圖中:
圖1抽象地解說(shuō)了其中可采用本文中所描述的一些實(shí)施例的計(jì)算系統(tǒng);
圖2解說(shuō)了本文描述的原理可在其中操作的環(huán)境,并且該環(huán)境包括與橋接基礎(chǔ)結(jié)構(gòu)互連的公共云以及專用網(wǎng)絡(luò);
圖3解說(shuō)了與橋接基礎(chǔ)結(jié)構(gòu)相關(guān)聯(lián)的三個(gè)時(shí)間階段;
圖4解說(shuō)了用于供應(yīng)公共云與專用網(wǎng)絡(luò)中的場(chǎng)所內(nèi)資源之間的連接的方法的流程圖;
圖5解說(shuō)了與供應(yīng)公共云與專用網(wǎng)絡(luò)中的場(chǎng)所內(nèi)資源之間的連接相關(guān)聯(lián)的數(shù)據(jù)流的具體示例;
圖6解說(shuō)了用于建立從公共云到專用網(wǎng)絡(luò)中的場(chǎng)所內(nèi)資源的訪問(wèn)的方法的流程圖;
圖7解說(shuō)了用于使用一旦連接到應(yīng)用和專用云中的場(chǎng)所內(nèi)資源的橋接基礎(chǔ)結(jié)構(gòu)的方法的流程圖;以及
圖8解說(shuō)了示出公共云中的應(yīng)用接著可如何使用橋接基礎(chǔ)結(jié)構(gòu)訪問(wèn)專用網(wǎng)絡(luò)上的資源的更具體示例的運(yùn)行時(shí)過(guò)程。
詳細(xì)描述
本文描述的至少一些實(shí)施例涉及公共云與專用網(wǎng)絡(luò)中的場(chǎng)所內(nèi)資源之間的連接的自動(dòng)供應(yīng)。這允許在公共云中的應(yīng)用要訪問(wèn)專用網(wǎng)絡(luò)中的場(chǎng)所內(nèi)資源時(shí)容易得建立連接。在確定在公共云中運(yùn)行的應(yīng)用要訪問(wèn)場(chǎng)所內(nèi)資源之際發(fā)起自動(dòng)供應(yīng)。場(chǎng)所內(nèi)資源的示例包括數(shù)據(jù)庫(kù)、數(shù)據(jù)存儲(chǔ)、web服務(wù)、應(yīng)用服務(wù)器等等。
供應(yīng)通過(guò)標(biāo)識(shí)提供對(duì)場(chǎng)所內(nèi)資源的訪問(wèn)的橋接基礎(chǔ)結(jié)構(gòu)來(lái)發(fā)生。橋接基礎(chǔ)結(jié)構(gòu)是公共云基礎(chǔ)結(jié)構(gòu)的一部分,并且可以由出于這一目的而設(shè)計(jì)的服務(wù)來(lái)供應(yīng)或分配。場(chǎng)所內(nèi)資源的網(wǎng)絡(luò)身份被配置為橋接基礎(chǔ)結(jié)構(gòu)的元數(shù)據(jù)。如果要求,可以按需分配或創(chuàng)建這一橋接基礎(chǔ)結(jié)構(gòu)的選擇元件。用于訪問(wèn)橋接基礎(chǔ)結(jié)構(gòu)的憑證接著被訪問(wèn)以供在稍后連接到橋接基礎(chǔ)結(jié)構(gòu)時(shí)使用。具有發(fā)送權(quán)限的因應(yīng)用而異的憑證被安全且自動(dòng)地提供到要訪問(wèn)專用網(wǎng)絡(luò)上的資源的應(yīng)用的應(yīng)用運(yùn)行時(shí)。因應(yīng)用而異的憑證能夠被嵌入在公共云上的應(yīng)用運(yùn)行時(shí)中的代理使用來(lái)連接到所標(biāo)識(shí)的橋接基礎(chǔ)結(jié)構(gòu)。配置包接著被創(chuàng)建,該配置包包括因資源而異的憑證、場(chǎng)所內(nèi)資源的身份、以及可執(zhí)行文件。例如,可執(zhí)行文件可以被統(tǒng)一資源標(biāo)識(shí)符(URI)標(biāo)識(shí),該統(tǒng)一資源標(biāo)識(shí)符包含橋接基礎(chǔ)結(jié)構(gòu)的身份以及能被用于訪問(wèn)橋接基礎(chǔ)結(jié)構(gòu)的具有接收權(quán)限的一次性口令。用戶可以與可執(zhí)行文件交互以在專用網(wǎng)絡(luò)中部署代理,該代理使用因資源而異的憑證提供場(chǎng)所內(nèi)資源與橋接基礎(chǔ)結(jié)構(gòu)之間的連通性。
本文描述的至少一些實(shí)施例涉及在公共云中的應(yīng)用與場(chǎng)所內(nèi)資源之間的連接的自動(dòng)建立。首先,橋接基礎(chǔ)結(jié)構(gòu)被自動(dòng)訪問(wèn)。橋接基礎(chǔ)結(jié)構(gòu)被配置成與專用網(wǎng)絡(luò)內(nèi)的第一控件交互。例如,這一第一控件可以被表示為在供應(yīng)連接時(shí)使用的配置包內(nèi)的可執(zhí)行文件。代理安全地連接到橋接基礎(chǔ)結(jié)構(gòu)并且在橋接基礎(chǔ)結(jié)構(gòu)與場(chǎng)所內(nèi)資源之間轉(zhuǎn)發(fā)話務(wù)。向在公共云中運(yùn)行的應(yīng)用提供第二控件。第二控件被結(jié)構(gòu)化成使得至少一個(gè)應(yīng)用可以被用于經(jīng)由橋接基礎(chǔ)結(jié)構(gòu)安全地與專用網(wǎng)絡(luò)的場(chǎng)所內(nèi)資源連接。
在一個(gè)示例中,第二控件可以被實(shí)現(xiàn)為嵌入在應(yīng)用運(yùn)行時(shí)中的代理,該代理控制截取來(lái)自應(yīng)用的以場(chǎng)所內(nèi)資源為目的地的消息,在恰適的網(wǎng)絡(luò)消息或索道協(xié)議上使該消息形成幀,并且在橋接基礎(chǔ)結(jié)構(gòu)上將它們重定向到第一控件,第一控件進(jìn)而將其轉(zhuǎn)發(fā)到場(chǎng)所內(nèi)資源。響應(yīng)沿逆向路徑回到公共云上的應(yīng)用。
將參考圖1描述對(duì)計(jì)算系統(tǒng)的一些介紹性討論。接著,將參考后續(xù)附圖來(lái)描述供應(yīng)和利用橋接基礎(chǔ)結(jié)構(gòu)以便允許公共云使用專用網(wǎng)絡(luò)中的資源的原理。
計(jì)算系統(tǒng)現(xiàn)在越來(lái)越多地采取多種多樣的形式。例如,計(jì)算系統(tǒng)可以是手持式設(shè)備、電器、膝上型計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、大型機(jī)、分布式計(jì)算系統(tǒng)、數(shù)據(jù)中心、或甚至是常規(guī)上不被認(rèn)為是計(jì)算系統(tǒng)的設(shè)備(諸如可穿戴設(shè)備(如眼鏡))。在本說(shuō)明書以及權(quán)利要求書中,術(shù)語(yǔ)“計(jì)算系統(tǒng)”被廣義地定義為包括任何設(shè)備或系統(tǒng)(或其組合),該設(shè)備或系統(tǒng)包含至少一個(gè)物理且有形的處理器以及其上能具有可由處理器執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的物理且有形的存儲(chǔ)器。存儲(chǔ)器可以采取任何形式,并可以取決于計(jì)算系統(tǒng)的性質(zhì)和形式。計(jì)算系統(tǒng)可以分布在網(wǎng)絡(luò)環(huán)境中,并可包括多個(gè)組分計(jì)算系統(tǒng)。
如圖1所例示,在其最基本的配置中,計(jì)算系統(tǒng)100通常包括至少一個(gè)硬件處理單元102和存儲(chǔ)器104。存儲(chǔ)器104可以是物理系統(tǒng)存儲(chǔ)器,該物理系統(tǒng)存儲(chǔ)器可以是易失性的、非易失性的、或兩者的某種組合。術(shù)語(yǔ)“存儲(chǔ)器”也可在此用來(lái)指示諸如物理存儲(chǔ)介質(zhì)這樣的非易失性大容量存儲(chǔ)器。如果計(jì)算系統(tǒng)是分布式的,則處理、存儲(chǔ)器和/或存儲(chǔ)能力也可以是分布式的。如本文中所使用的,術(shù)語(yǔ)“可執(zhí)行模塊”或“可執(zhí)行組件”可指可在計(jì)算系統(tǒng)上執(zhí)行的軟件對(duì)象、例程或方法。此處所描述的不同組件、模塊、引擎以及服務(wù)可以實(shí)現(xiàn)為在計(jì)算系統(tǒng)上執(zhí)行的對(duì)象或進(jìn)程(例如,作為分開(kāi)的線程)。
在隨后的描述中,參考由一個(gè)或多個(gè)計(jì)算系統(tǒng)執(zhí)行的動(dòng)作描述了各實(shí)施例。如果這樣的動(dòng)作是以軟件實(shí)現(xiàn)的,則執(zhí)行動(dòng)作的相關(guān)聯(lián)計(jì)算系統(tǒng)的一個(gè)或多個(gè)處理器響應(yīng)于已經(jīng)執(zhí)行了計(jì)算機(jī)可執(zhí)行指令來(lái)引導(dǎo)計(jì)算系統(tǒng)的操作。例如,這樣的計(jì)算機(jī)可執(zhí)行指令可以在形成計(jì)算機(jī)程序產(chǎn)品的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上實(shí)現(xiàn)。這樣的操作的示例涉及對(duì)數(shù)據(jù)的操縱。計(jì)算機(jī)可執(zhí)行指令(以及被操縱的數(shù)據(jù))可以存儲(chǔ)在計(jì)算系統(tǒng)100的存儲(chǔ)器104中。計(jì)算系統(tǒng)100還可包含允許計(jì)算系統(tǒng)100例如通過(guò)網(wǎng)絡(luò)110與其他計(jì)算系統(tǒng)通信的通信信道108。計(jì)算系統(tǒng)100還包括顯示器112,顯示器112可被用于向用戶顯示視覺(jué)表示。
本文所述的實(shí)施例可包括或利用專用或通用計(jì)算系統(tǒng),該專用或通用計(jì)算系統(tǒng)包括諸如舉例來(lái)說(shuō)一個(gè)或多個(gè)處理器和系統(tǒng)存儲(chǔ)器等計(jì)算機(jī)硬件,如以下更詳細(xì)討論的。本文中描述的各實(shí)施例還包括用于承載或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計(jì)算機(jī)可讀介質(zhì)。這樣的計(jì)算機(jī)可讀介質(zhì)可以是可由通用或?qū)S糜?jì)算系統(tǒng)訪問(wèn)的任何可用介質(zhì)。存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是物理存儲(chǔ)介質(zhì)。承載計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實(shí)施例可包括至少兩種顯著不同的計(jì)算機(jī)可讀介質(zhì):存儲(chǔ)介質(zhì)和傳輸介質(zhì)。
計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲(chǔ)、磁盤存儲(chǔ)或其他磁存儲(chǔ)設(shè)備,或可用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼手段且可由通用或?qū)S糜?jì)算系統(tǒng)訪問(wèn)的任何其他物理且有形存儲(chǔ)介質(zhì)。
“網(wǎng)絡(luò)”被定義為允許在計(jì)算系統(tǒng)和/或模塊和/或其他電子設(shè)備之間傳輸電子數(shù)據(jù)的一個(gè)或多個(gè)數(shù)據(jù)鏈路。當(dāng)信息通過(guò)網(wǎng)絡(luò)或另一通信連接(硬連線、無(wú)線、或者硬連線或無(wú)線的組合)傳輸或提供給計(jì)算系統(tǒng)時(shí),該計(jì)算系統(tǒng)將該連接適當(dāng)?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可以包括可以用來(lái)攜帶所需要的以計(jì)算機(jī)可執(zhí)行的指令或數(shù)據(jù)結(jié)構(gòu)的形式存在的程序代碼手段并可以被通用或?qū)S糜?jì)算系統(tǒng)訪問(wèn)的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路。上述的組合應(yīng)當(dāng)也被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
此外,在到達(dá)各種計(jì)算系統(tǒng)組件之后,計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序代碼手段可從傳輸介質(zhì)自動(dòng)轉(zhuǎn)移到存儲(chǔ)介質(zhì)(或反之亦然)。例如,通過(guò)網(wǎng)絡(luò)或數(shù)據(jù)鏈路接收到的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡(luò)接口模塊(例如,“NIC”)內(nèi)的RAM中,然后最終被傳送到計(jì)算系統(tǒng)RAM和/或計(jì)算系統(tǒng)處的較不易失性的存儲(chǔ)介質(zhì)。因而,應(yīng)當(dāng)理解,存儲(chǔ)介質(zhì)可被包括在還利用(或甚至主要利用)傳輸介質(zhì)的計(jì)算系統(tǒng)組件中。
計(jì)算機(jī)可執(zhí)行指令例如包括,當(dāng)在處理器處執(zhí)行時(shí)使通用計(jì)算系統(tǒng)、專用計(jì)算系統(tǒng)、或?qū)S锰幚碓O(shè)備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令可例如是二進(jìn)制或甚至是在被處理器直接執(zhí)行之前經(jīng)受某種轉(zhuǎn)換(諸如編譯)的指令,諸如中間格式指令(諸如匯編語(yǔ)言或甚至是源代碼)。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專用的語(yǔ)言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述特征或動(dòng)作。相反,上述特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開(kāi)的。
本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計(jì)算系統(tǒng)配置的網(wǎng)絡(luò)計(jì)算環(huán)境中實(shí)踐,這些計(jì)算機(jī)系統(tǒng)配置包括個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、移動(dòng)電話、PDA、尋呼機(jī)、路由器、交換機(jī)、數(shù)據(jù)中心、可穿戴設(shè)備(諸如眼鏡)等等。本發(fā)明也可在其中通過(guò)網(wǎng)絡(luò)鏈接(或者通過(guò)硬連線數(shù)據(jù)鏈路、無(wú)線數(shù)據(jù)鏈路,或者通過(guò)硬連線和無(wú)線數(shù)據(jù)鏈路的組合)的本地和遠(yuǎn)程計(jì)算系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實(shí)施。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備二者中。
根據(jù)本文描述的原理,主存在公共云上的應(yīng)用與遠(yuǎn)程專用網(wǎng)絡(luò)上的資源通信,就好像該應(yīng)用在該專用網(wǎng)絡(luò)上本地運(yùn)行一樣。此外,此類連通性可以用僅僅若干姿勢(shì)來(lái)進(jìn)行配置。通過(guò)具有嵌入在應(yīng)用被主存的運(yùn)行時(shí)中的代理,此類連通性可以用字面上若干個(gè)配置姿勢(shì)來(lái)建立,這些配置姿勢(shì)涉及1)創(chuàng)建具有相關(guān)聯(lián)的橋接基礎(chǔ)結(jié)構(gòu)的遠(yuǎn)程資源的邏輯表示,2)為專用網(wǎng)絡(luò)上的該遠(yuǎn)程資源安裝代理,該代理自動(dòng)連接到橋接基礎(chǔ)基礎(chǔ),以及3)自動(dòng)配置應(yīng)用運(yùn)行時(shí)中的代理以截取遠(yuǎn)程資源的話務(wù)并且將其定向到橋接基礎(chǔ)結(jié)構(gòu)。這一機(jī)制的一個(gè)獨(dú)特的能力在于,整個(gè)應(yīng)用群(或?qū)?(諸如web或移動(dòng)層)可以從專用網(wǎng)絡(luò)被移動(dòng)到公共云,而無(wú)需任何代碼或配置改變,同時(shí)保持其他關(guān)鍵層(諸如數(shù)據(jù)庫(kù))在安全專用網(wǎng)絡(luò)上。
在本說(shuō)明書和下面的權(quán)利要求書中,“云計(jì)算”被定義為用于允許對(duì)可配置計(jì)算資源(例如,網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用和服務(wù))的共享池的按需網(wǎng)絡(luò)訪問(wèn)的模型?!霸朴?jì)算”的定義不限于可從這樣的模型(在被合適地部署時(shí))中獲得的任何其它多個(gè)優(yōu)點(diǎn)。
例如,云計(jì)算當(dāng)前用于市場(chǎng)中,以便提供對(duì)可配置的計(jì)算資源的共享的池的無(wú)所不在的并且方便的按需的訪問(wèn)。此外,可配置的計(jì)算資源的共享的池還可以通過(guò)虛擬化快速地提供,利用低的管理努力或服務(wù)提供商交互,釋放,然后,相應(yīng)地縮放。
云計(jì)算模型可以由各種特征構(gòu)成,諸如按需自助、寬的網(wǎng)絡(luò)接入、資源匯聚、快速的彈性、測(cè)量的服務(wù),以此類推。云計(jì)算模型還可形成各種服務(wù)模型,諸如例如軟件即服務(wù)(“SaaS”)、平臺(tái)即服務(wù)(“PaaS”)以及基礎(chǔ)結(jié)構(gòu)即服務(wù)(“IaaS”)。也可以使用不同的部署模型,諸如私有的云、社區(qū)云、公開(kāi)的云、混合型云,等等,來(lái)部署云計(jì)算模型。在該描述和權(quán)利要求書中,“云計(jì)算環(huán)境”是其中采用了云計(jì)算的環(huán)境。
圖2圖示此處所述的原理可在其中操作的環(huán)境200。環(huán)境200包括公共云210和專用網(wǎng)絡(luò)220。公共云210具有在其中運(yùn)行的各種應(yīng)用211。例如,公共云210被解說(shuō)為在其中運(yùn)行應(yīng)用211A、211B和211C,但省略號(hào)211D表示由公共云210運(yùn)行的應(yīng)用數(shù)量的靈活性。應(yīng)用211A被解說(shuō)為略大,因?yàn)樗鼘⒈挥米鞅疚拿枋龅闹饕纠?。公共?10可以實(shí)現(xiàn)具有多個(gè)消費(fèi)者的云計(jì)算模型,因此稱為術(shù)語(yǔ)“公共”。
專用網(wǎng)絡(luò)220其中運(yùn)行了場(chǎng)所內(nèi)資源221。例如,場(chǎng)所內(nèi)資源221被解說(shuō)為包括資源221A和221B,但省略號(hào)221C表示可以存在在專用網(wǎng)絡(luò)220內(nèi)運(yùn)行的大量各種資源。資源221A被解說(shuō)為略大,因?yàn)樗鼘⒈挥米鞅疚拿枋龅闹饕纠???杀辉L問(wèn)的資源的示例包括,例如,數(shù)據(jù)庫(kù)、服務(wù)器、存儲(chǔ)、文件、目錄等等。還存在橋接基礎(chǔ)結(jié)構(gòu)230,公共云210中的應(yīng)用211A使用該橋接基礎(chǔ)結(jié)構(gòu)230來(lái)訪問(wèn)專用網(wǎng)絡(luò)220中的資源221A。箭頭231到238表示與使用橋接基礎(chǔ)結(jié)構(gòu)230相關(guān)聯(lián)的示例數(shù)據(jù)流并且將在下文接合圖7來(lái)進(jìn)一步描述。
如圖3中解說(shuō)的,存在與橋接基礎(chǔ)結(jié)構(gòu)相關(guān)聯(lián)的三個(gè)時(shí)間階段300。供應(yīng)階段310,之后是連接階段320,之后是使用階段330。供應(yīng)階段310的目的是使得連接階段320更容易且更自動(dòng)得執(zhí)行。事實(shí)上,連接階段320可以被推遲直到恰恰在使用階段330之前,此時(shí)公共云實(shí)際上使用橋接基礎(chǔ)結(jié)構(gòu)230來(lái)與場(chǎng)所內(nèi)資源221A通信。
圖4解說(shuō)了用于自動(dòng)供應(yīng)公共云與專用網(wǎng)絡(luò)中的場(chǎng)所內(nèi)資源之間的連接的方法400的流程圖。方法400是圖3的供應(yīng)階段310的一個(gè)示例。由于方法400可在圖2的網(wǎng)絡(luò)環(huán)境200中執(zhí)行,因此現(xiàn)在將頻繁參照?qǐng)D2來(lái)描述圖4的方法400。
在確定在公共云中運(yùn)行的應(yīng)用要訪問(wèn)專用網(wǎng)絡(luò)的場(chǎng)所內(nèi)資源之際發(fā)起方法400(動(dòng)作401)。例如,專用網(wǎng)絡(luò)220內(nèi)的用戶可以確定公共云210的應(yīng)用211A要訪問(wèn)專用網(wǎng)絡(luò)210的資源221A。例如,應(yīng)用211A可以要求對(duì)位于專用網(wǎng)絡(luò)220內(nèi)的資源221A的訪問(wèn)以提供信息或處理請(qǐng)求。訪問(wèn)遠(yuǎn)程資源的此類意圖可以由應(yīng)用211A的開(kāi)發(fā)者在應(yīng)用開(kāi)發(fā)期間指示或配置。替換地,這一意圖可以在管理員部署或配置應(yīng)用211A期間確定。
通過(guò)在用戶與控件(例如,超鏈接)交互之際自動(dòng)執(zhí)行線410以下的內(nèi)容來(lái)執(zhí)行方法400。具體地,標(biāo)識(shí)提供對(duì)場(chǎng)所內(nèi)資源的訪問(wèn)的橋接結(jié)構(gòu)(動(dòng)作411)。這可以被包括為超鏈接內(nèi)的自變量。相應(yīng)地,網(wǎng)站可以在用戶將場(chǎng)所內(nèi)資源的身份提供給網(wǎng)站之際指派橋接基礎(chǔ)結(jié)構(gòu)。用于連接到橋接基礎(chǔ)結(jié)構(gòu)的憑證接著被訪問(wèn)(動(dòng)作412)。這包括被提供給公共云210中的應(yīng)用211A的因應(yīng)用而異的憑證251(動(dòng)作413)。例如,在圖2中,因資源而異的憑證241可被用于建立將橋接基礎(chǔ)結(jié)構(gòu)230與場(chǎng)所內(nèi)資源221A連接的第一控件242。因應(yīng)用而異的憑證242可被用于建立將橋接基礎(chǔ)結(jié)構(gòu)230與應(yīng)用211A連接的第二控件252。
此外,方法400包括創(chuàng)建(動(dòng)作414)配置包,該配置包包括因資源而異的憑證、控件242的可執(zhí)行文件、以及場(chǎng)所內(nèi)資源的身份。控件242的可執(zhí)行文件被配置成在用戶選擇該控件之際被執(zhí)行,并且使用因資源而異的憑證來(lái)提供專用網(wǎng)絡(luò)上的場(chǎng)所內(nèi)資源與橋接基礎(chǔ)結(jié)構(gòu)之間的連通性。換言之,可執(zhí)行文件可被用于建立第一控件242。
相應(yīng)地,在完成方法400之際,環(huán)境200的專用網(wǎng)絡(luò)220具有因資源而異的憑證241,以及可以與其交互(在具有因資源而異的憑證241的上下文中)以便建立資源221A與橋接基礎(chǔ)結(jié)構(gòu)230之間的連接的控件242。此外,公共云210具有因應(yīng)用而異的憑證251,以及可被公共云使用(在具有因應(yīng)用而異的憑證251的上下文中)以便建立應(yīng)用211A與橋接基礎(chǔ)結(jié)構(gòu)230之間的連接的控件252。
該方法可以針對(duì)專用網(wǎng)絡(luò)220中的不同資源被執(zhí)行多次以便為每一場(chǎng)所內(nèi)資源建立不同的橋接基礎(chǔ)結(jié)構(gòu)??赡艽嬖卺槍?duì)每一資源的不同的因資源而異的控件。在一些實(shí)施例中,如果多個(gè)應(yīng)用要使用相同的場(chǎng)所內(nèi)資源,則對(duì)應(yīng)的控件242可被用于為在公共云中運(yùn)行的多個(gè)應(yīng)用連接到該場(chǎng)所內(nèi)資源。也可能針對(duì)連接到場(chǎng)所內(nèi)資源的每一應(yīng)用存在不同的因應(yīng)用而異的控件。在一些實(shí)施例中,如果多個(gè)應(yīng)用要使用相同的場(chǎng)所內(nèi)資源,則它們可以共享相同控件252。省略號(hào)225表示也可在公共云210與其他專用網(wǎng)絡(luò)之間建立類似的橋接基礎(chǔ)結(jié)構(gòu)。
圖5解說(shuō)了示例環(huán)境,其中橋接基礎(chǔ)結(jié)構(gòu)被供應(yīng)有資源代理控件242,資源代理控件242被設(shè)立為被主存在專用網(wǎng)絡(luò)中。在這一圖示中,公共云被標(biāo)記為“Azure”。然而,本文描述的原理可應(yīng)用于任何公共云以實(shí)現(xiàn)與專用網(wǎng)絡(luò)中的資源的連通性,而不管公共云的供應(yīng)商或身份如何。專用網(wǎng)絡(luò)的信任邊界被標(biāo)記為“企業(yè)內(nèi)網(wǎng)信任邊界”。公共云與專用網(wǎng)絡(luò)之間用于允許公共云中的應(yīng)用訪問(wèn)專用網(wǎng)絡(luò)中的資源的連接將在此處被稱為“混合連接”。
首先,用戶創(chuàng)建邏輯混合連接,該邏輯混合連接指定專用網(wǎng)絡(luò)上的遠(yuǎn)程資源的網(wǎng)絡(luò)地址。這自動(dòng)生成兩個(gè)憑證;場(chǎng)所內(nèi)代理上的具有接收權(quán)限的第一憑證(即,因資源而異的憑證),以及用于公共云上的應(yīng)用的具有發(fā)送權(quán)限的第二憑證(即,因應(yīng)用而異的憑證)。這還自動(dòng)生成短壽命的一次性口令(OTP),并且將該口令作為查詢參數(shù)嵌入在到專用網(wǎng)絡(luò)的資源代理的鏈接中(參見(jiàn)附圖5中的箭頭1)。
用戶接著可以從專用網(wǎng)絡(luò)點(diǎn)擊到場(chǎng)所內(nèi)代理的鏈接(參見(jiàn)附圖5中的箭頭2)。這導(dǎo)致應(yīng)用被下載(參見(jiàn)附圖5中的箭頭3)。應(yīng)用從該鏈接的查詢參數(shù)中提取短壽命的一次性口令(OTP)并且使用該口令來(lái)獲取具有接收權(quán)限的憑證。應(yīng)用接著配置專用網(wǎng)絡(luò)上的代理服務(wù)(附圖5中的“混合連接管理器CO應(yīng)用”)并且向其提供具有接收權(quán)限的憑證。
專用網(wǎng)絡(luò)上的代理服務(wù)接著自動(dòng)啟動(dòng)。代理服務(wù)使用具有接收權(quán)限的憑證以確定它設(shè)計(jì)代理哪個(gè)場(chǎng)所內(nèi)資源,并且接著將其自身配置為該服務(wù)的代理。附圖5中的箭頭4到10示出這可能針對(duì)特定實(shí)現(xiàn)而發(fā)生,但其他
公共云上的應(yīng)用被配置有到表示專用網(wǎng)絡(luò)上的遠(yuǎn)程資源的期望邏輯混合連接的鏈接。具有發(fā)送權(quán)限的憑證被配置在應(yīng)用上,并且應(yīng)用連接到邏輯混合連接。
圖6解說(shuō)了用于建立從公共云到專用網(wǎng)絡(luò)中的場(chǎng)所內(nèi)資源的訪問(wèn)的方法600的流程圖。方法600可以作為圖3的連接階段320的一部分來(lái)執(zhí)行并且可以在圖2的環(huán)境200的上下文中執(zhí)行。相應(yīng)地,現(xiàn)在將頻繁地參考圖2的環(huán)境200來(lái)描述圖6的方法600。
該方法包括自動(dòng)訪問(wèn)(動(dòng)作601)在公共云與專用網(wǎng)絡(luò)之間操作的橋接基礎(chǔ)結(jié)構(gòu)。例如,參考圖2,橋接基礎(chǔ)結(jié)構(gòu)230被配置成使用第一控件242與專用網(wǎng)絡(luò)220內(nèi)的用戶系統(tǒng)交互。第一控件242被結(jié)構(gòu)化成使得當(dāng)被配置有用于橋接基礎(chǔ)結(jié)構(gòu)的因資源而異的憑證時(shí),第一控件242自動(dòng)建立到橋接基礎(chǔ)結(jié)構(gòu)230的安全連接。當(dāng)此類連接建立時(shí),第一控件242標(biāo)識(shí)橋接基礎(chǔ)結(jié)構(gòu)230被供應(yīng)訪問(wèn)的場(chǎng)所內(nèi)資源221A。此外,第一控件242被結(jié)構(gòu)化成從橋接基礎(chǔ)結(jié)構(gòu)230接收所截取的話務(wù),其中所截取的話務(wù)由第二控件252轉(zhuǎn)發(fā)到橋接基礎(chǔ)結(jié)構(gòu)230上。第一控件242將其自身配置成將所截取的話務(wù)從橋接基礎(chǔ)結(jié)構(gòu)230轉(zhuǎn)發(fā)到資源221A。第二控件252同樣地被配置成截取來(lái)自應(yīng)用211A并且以場(chǎng)所內(nèi)資源221A為目的地的話務(wù),在恰適的幀消息中使其形成幀,并且將其重路由到橋接基礎(chǔ)結(jié)構(gòu)230上。此外,第二控件252被提供(動(dòng)作602)給在公共云210中運(yùn)行的應(yīng)用。第二控件252被結(jié)構(gòu)化成使得應(yīng)用221A可以經(jīng)由橋接基礎(chǔ)結(jié)構(gòu)230安全地與專用網(wǎng)絡(luò)的場(chǎng)所內(nèi)資源連接。第二控件252可以總是維持與橋接基礎(chǔ)結(jié)構(gòu)230的連接或者替換地該連接可以按需建立。如果連接是按需建立的,則當(dāng)應(yīng)用211A試圖訪問(wèn)資源221A(動(dòng)作603)時(shí),第二控件252完成應(yīng)用211A與場(chǎng)所內(nèi)資源221A之間的通信路徑。
圖7解說(shuō)了用于使用一旦連接到應(yīng)用和專用云中的場(chǎng)所內(nèi)資源的橋接基礎(chǔ)結(jié)構(gòu)的方法700的流程圖。方法700表示圖6的使用階段630的一個(gè)示例。方法700可以在圖2的環(huán)境200內(nèi)執(zhí)行以使得參考圖2中的多個(gè)數(shù)據(jù)流231到238。相應(yīng)地,現(xiàn)在將參考圖2的環(huán)境200來(lái)描述圖7的方法700。由第二控件執(zhí)行的動(dòng)作在圖7中標(biāo)題(“第二控件”)下的左側(cè)列中參考,并且在710系列中被標(biāo)記。由第一控件執(zhí)行的動(dòng)作在圖7中標(biāo)題(“第一控件”)下的右側(cè)列中參考,并且在720系列中被標(biāo)記。
第二控件首先截取(動(dòng)作711)來(lái)自應(yīng)用的以場(chǎng)所內(nèi)資源為目的地的通信。例如,在圖2中,第二控件252接收(如由箭頭231表示的)來(lái)自應(yīng)用211A的通信。這一通信可以被結(jié)構(gòu)化成如果該資源要從公共云之內(nèi)訪問(wèn)那樣相同的結(jié)構(gòu)。相應(yīng)地,應(yīng)用211A本身可以對(duì)于該資源實(shí)際位于哪里完全不可知。第一控件242、第二控件252與橋接基礎(chǔ)結(jié)構(gòu)230建立的通信信道的存在可能是從應(yīng)用211A的視角抽象出來(lái)的某樣事物。
第二控件接著使用恰適的幀或隧道即時(shí)使來(lái)自應(yīng)用211A的原始消息形成幀,并且在橋接基礎(chǔ)結(jié)構(gòu)上重定向(動(dòng)作712)該通信以供由第一控件路由到場(chǎng)所內(nèi)資源。使原始消息形成幀保留了場(chǎng)所內(nèi)資源的訪問(wèn)控制可能要求的或者用于正確處理原始消息的任何消息頭部或其他控制信息。當(dāng)然,這一通信可以出于安全性而被加密。例如,在圖2中,第二控件252被解說(shuō)為在橋接基礎(chǔ)結(jié)構(gòu)230上重定向(如由箭頭232表示的)該通信。
第一控件接著在橋接基礎(chǔ)結(jié)構(gòu)上接收到經(jīng)重定向的通信(動(dòng)作721)。例如,在圖2中,第一控件242被解說(shuō)為接收通信(由箭頭233表示)。第一控件接著從原始消息中移除幀形成,并且將該通信重定向到場(chǎng)所內(nèi)資源(動(dòng)作722)。例如,在圖2中,第一控件242被解說(shuō)為將該通信重定向(由箭頭234表示)到場(chǎng)所內(nèi)資源221A。如果沒(méi)有來(lái)自場(chǎng)所內(nèi)資源對(duì)該通信的響應(yīng)(判斷框723中的“否”),則方法700接著可以結(jié)束。
如果存在對(duì)該通信的響應(yīng)(判斷框723中的“是”),則第一控件接收該響應(yīng)(動(dòng)作724),使用所選幀機(jī)制使其形成幀,并且在橋接基礎(chǔ)結(jié)構(gòu)上轉(zhuǎn)發(fā)該響應(yīng)(動(dòng)作725)。例如,在圖2中,第一控件242從場(chǎng)所內(nèi)資源221A接收響應(yīng)(如由箭頭235表示)并且將該響應(yīng)重定向(如由箭頭236表示)到橋接基礎(chǔ)結(jié)構(gòu)230上。
第二控件在橋接基礎(chǔ)結(jié)構(gòu)上接收到該響應(yīng)(動(dòng)作713),移除第一控件添加的幀形成,并且將來(lái)自場(chǎng)所內(nèi)資源的原始響應(yīng)重定向到應(yīng)用211A(動(dòng)作714)。例如,在圖2中,第二控件242在橋接基礎(chǔ)結(jié)構(gòu)230上接收到該響應(yīng)(如由箭頭237表示),并且將該響應(yīng)重定向(如由箭頭238表示)回到應(yīng)用。在一些實(shí)施例中,該響應(yīng)可以表現(xiàn)為相同或者具有相同的模式,不管場(chǎng)所內(nèi)資源在公共云內(nèi)還是在專用網(wǎng)絡(luò)內(nèi)。
圖8解說(shuō)了示出公共云中的應(yīng)用接著可如何使用橋接基礎(chǔ)結(jié)構(gòu)訪問(wèn)專用網(wǎng)絡(luò)上的資源的更具體示例的運(yùn)行時(shí)過(guò)程。在這一情形中,應(yīng)用是網(wǎng)站。再一次,盡管應(yīng)用被標(biāo)記為“Azure”網(wǎng)站,但本文描述的原理不限于任何特定的公共云身份或供應(yīng)商,并且不限于請(qǐng)求專用網(wǎng)絡(luò)資源的應(yīng)用供應(yīng)商或身份。在任何情形中,應(yīng)用對(duì)遠(yuǎn)程資源(無(wú)法直接從公共云抵達(dá))尋址,就好像它位于附近且能夠直接訪問(wèn)那樣。
應(yīng)用被主存在其上的公共云平臺(tái)將代理嵌入應(yīng)用運(yùn)行時(shí)內(nèi)。代理(圖8中的混合連接代理)確定應(yīng)用鏈接到的邏輯混合連接以及它所表示的遠(yuǎn)程資源的地址/端口信息。代理截取來(lái)自應(yīng)用的以該遠(yuǎn)程資源為目的地的所有話務(wù),將NetTcpRelayBinding用于使原始消息形成幀,并且將其發(fā)送到混合連接。盡管在這一具體示例中使用NetTcpRelayBinding,但其他幀形成機(jī)制或隧道協(xié)議可被使用。
混合連接將應(yīng)用發(fā)送的所有請(qǐng)求轉(zhuǎn)發(fā)到主存在專用網(wǎng)絡(luò)上的資源代理(圖8中的“混合連接管理器服務(wù)”)以供進(jìn)一步轉(zhuǎn)發(fā)到遠(yuǎn)程資源。此外,混合連接向應(yīng)用轉(zhuǎn)發(fā)遠(yuǎn)程資源發(fā)送的所有響應(yīng)。
專用網(wǎng)絡(luò)上的代理服務(wù)使用出站網(wǎng)絡(luò)連通性(例如,通過(guò)TCP、HTTP、HTTPS或Web套接字)來(lái)監(jiān)聽(tīng)來(lái)自公共云的連接請(qǐng)求。來(lái)自公共云上的應(yīng)用的連接請(qǐng)求接著被轉(zhuǎn)發(fā)到專用網(wǎng)絡(luò)上的資源,并且響應(yīng)被返回到公共云上的應(yīng)用。代理在將其轉(zhuǎn)發(fā)給資源之前從原始消息移除NetTcpRelayBinding的幀形成,并且相反地在將來(lái)自資源的響應(yīng)返回到應(yīng)用時(shí)添加幀形成。
相應(yīng)地,本文描述的原理提供了一種用于供應(yīng)、連接和使用允許公共云中的應(yīng)用連接到場(chǎng)所內(nèi)資源的橋接基礎(chǔ)結(jié)構(gòu)的便捷且高度自動(dòng)化的機(jī)制。本發(fā)明可具體化為其它具體形式而不背離其精神或本質(zhì)特征。所描述的實(shí)施例在所有方面都應(yīng)被認(rèn)為僅是說(shuō)明性而非限制性的。從而,本發(fā)明的范圍由所附權(quán)利要求書而非前述描述指示。落入權(quán)利要求書的等效方案的含義和范圍內(nèi)的所有改變應(yīng)被權(quán)利要求書的范圍所涵蓋。