提升 Azure 使用效率的实用技巧
1. Azure Traffic Manager 基础
Azure Traffic Manager 是一项重要的 Azure 服务,它主要实现流量分配功能。通过使用该服务,我们可以了解流量分配的基本概念和不同的路由方法,这些方法能覆盖许多日常工作中可能遇到的实际用例。合理利用其配置、真实用户测量和监控等功能,可以实现多种业务需求。
以下是一些关于 Azure Traffic Manager 的常见问题:
1.
支持的路由方法有哪些?
2.
如何使用真实用户测量功能?
3.
能否链接不同的 Azure Traffic Manager 配置文件?
4.
是否可以使用外部端点?
5.
客户端是否直接连接到 Azure Traffic Manager 返回的端点?
6.
网关和 Azure Traffic Manager 的主要区别是什么?
7.
Azure Traffic Manager 能否用于实现高可用性?如果可以,如何实现?
2. 提升 Azure 操作效率的工具
在 Azure 生态系统中,有多种工具和捷径可用于资源调配、服务配置和应用开发。下面介绍两个基础工具:Azure CLI 和 Cloud Shell。
2.1 Azure CLI
Azure CLI 是一个跨平台的命令行工具,可在本地安装以管理 Azure 资源。一般命令格式如下:
$ az [resource] [command] -param1 "Foo" -param2 123
例如,使用 Azure CLI 创建一个函数应用:
$ az functionapp create --name "handsonazureapp" --storage-account "handsonazurestorage" --consumption-plan-location "westeurope" --resource-group "myResourceGroup"
安装 Azure CLI 的说明可参考相关文章,其支持 Windows、macOS 和 Linux 等多个平台。安装完成后,打开命令行终端,输入以下命令进行登录:
$ az login
登录时,会提示使用浏览器打开页面
https://microsoft.com/devicelogin
,并输入代码
DRXXXXXXX
进行认证。认证成功后,命令将显示与该账户关联的所有订阅信息。
如果不记得所有命令,可以使用以下命令查找相关命令:
$ az find -q "query"
例如,查找与 Azure Functions 相关的命令:
$ az find -q function
`az functionapp create`
Create a function app.
The function app's name must be able to produce a unique FQDN as
AppName.azurewebsites.net.
`az functionapp list`
List function apps.
`az functionapp delete`
Delete a function app.
`az functionapp stop`
Stop a function app.
`az functionapp start`
Start a function app.
`az functionapp restart`
Restart a function app.
`az functionapp update`
Update a function app.
`az functionapp`
Manage function apps.
`az functionapp config`
Configure a function app.
`az functionapp show`
Get the details of a function app.
下面是创建函数应用的完整示例:
$ az storage account create --sku Standard_LRS --kind Storage --resource-group handsonazure-euw-rg --name handsonazurestorage
$ az functionapp create --name handsonazure-euw-functionapp --storage-account handsonazurestorage --resource-group handsonazure-euw-rg --consumption-plan-location westeurope
如果需要创建新的资源组,可使用
az group create
命令。
2.2 Cloud Shell
Cloud Shell 是使用 Azure CLI 的替代工具。在 Azure 门户中,点击 Cloud Shell 按钮即可访问。
打开 Cloud Shell 时,门户底部会显示一个欢迎屏幕,提示选择所需的 shell(Bash 或 PowerShell),两种 shell 在功能上是一致的,可根据个人喜好选择。
如果是首次使用 Cloud Shell,还需要挂载一个存储账户,用于在会话之间持久保存文件。有两种选择:可以让系统自动创建存储账户,也可以点击“显示高级设置”按钮选择特定选项。
配置完成后,Azure 将尝试初始化 Cloud Shell 账户,初始化成功后会显示相关信息,如:
Your cloud drive has been created in:
Subscription Id: <subscription-id>
Resource group: cloudshell-euw-rg
Storage account: cloudshelleuwstorage
File share: cloudshelleuwfileshare
Initializing your account for Cloud Shell...\
Requesting a Cloud Shell.Succeeded.
Connecting terminal...
Welcome to Azure Cloud Shell
Type "dir" to see your Azure resources
Type "help" to learn about Cloud Shell
使用 Cloud Shell 类似于浏览文件系统,Azure 资源以目录形式呈现,可使用
dir
或
cd
等常见命令行命令进行访问。例如,选择要使用的订阅:
PS Azure:\> cd <subscription-name>
然后浏览其中的所有资源:
PS Azure:\> cd AllResources
PS Azure:\> dir
需要注意的是,通过 Cloud Shell 可操作的资源有限,目前可用于操作以下服务:
- 资源组
- Web 应用
- 存储账户
- 虚拟机
例如,获取 Azure 文件的连接字符串:
PS Azure:\> cd StorageAccounts\<storage-account-name>\files
PS Azure:\> dir
在 Cloud Shell 中,既可以使用 Azure PowerShell 命令,也可以使用 Azure CLI。输入
az
命令会显示相应结果,之前在 Azure CLI 部分学到的内容都可以在这里应用。
3. 资源锁定
在创建和管理大量 Azure 资源时,可能会不小心移动、重命名或删除不应操作的资源。为防止这种情况发生,可以使用资源锁定功能。
资源锁定有两种类型:删除锁定和只读锁定。
-
删除锁定
:阻止对资源进行删除操作。例如,要保护资源组不被删除,可点击资源组的“Locks”选项卡,然后点击“+ Add”按钮并选择相应的锁定类型。之后尝试删除该资源组时,会收到错误提示。
-
只读锁定
:防止对资源进行更改。对于资源组,无法添加新服务;对于 Azure 存储账户,无法对服务配置进行任何更改。
锁定也是 Azure 资源,可以使用 Azure PowerShell 命令(如
Get-AzureRmResourceLock
)或 ARM 模板进行管理。
4. 资源命名规范
在 Azure 中管理资源时,采用合适的命名规范非常重要。一个好的命名规范应该简单、直观且易于遵循。在考虑资源命名时,需要考虑以下几个方面:
- 资源的部署区域
- 资源类型
- 资源名称
- 资源实例类型/环境
以资源组为例,默认命名可能是
MyNewService
、
newPortal
、
oldplatform
等,但这些名称缺乏资源位置和环境等信息。为了使名称更具描述性,可以添加资源类型、位置和环境信息,如下所示:
| 原始名称 | 添加类型后 | 添加位置和类型后 | 添加位置、类型和环境后 |
|---|---|---|---|
| MyNewService | MyNewServiceResourceGroup | MyNewResourceResourceGroupEastUS2 | MyNewResourceResourceGroupEastUS2Test |
| newPortal | newPortal-resourceGroup | newPortal-westEurope-resourceGroup | newPortal-westEurope-prod-resourceGroup |
| oldplatform | oldplatform-rg | oldplatform-eun-rg | oldplatform-staging-eun-rg |
不同的 Azure 资源对名称的限制不同,例如 Azure App Services 对名称的限制相对较少,而 Azure Storage 只允许使用字母和数字。因此,命名规范应根据实际需求进行调整,同时要具有一定的灵活性,以适应未来业务的变化。
5. 访问 Azure 资源属性
在 Azure 中,大部分操作都涉及到资源的管理。可以使用 Azure Resource Manager(Azure RM)来管理各种资源,包括特定服务(如 Azure Functions 或 Azure Traffic Manager)、服务的部分设置(如 Azure App Services 的应用设置)以及特定功能(如资源锁定)。
访问 Azure 资源属性的最简单方法是使用 Azure Resource Explorer,可通过访问
https://resources.azure.com/
来使用该工具。
打开后,默认屏幕上有两种节点类型:
-
providers
:与特定的 Azure 服务相关,如 Azure Cosmos DB 或 Azure Storage。
-
subscription
:订阅也是一种 Azure 资源,可以通过该节点浏览订阅内的资源。
通过这些节点,不仅可以直接查看资源的参数,还可以将收集到的信息用于 ARM 模板。此外,该工具允许直接编辑资源参数(点击“Edit”按钮),并生成可用于管理资源的 PowerShell/Ansible 脚本。以下是为 Azure 存储账户生成的 PowerShell 命令示例:
# PowerShell equivalent script
# GET handsonazureeuwstorage
Get-AzureRmResource -ResourceGroupName handsonazure-euw-rg -ResourceType Microsoft.Storage/storageAccounts -ResourceName "handsonazureeuwstorage" -ApiVersion 2017-10-01
# SET handsonazureeuwstorage
$PropertiesObject = @{
#Property = value;
}
Set-AzureRmResource -PropertyObject $PropertiesObject -ResourceGroupName handsonazure-euw-rg -ResourceType Microsoft.Storage/storageAccounts -ResourceName "handsonazureeuwstorage" -ApiVersion 2017-10-01 -Force
# DELETE handsonazureeuwstorage
Remove-AzureRmResource -ResourceGroupName handsonazure-euw-rg -ResourceType Microsoft.Storage/storageAccounts -ResourceName "handsonazureeuwstorage" -ApiVersion 2017-10-01 -Force
# Action ListAccountSas
$ParametersObject = @{
signedServices = "(String)"
signedResourceTypes = "(String)"
signedPermission = "(String)"
signedIp = "(String)"
signedProtocol = "(String)"
signedStart = "(String)"
signedExpiry = "(String)"
keyToSign = "(String)"
}
Invoke-AzureRmResourceAction -ResourceGroupName handsonazure-euw-rg -ResourceType Microsoft.Storage/storageAccounts -ResourceName handsonazureeuwstorage -Action ListAccountSas -Parameters $ParametersObject -ApiVersion 2017-10-01 -Force
# Action ListServiceSas
$ParametersObject = @{
canonicalizedResource = "(String)"
signedResource = "(String)"
signedPermission = "(String)"
signedIp = "(String)"
signedProtocol = "(String)"
signedStart = "(String)"
signedExpiry = "(String)"
signedIdentifier = "(String)"
startPk = "(String)"
endPk = "(String)"
startRk = "(String)"
endRk = "(String)"
keyToSign = "(String)"
rscc = "(String)"
rscd = "(String)"
rsce = "(String)"
rscl = "(String)"
rsct = "(String)"
}
Invoke-AzureRmResourceAction -ResourceGroupName handsonazure-euw-rg -ResourceType Microsoft.Storage/storageAccounts -ResourceName handsonazureeuwstorage -Action ListServiceSas -Parameters $ParametersObject -ApiVersion 2017-10-01 -Force
# Action listKeys
Invoke-AzureRmResourceAction -ResourceGroupName handsonazure-euw-rg -ResourceType Microsoft.Storage/storageAccounts -ResourceName handsonazureeuwstorage -Action listKeys -ApiVersion 2017-10-01 -Force
# Action regenerateKey
$ParametersObject = @{
keyName = "(String)"
}
Invoke-AzureRmResourceAction -ResourceGroupName handsonazure-euw-rg -ResourceType Microsoft.Storage/storageAccounts -ResourceName handsonazureeuwstorage -Action regenerateKey -Parameters $ParametersObject -ApiVersion 2017-10-01 -Force
通过这些脚本,无需手动编写复杂的管理脚本,只需复制并根据需要进行调整即可。
综上所述,掌握 Azure CLI 和 Cloud Shell 的使用、合理运用资源锁定、采用适当的命名规范以及利用 Azure Resource Explorer 访问资源属性,能够显著提升 Azure 资源管理的效率,帮助开发者和架构师更好地构建和管理基于 Azure 的解决方案。同时,由于云计算领域发展迅速,建议持续关注相关信息,不断更新知识和技能,以适应不断变化的业务需求。
提升 Azure 使用效率的实用技巧(续)
6. 总结与展望
在前面的内容中,我们详细介绍了一系列提升 Azure 使用效率的实用技巧。这些技巧不仅能帮助我们更高效地管理资源,还能增强资源的安全性和可维护性。下面对这些技巧进行简要总结,并对未来的学习和实践给出一些建议。
6.1 技巧回顾
- Azure Traffic Manager :了解了其流量分配的基本概念和不同路由方法,能应对多种实际用例。
- Azure CLI :跨平台命令行工具,可通过命令快速管理 Azure 资源,如创建函数应用等。
- Cloud Shell :在 Azure 门户中直接使用,功能与 Azure CLI 类似,且支持持久化存储。
- 资源锁定 :通过删除锁定和只读锁定保护资源,避免误操作。
- 命名规范 :合理的命名规范能使资源管理更清晰,便于识别和维护。
- Azure Resource Explorer :方便查看和编辑资源参数,还能生成管理脚本。
6.2 持续学习建议
云计算领域不断发展,Azure 也在持续更新和完善其功能。为了更好地适应这些变化,建议大家通过以下方式持续学习:
-
阅读官方文档
:Azure 官方文档是最权威的学习资源,包含了详细的功能介绍和操作指南。
-
关注技术博客
:许多技术专家会在博客上分享他们的经验和见解,能帮助我们了解最新的技术趋势。
-
参加培训和会议
:参加专业的培训课程和行业会议,与同行交流经验,拓宽视野。
7. 常见问题解答
为了帮助大家更好地理解和应用这些技巧,下面对一些常见问题进行解答。
| 问题 | 解答 |
|---|---|
| 资源锁定的两种类型(删除锁定和只读锁定)是如何工作的? | 删除锁定阻止对资源进行删除操作;只读锁定防止对资源进行更改,如对资源组无法添加新服务,对存储账户无法更改服务配置。 |
| 能否在 Cloud Shell 中使用 Azure CLI? | 可以,在 Cloud Shell 中既可以使用 Azure PowerShell 命令,也可以使用 Azure CLI,之前在 Azure CLI 部分学到的内容都可以在这里应用。 |
| 在哪里可以获取 Azure 中已配置资源的详细信息? |
可以使用 Azure Resource Explorer,访问
https://resources.azure.com/
,通过该工具可以查看资源参数,并生成管理脚本。
|
| 采用合适的命名规范有什么好处? | 合适的命名规范能使资源名称更具描述性,便于识别资源的位置、类型和环境,提高资源管理的效率。 |
| 为什么 Cloud Shell 需要配置存储账户? | Cloud Shell 使用存储账户在会话之间持久保存文件。 |
8. 实践案例分析
为了更直观地展示这些技巧的应用,下面通过一个实践案例进行分析。
假设我们要创建一个基于 Azure 的 Web 应用,包含存储账户和函数应用,并且要确保资源的安全性和可管理性。以下是具体的操作步骤:
8.1 创建资源组并命名
首先,使用 Azure CLI 创建一个资源组,采用合适的命名规范,包含位置和环境信息:
$ az group create --name mywebapp-prod-eastus-rg --location eastus
8.2 创建存储账户
在创建的资源组中创建一个存储账户:
$ az storage account create --sku Standard_LRS --kind Storage --resource-group mywebapp-prod-eastus-rg --name mywebappstorage
8.3 创建函数应用
使用存储账户创建一个函数应用:
$ az functionapp create --name mywebappfunctionapp --storage-account mywebappstorage --resource-group mywebapp-prod-eastus-rg --consumption-plan-location eastus
8.4 配置资源锁定
为了防止误删除和更改,对资源组和存储账户应用资源锁定:
# 为资源组添加删除锁定
$resourceGroupLock = New-AzureRmResourceLock -LockLevel CanNotDelete -LockName ResourceGroupDeleteLock -ResourceName mywebapp-prod-eastus-rg -ResourceType Microsoft.Resources/resourceGroups -ResourceGroupName mywebapp-prod-eastus-rg
# 为存储账户添加只读锁定
$storageAccountLock = New-AzureRmResourceLock -LockLevel ReadOnly -LockName StorageAccountReadOnlyLock -ResourceName mywebappstorage -ResourceType Microsoft.Storage/storageAccounts -ResourceGroupName mywebapp-prod-eastus-rg
8.5 查看资源信息
使用 Azure Resource Explorer 查看资源的详细信息,并生成管理脚本:
- 访问
https://resources.azure.com/
。
- 展开相应的节点,查看资源参数。
- 点击“Edit”按钮编辑资源参数。
- 复制生成的 PowerShell 脚本进行资源管理。
9. 流程图总结
下面是一个 mermaid 格式的流程图,总结了创建和管理 Azure 资源的主要步骤:
graph LR
A[创建资源组] --> B[创建存储账户]
B --> C[创建函数应用]
C --> D[配置资源锁定]
D --> E[查看资源信息]
E --> F[使用管理脚本]
通过以上步骤和技巧的应用,我们能够高效地创建和管理 Azure 资源,确保资源的安全性和可维护性。希望这些内容能帮助大家更好地使用 Azure,提升工作效率和技能水平。在未来的实践中,不断探索和应用新的技术,以适应云计算领域的快速发展。
超级会员免费看
40

被折叠的 条评论
为什么被折叠?



