在 Azure Stack Hub 中部署用來裝載 Web 應用程式的 Linux VM
您可以使用 Azure Marketplace 中的 Ubunutu 映像建立和部署基本 Linux 虛擬機器 (VM),以裝載您使用 Web 架構建立的 Web 應用程式。
此 VM 可使用下列項目裝載 Web 應用程式:
- Python:常見的 Python Web 架構包括 Flask、Bottle 和 Django。
- Go:常見的 Go 架構包括 Revel、Martini、Gocraft/Web 和 Gorilla。
- Ruby:將 Ruby on Rails 設定為提供 Ruby Web 應用程式的架構。
- Java:使用 Java 來開發要發佈至 Apache Tomcat 伺服器的 Web 應用程式。 您可以將 Tomcat 安裝在 Linux 上,然後將 Java WAR 檔案直接部署至伺服器。
依照本文中的指示,透過任何 Web 應用程式、架構和使用 Linux OS 的後端技術來啟動並執行。 接著,您可以使用 Azure Stack Hub 來管理基礎結構,並使用您技術內的管理工具處理應用程式的維護工作。
部署適用於 Web 應用程式的 Linux VM
在此程序中,您會建立祕密金鑰、使用 Linux VM 的基礎映像、指定 VM 的特定屬性,然後建立 VM。 建立 VM 之後,您會開啟使用 VM 所需的連接埠,並且讓 VM 裝載您的應用程式。 接下來,您會建立 DNS 名稱。 最後,您會連線至 VM 並使用 apt-get 公用程式更新機器。 完成此程序之後,您的 Azure Stack Hub 執行個體中會有已準備好裝載 Web 應用程式的 VM。
在開始之前,請確定您已備妥一切。
必要條件
- Azure Stack Hub 訂用帳戶,具有 Ubuntu Server 16.04 LTS 映像的存取權。 您可以使用較新版的映像,但須留意這些指示是以 16.04 LTS 撰寫的。 如果您沒有此映像,請連絡雲端操作員將映像放入 Azure Stack Hub Marketplace 中。
使用入口網站部署 VM
若要部署 VM,請遵循後續幾節中的指示。
建立您的 VM
為您的伺服器建立 Secure Shell (SSH) 公開金鑰。 如需詳細資訊,請參閱如何使用 SSH 公開金鑰。
在 Azure Stack Hub 入口網站中,選取 [建立資源][計算][Ubuntu Server 16.04 LTS]。
在 [建立虛擬機器] 窗格中,針對 [1. 設定基本設定]:
a. 輸入 [您的 VM 名稱]。
b. 選取 [進階 SSD] (適用於進階磁碟 [SSD]) 或 [標準 HDD] (適用於標準磁碟 [HDD]) 作為 [VM 磁碟類型]。
c. 輸入您的 [使用者名稱]。
d. 選取 [SSH 公開金鑰] 作為 [驗證類型]。
e. 擷取您所建立的 SSH 公開金鑰。 在文字編輯器中加以開啟,複製金鑰,然後將其貼到 [SSH 公開金鑰] 方塊中。 加入從
---- BEGIN SSH2 PUBLIC KEY ----
到---- END SSH2 PUBLIC KEY ----
的文字。 將整個文字區塊貼到 [金鑰] 方塊中:---- BEGIN SSH2 PUBLIC KEY ---- Comment: "rsa-key-20190207" <Your key block> ---- END SSH2 PUBLIC KEY ----
f. 選取 Azure Stack Hub 執行個體的訂用帳戶。
g. 根據您要為應用程式組織資源的方式,建立新的資源群組或使用現有資源群組。
h. 檢視您的位置。 Azure Stack 開發套件 (ASDK) 通常位於「當地」區域。 位置取決於您的 Azure Stack Hub 執行個體。
針對 [2. 大小],輸入:
- 針對您的 Azure Stack Hub 執行個體中可用的 VM,選取資料大小和 RAM。
- 您可以瀏覽清單,或依照 [計算類型]、[CPU] 和 [儲存空間] 篩選您 VM 的大小。
注意
- 顯示的價格是以您當地貨幣計價的預估值。 僅包含 Azure 基礎結構成本以及訂用帳戶和位置的所有折扣。 而不包含任何適用的軟體成本。
- 建議大小是由所選映像的發行者決定,並以硬體和軟體需求為基礎。
- 使用標準磁碟 (HDD) 而非進階磁碟 (SSD),可能會影響作業系統效能。
在 [3. 設定選用功能] 中,輸入:
a. 針對 [高可用性],選取可用性設定組。 若要為應用程式提供備援,請在可用性設定組中將兩部以上的虛擬機器組成群組。 這項組態可確保在計劃性或非計劃性維護事件期間,至少有一部虛擬機器可以使用且符合 99.95% 的 Azure 服務等級協定 (SLA)。 虛擬機器的可用性設定組在建立之後,就無法變更。
b. 針對 [儲存體],選取 [進階磁碟 (SSD)] 或 [標準磁碟 (HDD)]。 進階磁碟 (SSD) 採用固態硬碟,可提供一致、低延遲的效能。 進階磁碟可讓您在價格和效能之間取得最佳的平衡,並且適用於 I/O 密集型應用程式和生產工作負載。 標準磁碟採用磁碟機,適用於不常存取資料的應用程式。 區域備援磁碟採用區域備援儲存體 (ZRS),此儲存體可跨多個區域複寫資料,而且即使在單一區域停止運作時也可供使用。
c. 選取 [使用受控磁碟]。 當您啟用這項功能時,Azure 會自動管理磁碟的可用性。 您可受惠於資料備援和容錯功能,而不必自行建立及管理儲存體帳戶。 受控磁碟可能無法在所有區域中使用。 如需詳細資訊,請參閱 Azure 受控磁碟簡介。
d. 若要設定您的網路,請選取 [虛擬網路]。 Azure 中的虛擬網路會以邏輯方式彼此隔離。 您可以設定其 IP 位址範圍、子網路、路由表、閘道和安全性設定,近似您資料中心內的傳統網路。 依照預設,相同虛擬網路中的虛擬機器可以互相存取。
e. 若要設定您的子網路,請選取 [子網路]。 子網路是您虛擬網路中的某個 IP 位址範圍。 您可以使用子網路讓虛擬機器彼此隔離,或隔離虛擬機器與網際網路。
f. 若要對您的 VM 或 VM 上執行的服務設定存取權,請選取 [公用 IP 位址]。 使用公用 IP 位址,在虛擬網路外與虛擬機器通訊。
g. 選取 [網路安全性群組]:[基本] 或 [進階]。 設定規則以允許或拒絕目標為 VM 的網路流量。
h. 若要為 VM 設定常見或自訂通訊協定的存取權,請選取 [公用輸入連接埠]。 此服務會指定此規則的目的地通訊協定和連接埠範圍。 您可以選擇預先定義的服務,例如遠端桌面通訊協定 (RDP) 或 SSH,或提供自訂連接埠範圍。 若為 Web 伺服器,請使用開啟的 HTTP (80)、HTTPS (443) 和 SSH (22)。 如果您打算使用 RDP 連線來管理機器,請開啟連接埠 3389。
i. 若要將擴充功能新增到 VM,請選取 [擴充功能]。 擴充功能可為虛擬機器新增功能,例如組態管理或防毒保護。
j. 停用或啟用 [監視]。 若要協助診斷啟動問題,您可以使用監視功能來擷取序列主控台輸出,以及在主機上執行的虛擬機器螢幕擷取畫面。
k. 若要指定可保存計量的儲存體帳戶,請選取 [診斷儲存體帳戶]。 計量會寫入儲存體帳戶,因此您可使用自己的工具加以分析。
l. 選取 [確定] 。
檢閱 [4. 摘要]:
- 入口網站會驗證您的設定。
- 若要將您的設定重複使用於 Azure Resource Manager 工作流程,您可以下載您 VM 適用的 Azure Resource Manager 範本。
- 通過驗證後,請選取 [確定]。 VM 部署需要幾分鐘的時間。
指定開啟的連接埠與 DNS 名稱
若要讓您網路上的使用者能夠存取您的 Web 應用程式,請開啟用來連接到機器的連接埠並新增易記的 DNS 名稱 (例如 mywebapp.local.cloudapp.azurestack.external),以便使用者在其網頁瀏覽器中使用。
開啟輸入連接埠
您可針對預先定義的服務 (例如 RDP 或 SSH) 修改目的地通訊協定和連接埠範圍,或提供自訂連接埠範圍。 例如,您可以使用您 Web 架構的連接埠範圍。 GO,例如在連接埠 3000 上通訊。
開啟租用戶的 Azure Stack Hub 入口網站。
搜尋您的 VM。 您可能已將 VM 釘選到儀表板,或者可以在 [搜尋資源] 方塊中搜尋該 VM。
在您的 VM 窗格中選取 [網路]。
選取 [新增輸入連接埠] 規則以開啟連接埠。
針對 [來源],保留預設選取項目 [任何]。
針對 [來源連接埠範圍],保留萬用字元 (*)。
針對 [目的地連接埠範圍],輸入您要開啟的連接埠,例如 3000。
針對 [通訊協定],保留預設選取項目 [任何]。
在 [動作] 中,選取 [允許]。
針對 [優先順序],保留預設選取項目。
輸入 [名稱] 和 [描述],幫助您記得為何連接埠已開啟。
選取 [新增]。
為您的伺服器新增 DNS 名稱
此外,您可以為您的伺服器建立 DNS 名稱,讓使用者可以使用 URL 連線到您的網站。
開啟租用戶的 Azure Stack Hub 入口網站。
搜尋您的 VM。 您可能已將 VM 釘選到儀表板,或者可以在 [搜尋資源] 方塊中搜尋該 VM。
選取 [概觀] 。
在 [VM] 下方,選取 [設定]。
針對 [指派] 選取 [動態]。
輸入 DNS 名稱標籤 (例如 mywebapp),讓完整的 URL 變成 mywebapp.local.cloudapp.azurestack.external (適用於 ASDK 應用程式)。
透過 SSH 連線以更新您的 VM
在 Azure Stack Hub 執行個體所在的相同網路上,開啟您的 SSH 用戶端。 如需詳細資訊,請參閱使用 SSH 金鑰組搭配 Azure Stack Hub。
輸入下列命令:
sudo apt-get update sudo apt-get -y upgrade