Mesh 雲端腳本基礎結構和管理
概觀
在本文中,您將瞭解 Mesh Clouding 基礎結構和管理的各個層面,包括建置和發布雲端腳本專案時部署至 Azure 訂用帳戶的服務。
部署的資源
Mesh Cloud Scripting 是由 所組成。在雲端中執行的 NET 型應用程式。 部署到客戶的 Azure 訂用帳戶的 Mesh 雲端腳本雲端基礎結構包含下列 Azure 資源:
App Service 方案:代表 Web 應用程式可執行的計算叢集。 它也可以執行一或多個不同的 Web 應用程式。
Azure VNet:這是應用程式服務實例部署在中的虛擬網路資源,並允許它們彼此通訊。
Azure Web 應用程式實例:代表在特定 VM 上執行的 Web 應用程式實例。
Azure 儲存體 帳戶:保留已發佈的內容和 Azure Web 應用程式實例的相關信息。 其細分為兩個元件:
- Mesh 雲端腳本服務 Blob 記憶體:保留 Mesh 上傳器上傳的 Mesh 雲端腳本服務 Blob。
- 新奧爾良成員資格表格:保存新奧爾良尋址接收器實例的活躍度相關信息。
Log Analytics 工作區:保存從 App Service 上執行的 Mesh 雲端腳本服務發出的記錄。
Application Insights:提供應用程式效能監視 (APM) 功能。 APM 工具有助於監視應用程式從開發、測試到生產環境。
App Service 方案
App Service 方案會定義一組計算資源,讓 Web 應用程式能夠執行。
當您在特定區域 (例如西歐) 建立 App Service 方案時,會為該區域的方案建立一組計算資源。 無論您將何種應用程式置入此 App Service 方案,都會在該 App Service 方案定義的計算資源上執行。 每個 App Service 方案都會定義:
- 作業系統 (Windows、Linux)
- 區域 (美國西部、美國東部等)
- 虛擬機器執行個體的數目
- VM 執行個體的大小 (小、中、大)
- 定價層 (免費、共用、基本、標準、進階、進階 V2、進階 V3、隔離、隔離 V2)
如需詳細資訊,請參閱 App Service 方案檔。
App Service 方案的 Mesh 工具組預設資源設定
- SKU 名稱:P 1v2
- SKU 層:P remiumV2
- SKU 容量:1
- 種類:Linux
- 保留:True
在 Mesh 雲端腳本服務的內容中,App Service 方案是計算元件。 它可以自動調整,並處理不同實例彼此通訊的方式(網路功能)。 CloudHost 是執行和管理 Mesh 雲端腳本服務的應用程式,目前是以 Docker 映射的形式提供,因此我們使用以 Linux 為基礎的方案。 進階方案更適合生產工作負載。
如需預設值的詳細資訊,請參閱 App Service 方案資源的 Bicep 和 ARM 範本參考 。
應用程式服務
Azure App Service 是 HTTP 型服務,用來裝載 Web 應用程式、REST API 和行動後端。 App Service 會將 Microsoft Azure 的功能新增到您的應用程式,例如安全性、負載平衡、自動調整和自動化管理。 使用 App Service 時,您必須為使用的 Azure 計算資源付費。 您所使用的計算資源取決於您用來執行應用程式的 App Service 方案。
如需詳細資訊,請參閱 App Service Docs。
Mesh 工具組預設資源設定 - App Service
- httpsOnly: True
- alwaysOn:True
- vnetPrivatePorts 計數:2
- vnetRouteAllEnabled: True
- vnetName:預設 虛擬網絡 名稱
如需預設值的詳細資訊,請參閱 App Service 方案資源的 Bicep 和 ARM 範本參考 。
虛擬網路
Azure 虛擬網路是私人網路在 Azure 中的基本建置組塊。 虛擬網路可讓多種類型的 Azure 資源 (例如 Azure 虛擬機器 (VM)) 安全地彼此通訊,以及與網際網路和內部部署網路通訊。 虛擬網路類似於您在自有資料中心內操作的傳統網路。 Azure 虛擬網路帶來了 Azure 基礎結構的額外優點,例如規模、可用性和隔離。
如需詳細資訊,請參閱 虛擬網絡 Docs。
Mesh 工具組預設資源設定 - 虛擬網絡
- AddressSpace addressPrefixes:10.0.0.0/16
- 子網位址Prefix:10.0.0.0/24
- 子網委派名稱:委派
- 子網委派服務名稱:Microsoft.Web/serverFarms
如需預設值的詳細資訊,請參閱 虛擬網絡 資源的 Bicep 和 ARM 範本參考。
儲存體帳戶
Azure 儲存體帳戶包含您所有的 Azure 儲存體資料物件:Blob、檔案、佇列和資料表。 儲存體帳戶會為 Azure 儲存體資料提供唯一的命名空間,供您透過 HTTP 或 HTTPS 從世界各地存取該資料。 儲存體帳戶中的資料耐久具高可用性、安全且可大幅調整。
如需詳細資訊,請參閱 記憶體帳戶檔。
Mesh 工具組預設資源設定 - 儲存體帳戶
- SKU 名稱:Standard_LRS
- 種類:StorageV2
如需預設值的詳細資訊,請參閱 記憶體帳戶資源的 Bicep 和 ARM 範本參考 。
Log Analytics 工作區
Log Analytics 工作區是 Azure 監視器和其他 Azure 服務 (例如 Microsoft Sentinel 和適用於雲端的 Microsoft Defender) 記錄資料的唯一環境。 這是 Azure 入口網站 中的工具,可用來針對 Azure 監視器記錄存放區中的數據編輯和執行記錄查詢。
如需詳細資訊,請參閱 Log Analytics工作區檔。
Mesh 工具組預設資源設定 - Log Analytics 工作區
- forceCmkForQuery: false
- retentionInDays:30
- SKU 名稱:P erGB2018
- dailyQuotaGb:2GB
如需預設值的詳細資訊,請參閱 工作區資源的 Bicep 和 ARM 範本參考 。
Application Insights
Application Insights 是 Azure 監視器的延伸模組,並提供應用程式效能監視 (APM) 功能。 APM 工具可透過下列方式,從開發、測試到生產環境有效監視應用程式:
主動了解應用程式的執行方式。 回應性檢閱應用程式執行資料,以判斷事件的原因。 除了收集 計量 和應用程式 遙測 數據,其中描述應用程式活動和健康情況,您可以使用Application Insights來收集和儲存應用程式 追蹤記錄數據。
如需詳細資訊,請參閱 Application Insights Docs。
Mesh 工具組預設資源設定 - Application Insights
- 種類:Web
- Request_Source:rest
- WorkspaceResourceId:預設 Log Analytics 工作區標識符。
如需預設值的詳細資訊,請參閱 虛擬網絡 資源的 Bicep 和 ARM 範本參考。
Mesh 雲端腳本服務基礎結構圖表
流量流經每個元件
用戶端 <-> AppService 實例:用戶端要求/回應(連線要求、雲端腳本通知等等)。
App Service 實例:用來判斷即時性的 TCP Ping 訊息。
App Service 實例 <-> LogAnalytics/AppInsights:應用程式遙測(應用程式記錄)。
App Service 實例 <-> 成員資格數據表:每個 App Service 實例的實時性資訊。
App Service 實例 <-> Blob 記憶體:雲端腳本在雲端中執行的 ZIP。
資源提供者註冊
要註冊的服務如下:
- Microsoft.Web
- Microsoft.Storage
- Microsoft.Network
- Microsoft.Insights
- Microsoft.OperationalInsights
注意事項
如果您需要錯誤的說明,請參閱 資源提供者註冊錯誤。
如 Azure 檔中所述,註冊服務是在訂用帳戶層級完成。 換句話說,不需要為不同的資源群組註冊服務。
Mesh 雲端腳本服務部署的訪問控制
開發人員必須擁有可用於部署的電子郵件帳戶。 這可以是新的或預先存在的帳戶。
如果您要透過 Azure 安全組管理存取控制,請建立此群組(例如「Mesh 雲端腳本服務開發人員」)。 如需與 Microsoft 365 群組類型相比的 Azure 安全組詳細資訊,請參閱 瞭解群組和群組成員資格。
決定您希望開發人員存取 Azure 訂用帳戶的方式。 這是由開發人員是目錄或來賓使用者的原生成員所決定。
- 如果您想要輕鬆地管理訪問控制,您可以將原生成員新增至您在上述步驟 #2 中建立的 Azure 安全組。
- 您可以將來賓使用者新增至您的 Azure 訂用帳戶,或將它們新增至 Azure 安全組(請參閱上述步驟 2)。
如需來賓用戶的詳細資訊,請參閱在 Azure 入口網站 中新增 B2B 共同作業使用者。
我們的訪問控制建議
以下是一些建議,說明如何授與開發人員在 Azure 中布建 Mesh 雲端腳本服務雲端基礎結構的存取權。 這些會因您希望訪問控制原則的限制程度而有所不同。
將 針對 Mesh 雲端腳本服務布建的整個訂用帳戶上的參與者角色 授與開發人員。
建立 Mesh 雲端腳本服務雲端基礎結構部署的專用資源群組,並將此資源群組中的參與者角色授與開發人員。 您可以透過您在第二個必要條件中建立的 Azure 安全組來執行此動作,也就是「Mesh 雲端腳本服務開發人員」。 這會授與他們管理所有資源的完整存取權,但不允許他們在 Azure RBAC 中指派角色、管理 Azure 藍圖中的指派,或共用映像資源庫。
在 Azure 中建立自定義角色,具有建立和管理 Mesh 雲端腳本服務雲端基礎結構所需的最低許可權。
您可以直接在您在第二個先決條件中建立的 Azure 安全組上指派此角色,例如「Mesh 雲端腳本服務開發人員」。
以下是您建立之自定義角色的建議許可權:
您要上傳的 JSON 檔案應該如下所示**:
{ "id": "88888-8888-8888-888-8888888", "properties": { "roleName": "MeshCloudScriptingServiceDeployer", "description": "Grants access to Mesh Cloud Scripting Services resources", "assignableScopes": [ "/subscriptions/{subscriptionID}" ], "permissions": [ { "actions": [ "*/read", "Microsoft.Authorization/*/read", "Microsoft.ClassicCompute/virtualMachines/extensions/*", "Microsoft.ClassicStorage/storageAccounts/listKeys/action", "Microsoft.Compute/virtualMachines/extensions/*", "Microsoft.HybridCompute/machines/extensions/write", "Microsoft.Insights/alertRules/*", "Microsoft.Insights/autoscalesettings/*", "Microsoft.Insights/components/*", "Microsoft.Insights/diagnosticSettings/*", "Microsoft.Insights/generateLiveToken/read", "Microsoft.Insights/metricAlerts/*", "Microsoft.Insights/scheduledqueryrules/*", "Microsoft.Insights/topology/read", "Microsoft.Insights/transactions/read", "Microsoft.Insights/webtests/*", "Microsoft.Network/*", "Microsoft.OperationalInsights/*", "Microsoft.OperationsManagement/*", "Microsoft.ResourceHealth/availabilityStatuses/read", "Microsoft.Resources/deployments/*", "Microsoft.Resources/subscriptions/resourcegroups/deployments/*", "Microsoft.Resources/subscriptions/resourceGroups/read", "Microsoft.Storage/storageAccounts/*", "Microsoft.Support/*", "Microsoft.Web/certificates/*", "Microsoft.Web/hostingEnvironments/Join/Action", "Microsoft.Web/listSitesAssignedToHostName/read", "Microsoft.Web/serverFarms/join/action", "Microsoft.Web/serverFarms/*", "Microsoft.Web/sites/*" ], "notActions": [], "dataActions": [], "notDataActions": [] } ] } }
注意
MeshCloudScriptingServiceDeployer 自定義角色不允許使用者建立資源群組。 如果我們希望使用者建立資源群組,他們也需要 Microsoft.Resources/subscriptions/resourcegroups/write 許可權 。
Mesh 雲端腳本服務的配額限制
Mesh 雲端腳本服務基礎結構會利用 Premium App Service Linux 方案 (P1V2)。 以下是您在部署 Mesh 雲端腳本服務時可能會遇到的 App Service 限制:
資源 | 進階版 (P1V2) |
---|---|
每個 Azure App 服務 方案的 Web、行動或 API 應用程式 | 不限定 |
App Service 計劃 | 每個資源群組 100 個 |
注意
除非另有說明,否則應用程式與記憶體配額是每個 App Service 方案。
注意
您可以裝載在這些電腦上的實際應用程式數目取決於應用程式的活動、計算機實例的大小,以及對應的資源使用率。
如果您收到下列錯誤:「此區域具有訂用帳戶的 0 個 PremiumV2 實例配額。 請嘗試選取不同的區域或 SKU,“請參閱 Azure 訂用帳戶限制和配額。
清除過時的 Mesh 雲端腳本服務
如果您有過時或未使用的 Mesh 雲端腳本服務,請遵循下列步驟來尋找您的 Mesh 雲端腳本資源並加以移除。
登入 Azure 入口網站。
流覽至 [所有資源] 索引標籤。
在 [所有資源] 頁面上:
a. 選取適當的訂用帳戶。
b. 新增具有 EnvironmentName 標籤的篩選條件。
c. 尋找符合您想要刪除之環境的資源。
按兩下步驟 3C 中找到之每個資源名稱旁的省略號,然後按下拉式清單中的 [刪除],以清除過時的Mesh雲端腳本服務。 或者,您可以使用 Azure CLI,如此 刪除資源 一文所述,依名稱刪除資源。