建立執行個體集區 (預覽版) - Azure SQL 受控執行個體
適用於:Azure SQL 受控執行個體
本文介紹如何使用 Azure 入口網站、PowerShell 或 Azure CLI 為 Azure SQL 受控執行個體建立執行個體集區,以及如何使用 PowerShell 或 Azure CLI 將執行個體移入和移出集區。
執行個體集區可讓您使用共用資源將多個執行個體部署至單一虛擬機器,以提供方便且符合成本效益的基礎結構,以移轉多個 SQL Server 執行個體,而不需要將較小型且計算密集較低的工作負載合併到較大的 SQL 受控執行個體。
注意
適用於 Azure SQL 受控執行個體的執行個體集區目前處於預覽狀態。
必要條件
若要建立執行個體集區,您應該具備:
子網路大小考慮
使用執行個體集區時,請仔細規劃子網路的大小。 有關子網路大小調整指引,請參閱判斷所需的子網路大小與範圍。
在計算一個包含多個一般用途執行個體的執行個體集區所需的 IP 位址數目時,請使用下列公式:
2 * (5 + (3 * # of MIs)) + 5
# of MIs
是指您計劃佈建的執行個體的潛在數目上限。 集區中執行個體的可能數目上限為 40。
建立執行個體集區
可以使用 Azure 入口網站、PowerShell 或 Azure CLI 建立執行個體集區。 請考慮下列事項:
- 目前只有標準系列 (Gen5) 或進階版系列硬體上的一般用途服務層級可供使用。
- 集區名稱只能包含小寫字母、數字和連字號,且開頭不得為連字號。
- Azure Hybrid Benefit 適用於執行個體集區層級。 您可以在建立集區時設定授權類型,並在建立集區之後更新授權類型。
重要
部署執行個體集區是長時間執行的作業,最多可能需要 4.5 小時。
若要在 Azure 入口網站建立執行個體集區,請執行下列步驟:
在 Azure 入口網站搜尋執行個體集區,然後選取 [執行個體集區] 服務以開啟 [執行個體集區] 頁面:
在 [執行個體集區] 頁面,選擇 [+ 建立] 以開啟 [建立 Azure SQL 受控執行個體集區] 頁面:
在建立 Azure SQL 受控執行個體集區上:
- 在 [基本] 索引標籤中,提供專案和執行個體的詳細資料。
- 使用 [計算 + 儲存體] 下的 [設定執行個體集區] 開啟 [計算 + 儲存體] 頁面,然後選擇您想要集區使用的服務層級、計算硬體和 SQL Server 授權。 使用 [套用] 儲存計算設定,並返回 [建立 Azure SQL 受控執行個體集區] 頁面。
- 選取現有的虛擬網路,或在 [網路] 索引標籤設定新的虛擬網路。
- (選擇性) 在 [其他設定] 索引標籤,為集區設定非預設維護時段。
- 在 [檢閱 + 建立] 索引標籤,檢閱您的設定,然後選取 [建立] 以建立您的執行個體集區。
您可以從 [通知] 監視集區部署。
建立執行個體集區之後,您可以使用 Azure 入口網站在集區中建立新的執行個體,或使用 PowerShell 或 Azure CLI 將現有的執行個體移至集區。
在集區內建立新的執行個體
建立集區之後,可以使用 Azure 入口網站、 PowerShell 或 Azure CLI 在集區內建立新的執行個體。
請考慮下列事項:
- 您必須指定新執行個體的授權類型,而且必須符合集區的授權類型。
若要使用 Azure 入口網站在集區內建立新執行個體,請遵循下列步驟:
在 Azure 入口網站中,移至 Azure SQL 頁面。
在 Azure SQL 頁面,選取 [+ 建立] 以開啟 [選取 SQL 部署選項]。
在 [SQL 受控執行個體] 磚中,選取 [單一執行個體] 作為資源類型,然後選取 [建立] 以開啟 [建立 Azure SQL 受控執行個體] 頁面。
在 [建立 Azure SQL 受控執行個體] 頁面的 [基本] 索引標籤上:
- 選取包含現有執行個體集區的資源群組。
- 針對 [受控執行個體 詳細資料] 底下的 [屬於執行個體集區?] 選擇 [是],以在執行個體集區內建立新的執行個體。
- 從 [執行個體集區] 下拉式清單中選取集區。
填寫 [建立 Azure SQL 受控執行個體] 頁面上的剩餘詳細資料,以在集區內建立執行個體。 如需詳細資料,請檢閱建立 Azure SQL 受控執行個體。
選取 [檢閱 + 建立] 以檢閱新執行個體的設定,然後使用 [建立] 在選取的集區內部署您的執行個體。
移動現有執行個體
您可以使用 PowerShell 或 Azure CLI,在集區中移入和移出執行個體,只要符合以下條件:
- 其位於與集區相同的資源群組中。
- 其位於與集區相同的虛擬網路和子網路上。
- 其符合執行個體集區資源限制。
當現有的執行個體移入集區時,集區層級的設定優先於執行個體層級設定。 例如,執行個體會繼承集區層級設定的授權類型和維護時段。 當執行個體移出集區時,它會保留繼承自集區的設定。 唯一的例外為授權類型,當執行個體從執行個體集區中移除時,預設會回到 'LicenseIncluded' - 在執行個體移出集區之後,必須手動設定 Azure Hybrid Benefit 和混合式容錯移轉權限權益。
目前不支援使用 Azure 入口網站在集區內移動現有的執行個體。
若要使用 PowerShell 將執行個體移入集區,請在使用 Set-AzSqlInstance 時提供集區名稱:
$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName
若要將執行個體移出集區,請提供空白集區名稱:
$instance01 | Set-AzSqlInstance -InstancePoolName ''
連線到集區中的執行個體
您可以選擇使用私人端點或公用端點連線到集區中的執行個體。 若要使用私人端點,您必須使用 Azure Private Link。
若要連線到具有公用端點集區中的執行個體,請先啟用端點,然後允許網路安全性群組上的公用端點流量。
建立資料庫
在集區內建立執行個體的資料庫,與為單一執行個體建立資料庫相同。 您可以使用 Azure 入口網站、PowerShell 或 Azure CLI 來建立新資料庫。
若要使用 Azure 入口網站為現有 SQL 受控執行個體建立新資料庫,請遵循下列步驟:
取得集區使用量
您可以使用 PowerShell 來判定如何在集區內使用資源。
若要取得集區內的執行個體清單,請使用 Get-AzSqlInstance:
$instancePool | Get-AzSqlInstance
若要取得集區資源使用狀況,請使用 Get-AzSqlInstancePoolUsage:
$instancePool| Get-AzSqlInstancePoolUsage
您可以新增 -ExpandChildren 參數,以取得集區及其內部執行個體的詳細概觀:
$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren
若要列出執行個體中的資料庫,請使用 Get-AzSqlInstanceDatabase:
$databaseParams = @{
InstanceName = $instance01Name
ResourceGroupName = $resourceGroupName
}
$databases = Get-AzSqlInstanceDatabase @databaseParams
注意
若要檢查部署到集區的執行個體的限制,以及每個執行個體集區的資料庫,請檢閱資源限制。
更新執行個體集區
您可以使用 PowerShell 或 Azure CLI 更新現有執行個體集區的設定。
您可以使用 PowerShell 來變更執行個體集區限制。
下列範例指令碼可變更授權類型、虛擬核心大小和硬體類型:
變更授權類型:
$instancePoolParams = @{
LicenseType = "BasePrice"
VCores = 16
ComputeGeneration = "Gen8"
}
$instancePool | Set-AzSqlInstancePool @instancePoolParams
您也可以判定可用的維護時段排程:
$parameters = @{
Location = $location
MaintenanceScope = "SQLManagedInstance"
}
$configurations = Get-AzMaintenancePublicConfiguration @parameters
$maintenanceWindowOptions = $configurations | Where-Object { $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLManagedInstance" }
然後您可以透過指定時段選項來變更維護時段,例如:
$instancePoolParams = @{
MaintenanceConfigurationId = $maintenanceWindowOptions[1].Id
}
$instancePool | Set-AzSqlInstancePool @instancePoolParams
更新集區式執行個體
如果尚未超過集區資源限制,您可以使用 PowerShell 或 Azure CLI 來修改集區內部執行個體的資源組態,
若要修改集區內部執行個體的資源參數,請使用 Set-AzSqlInstance。
以下範例會將虛擬核心更新為 8,並將 Instance1 的儲存大小變更為 512 GB:
$instancePoolParams = @{
VCore = 8
StorageSizeInGB = 512
InstancePoolName = $instancePoolName
}
$instance1name | Set-AzSqlInstance @instancePoolParams
刪除執行個體集區
只要刪除集區中的所有執行個體,或將其移出集區,您即可使用 PowerShell 或 Azure CLI 刪除執行個體集區。
若要刪除執行個體集區,請使用 Remove-AzSqlInstancePool。
下列範例指令碼會刪除空白執行個體集區:
$params = @{
ResourceGroupName = "<resource group name>"
Name = "<instance pool name>"
}
Remove-AzSqlInstancePool @params
執行個體集區作業
下表顯示可用的執行個體集區作業:
Command | Azure 入口網站 | PowerShell | Azure CLI |
---|---|---|---|
建立執行個體集區 | Yes | .是 | Yes |
更新集區屬性 | No | .是 | Yes |
檢查集區使用和屬性 | Yes | .是 | 是 |
刪除執行個體集區 | Yes | .是 | Yes |
在集區內部建立新的受控執行個體 | Yes | .是 | Yes |
將受控執行個體移入集區 | No | .是 | Yes |
從集區刪除受控執行個體 | Yes | .是 | Yes |
將受控執行個體移出集區 | No | .是 | Yes |
在集區內的執行個體中建立資料庫 | Yes | .是 | Yes |
從 SQL 受控執行個體刪除資料庫 | 是 | .是 | Yes |
若要使用 PowerShell,請安裝最新版的 PowerShell Core,並遵循安裝 Azure PowerShell 模組的指示。
可用的 PowerShell 命令:
Cmdlet | 描述 |
---|---|
New-AzSqlInstancePool | 建立執行個體集區。 |
Get-AzSqlInstancePool | 傳回執行個體集區的資訊。 |
Set-AzSqlInstancePool | 設定執行個體集區的屬性。 |
Remove-AzSqlInstancePool | 移出執行個體集區。 |
Get-AzSqlInstancePoolUsage | 傳回執行個體集區使用量的相關資訊。 |
對於集區和單一執行個體內的執行個體相關作業,請使用標準受控執行個體命令,但當您針對集區中的執行個體使用這些命令時,必須填入「執行個體集區名稱」屬性。
限制
在公開預覽期間,集區中的執行個體具有下列限制:
- 集區名稱只能包含小寫字母、數字和連字號,且開頭不得為連字號。
- 集區中的所有執行個體都使用相同的授權模型。 當您為執行個體指定的授權模型與集區的授權模型不同時,會使用集區授權模型。 在將執行個體移出集區時,它會自動切換到全額付費授權 (
LicenseType
= 'LicenseIncluded')。 手動啟用 Azure Hybrid Benefit 或混合式容錯移轉權限權益,以變更授權模型。 - 集區執行個體必須屬於相同的子網路和資源群組。 只有在集區和相同資源群組的子網路內,才能將執行個體移入和移出集區。
- 只有標準系列 (Gen5) 或進階版系列硬體上的一般用途服務層級可供使用。 下一代一般、業務關鍵服務層級和進階系列記憶體最佳化硬體無法使用。
- 集區中執行個體的可能數目上限為 40。
- 只有在集區中的所有執行個體都已刪除或移出集區之後,才能刪除執行個體集區。
- 您無法使用 Azure 入口網站來:
- 設定執行個體集區。 使用 PowerShell 或 Azure CLI。
- 將執行個體移入和移出集區。 使用 PowerShell 或 Azure CLI。
- 當執行個體位於集區時,不支援下列 SQL 受控執行個體功能:
支援要求
請在 Azure 入口網站中建立和管理執行個體集區的支援要求。
若要在 Azure 入口網站建立新的支援要求,請執行下列步驟:
在 Azure 入口網站中開啟 [新的支援要求] 頁面。
在 [新的支援要求] 中,提供以下資訊:
- 針對 [問題類型],選擇
Technical
。 - 從下拉式清單中選擇適當的訂用帳戶。
- 針對 [服務類型],選擇
SQL Managed Instance
。 - 針對 [資源],請提供 SQL 受控執行個體的名稱 (如果存在),或如果您無法在集區內部署執行個體,請選取 [一般問題]。
- 針對 [摘要],輸入
instance pools
。 - 針對 [問題類型],選擇
Create, Scale, Stop, Start, or Delete Resources
。 - 針對 [問題子類型],選擇
Instance Pools
。
- 針對 [問題類型],選擇
在後續頁面上選取 [下一步],直到您能夠 [建立] 支援要求為止。
若要建立較大的 SQL 受控執行個體部署 (不論有沒有執行個體集區),您會需要取得較大的區域配額。 如需詳細資訊,請參閱要求增加 Azure SQL Database 配額。 執行個體集區的部署邏輯會將集區層級的虛擬核心使用量總計與您的配額進行比較,以判斷是否允許您建立新的資源而不需要進一步增加配額。