Az - Virtual Machines & Network
基本信息
来自文档: Azure 虚拟机是 Azure 提供的几种按需、可扩展的计算资源之一。通常,当您需要比其他选择提供更多对计算环境的控制时,您会选择虚拟机。本文为您提供在创建虚拟机之前应考虑的信息,如何创建虚拟机以及如何管理虚拟机。
Azure 网络信息
Azure 网络包含不同的实体和配置方式。您可以在以下位置找到有关不同 Azure 网络实体的简要描述、示例和枚举命令:
Az - Azure NetworkAzure 堡垒
Azure 堡垒提供了一个安全、完全托管的通过 Azure 门户使用 SSL 的 RDP (远程桌面协议) 和 SSH (安全外壳) 访问解决方案。它集成在 Azure 虚拟网络中,允许使用私有 IP 地址连接到 VM 的 RDP 和 SSH,避免了对公共 IP 的需求。这使其成为传统方法的更安全、更便捷的替代方案,传统方法涉及为 VM 访问配置公共 IP 地址和 NSG 规则。开发人员和 IT 人员可以使用他们的 Web 浏览器从 Azure 门户安全地访问 VM,简化了开发和测试环境的流程。
要列出订阅中的所有 Azure 堡垒主机,您可以使用以下命令:
VM枚举
在虚拟机中运行命令
在虚拟机中进行AAD登录
可以允许通过AzureAD进行身份验证的用户访问。例如,尝试访问Linux虚拟机:ssh username@azure-corp.com@1.1.1.1
(重要的是使用在尝试登录时使用的azurecorp电子邮件),可能会出现错误:
只需按照以下说明访问 https://microsoft.com/devicelogin 并输入代码,使用电子邮件和密码作为凭据,然后您就可以通过SSH连接(如果该用户具有足够的权限执行此操作:Virtual Machine Administrator Login
或 Virtual Machine User Login
角色)。
运行命令
运行自定义脚本扩展
Azure虚拟机(VM)扩展是提供在Azure VM上进行部署后配置和自动化任务的小型应用程序。例如,如果虚拟机需要软件安装、防病毒保护或在其中运行脚本的能力,您可以使用VM扩展。
因此,如果您有权限编写它,您可以执行任意代码:
DesiredConfigurationState (DSC)
DesiredConfigurationState (DSC)是类似于Ansible的PowerShell工具,用于通过代码设置主机。DSC与Azure集成,允许上传特定配置文件。这些文件必须遵循严格的语法。值得注意的是,Azure中的DSC扩展可以执行来自符合特定格式标准的文件的命令,即使语法不符合DSC标准,如所示的图。
这些命令的执行由Az PowerShell中的Publish-AzVMDscConfiguration
函数实现。要求包括一个带有定义函数的**.PS1文件,并且该文件必须被压缩成.zip**文件。即使语法可能不符合DSC的要求,代码仍将执行。但是,扩展将标记执行状态为“失败”,由于状态被失败消息覆盖,因此命令的输出将不可见。
VM应用程序定义
VM应用程序定义允许将经过版本化的应用程序重复部署到Azure VM。此资源支持在VM上部署和更新应用程序。要设置此功能,需要执行几个步骤,涉及Az PowerShell中的**New-AzGalleryApplication
和New-AzGalleryApplicationVersion
**等命令。
通过此方法执行应用程序或命令涉及**“VMAppExtension”**,当应用程序应用到VM时,此扩展会自动安装。该扩展从指定的URI检索文件,并将其命名为应用程序的名称,不带扩展名。为了正确执行文件,必须配置REST API调用中的“ManageActions”字段以使用适当的扩展名重命名文件。一旦完成此方法的设置,其结构将类似于所提供的图示。
然而,此执行方法相对较慢,大约需要3-4分钟来执行一个应用程序或命令。与此过程相关的文件存储在特定目录中(C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Downloads\
用于应用程序副本,C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Status\
用于执行状态)。
这两种技术提供了在Azure环境中执行命令和部署应用程序的独特方法,每种方法都有自己的一套要求、步骤和考虑事项。
Azure中的混合工作组(HWGs)
混合工作组(HWGs)是Azure中的一个功能,允许在配置在自动化帐户中的Runbook在指定HWG的Azure虚拟机(VM)上执行。此执行通过安装在VM上的扩展实现,该扩展将Runbook代码部署到VM上。此过程的一个重要方面是实际凭据不影响执行,因为代码以提升的权限,特别是作为SYSTEM或root运行,如所提供的图示所示。
对于使用Windows 10 VM的用户的一个关键细节是必须为Runbook指定PowerShell版本。应将其设置为以PowerShell版本5.1运行,而不是7.1。这一要求源于Windows 10 VM上默认未安装PowerShell 7.1,如果指定了版本7.1,则会导致脚本执行失败。
Azure的这一功能为在混合环境中自动化和管理任务提供了强大的方法,允许在Azure VM上集中管理和执行任务。
参考资料
Last updated