AZ 120 模块 4:部署 Azure 上的 SAP

实验室 4a:在运行 Linux 的 Azure VM 上实施 SAP 体系结构

预计时间:100 分钟

本实验室中的所有任务都是从 Azure 门户执行的(包括 Bash Cloud Shell 会话)

注意:如果没有使用 Cloud Shell,实验室虚拟机必须已安装 Azure CLI:https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows

实验室文件:无

方案

为了准备在 Azure 上部署 SAP NetWeaver,Adatum Corporation 想要实现一个演示,将演示在运行 Linux SUSE 分发的 Azure VM 上实现 SAP NetWeaver 的高可用性。

目标

完成本实验室后,你将能够:

  • 预配支持高可用性 SAP NetWeaver 部署所需的 Azure 资源

  • 配置运行 Linux 的 Azure VM 操作系统,以支持高可用性 SAP NetWeaver 部署

  • 在运行 Linux 的 Azure VM 上配置群集,以支持高可用性 SAP NetWeaver 部署

要求

  • 在支持可用性区域的 Azure 区域中,具有数量充足的可用 Dsv3 vCPU(四个 Standard_D2s_v3 VM,每个 VM 2 个 vCPU;两个 Standard_D4s_v3 VM,每个 VM 4 个 vCPU)的 Microsoft Azure 订阅

  • 安装了兼容 Azure Cloud Shell 的 Web 浏览器且具有 Azure 访问权限的实验室计算机

练习 1:预配支持高度可用的 SAP NetWeaver 部署所需的 Azure 资源

持续时间:30 分钟

在本练习中,你将部署配置 Linux 群集所必需的 Azure 基础结构计算组件。 这将涉及在同一可用性集中创建一对运行 Linux SUSE 的 Azure VM。

任务 1:创建将托管高可用性 SAP NetWeaver 部署的虚拟网络。

  1. 从实验室计算机中启动 Web 浏览器,并导航到 Azure 门户 (https://portal.azure.com )。

  2. 如果出现提示,请使用你在本实验室中使用的 Azure 订阅的所有者或参与者角色以及与你的订阅关联的 Azure AD 租户中的全局管理员角色登录工作或学校或个人 Microsoft 帐户。

  3. 从 Azure 门户,在 Cloud Shell 启动 Bash 会话。

    注意:如果这是你第一次在当前 Azure 订阅中启动 Cloud Shell,则会要求你创建 Azure 文件共享以保留 Cloud Shell 文件。 如果是,接受默认设置,这样会在自动生成的资源组中创建存储账户。

  4. 在 Cloud Shell 窗格中运行以下命令,指定你要在其中为此实验室创建资源且支持可用性区域的 Azure 区域(将 <region> 替换为支持可用性区域的 Azure 区域的名称):

     LOCATION='<region>'
    

    注意:请考虑使用“美国东部”** 或“美国东部 2”** 区域来部署资源。

    注意:确保为 Azure 区域使用正确的表示法(简称不包含空格,例如是 eastus 而不是 US East)****

    注意:要确定支持可用性区域的 Azure 区域,请参阅 https://docs.microsoft.com/en-us/azure/availability-zones/az-region

  5. 在 Cloud Shell 窗格中运行以下命令,将变量 RESOURCE_GROUP_NAME 的值设置为你在上一个任务中预配的资源所在的资源组的名称:

     RESOURCE_GROUP_NAME='az12003a-sap-RG'
    
  6. 在 Cloud Shell 窗格中,运行以下命令以创建指定区域的资源组:

     az group create --resource-group $RESOURCE_GROUP_NAME --location $LOCATION
    
  7. 在 Cloud Shell 窗格中,运行以下命令以在你创建的资源组中创建具有单个子网的虚拟网络:

     VNET_NAME='az12003a-sap-vnet'
    
     VNET_PREFIX='10.3.0.0/16'
    
     SUBNET_NAME='sapSubnet'
    
     SUBNET_PREFIX='10.3.0.0/24'
    
     az network vnet create --resource-group $RESOURCE_GROUP_NAME --location $LOCATION --name $VNET_NAME --address-prefixes $VNET_PREFIX --subnet-name $SUBNET_NAME --subnet-prefixes $SUBNET_PREFIX
    
  8. 在 Cloud Shell 窗格中,运行以下命令以标识新创建的虚拟网络的子网资源 ID,并将其存储在 SUBNET_ID 变量中:

    SUBNET_ID=$(az network vnet subnet list --resource-group $RESOURCE_GROUP_NAME --vnet-name $VNET_NAME --query "[?name == '$SUBNET_NAME'].id" --output tsv)
    

任务 2:部署预配运行 Linux SUSE 的 Azure VM 的 Bicep 模板,该 VM 将托管高可用性 SAP NetWeaver 部署

  1. 在实验室计算机上,在 Cloud Shell 窗格中,运行以下命令,为托管 Bicep 模板的存储库创建浅表克隆,以用于部署托管 SAP HANA 的高度可用安装的一对 Azure VM,并将当前目录设置为该模板及其参数文件的位置:

    cd $HOME
    rm ./azure-quickstart-templates -rf
    git clone --depth 1 https://github.com/polichtm/azure-quickstart-templates
    cd ./azure-quickstart-templates/application-workloads/sap/sap-3-tier-marketplace-image-md/
    
  2. 在 Cloud Shell 窗格中,运行以下命令以设置管理用户帐户的名称及其密码:

    ADMINUSERNAME='student'
    ADMINPASSWORD='Pa55w.rd1234'
    
  3. 在 Cloud Shell 窗格中,运行以下命令以标识即将推出的部署中包含的资源:

    DEPLOYMENT_NAME='az1203a-'$RANDOM
    az deployment group what-if --name $DEPLOYMENT_NAME --resource-group $RESOURCE_GROUP_NAME --template-file ./main.bicep --parameters ./azuredeploy.parameters03a.json --parameters adminUsername=$ADMINUSERNAME adminPasswordOrKey=$ADMINPASSWORD subnetId=$SUBNET_ID
    
  4. 查看命令的输出,并验证它是否不包含任何错误(忽略任何警告)。 接下来,在 Cloud Shell 窗格中,运行以下命令以开始部署:

    DEPLOYMENT_NAME='az1203a-'$RANDOM
    az deployment group create --name $DEPLOYMENT_NAME --resource-group $RESOURCE_GROUP_NAME --template-file ./main.bicep --parameters ./azuredeploy.parameters.json --parameters adminUsername=$ADMINUSERNAME adminPasswordOrKey=$ADMINPASSWORD subnetId=$SUBNET_ID
    
  5. 查看命令的输出,并验证它是否不包含任何错误和警告。 出现提示时,按 Enter 键继续部署。

  6. 请勿等待部署完成,而是继续进行下一项任务。

    注意:如果在 CustomScriptExtension 组件部署期间,部署失败并出现“冲突”错误消息,请按以下步骤修正此问题**

    • 在 Azure 门户中的“部署”** 边栏选项卡上,查看部署详细信息并确定 CustomScriptExtension 安装失败的 VM

    • 在 Azure 门户中,导航到上一步中确定的 VM 的边栏选项卡,选择“扩展”**,从“扩展”** 边栏选项卡中删除 CustomScript 扩展

    • 重新运行此任务的上一步骤。

任务 3:部署跳板机

注意:由于无法从 Internet 访问你在上一个任务中部署的 Azure VM,因此你将部署运行 Windows Server 2019 Datacenter 的 Azure VM 作为跳板机。

  1. 在实验室计算机的 Azure 门户中,单击“+ 创建资源”**

  2. 在“新建”边栏选项卡中,基于 Windows Server 2019 Datacenter 图像,开始创建新的 Azure VM****。

  3. 使用以下设置预配 Azure VM(其他所有设置都保留默认值):

    设置
    订阅 Azure 订阅的名称
    资源组 新资源组的名称 az12003a-dmz-RG
    虚拟机名称 az12003a-vm0
    区域 你在本练习的上一个任务中部署 Azure VM 时所在的 Azure 区域
    可用性选项 不需要基础结构冗余
    图像 选择 Windows Server 2019 Datacenter - Gen2
    大小 标准 D2s_v3 或类似大小
    用户名 学生
    密码 自行设定的任何复杂密码
    公共入站端口 “允许选定的端口”
    选定的入站端口 RDP (3389)
    是否要使用现有的 Windows Server 许可证?
    OS 磁盘类型 标准 HDD
    虚拟网络 az12003a-sap-vnet
    子网名称 一个新子网,名为 bastionSubnet
    子网地址范围 10.3.255.0/24
    公共 IP 地址 一个新 IP 地址,名为 az12003a-vm0-ip
    NIC 网络安全组 基本
    公共入站端口 “允许选定的端口”
    选定的入站端口 RDP (3389)
    启用加速网络
    负载平衡选项
    启用系统分配的托管标识 关闭
    通过 Azure AD 登录 关闭
    启用自动关闭 关闭
    补丁业务流程选项** 手动更新
    启动诊断 禁用
    启用 OS 来宾诊断 关闭
    扩展
    标记

    备注:请确保记住在部署期间指定的密码。 本实验室中稍后会用到它。

  4. 等待预配完成。 这可能需要几分钟。

Result:完成本练习后,你已配置了支持高可用性 SAP NetWeaver 部署所需的 Azure 资源

练习 2:配置运行 Linux 的 Azure VM 以支持高度可用的 SAP NetWeaver 部署

持续时间:30 分钟

在本练习中,你将配置运行 SUSE Linux Enterprise Server 的 Azure VM,以适应高可用性 SAP NetWeaver 部署。

任务 1:配置数据库层 Azure VM 的网络。

注意:在开始此任务之前,请确保你在之前练习中启动的模板部署已完成。

  1. 在实验室计算机的 Azure 门户中,导航到 i20-db-0** Azure VM 的边栏选项卡。

  2. 从“i20-db-0”** 边栏选项卡,导航到“网络”** 边栏选项卡。

  3. 从“i20-db-0 - 网络”** 边栏选项卡,导航到 i20-db-0 的网络接口。

  4. 从 i20-db-0 的网络接口边栏选项卡,导航到其“IP 配置”边栏选项卡,其中显示其“ipconfig1”** 边栏选项卡。

  5. 在“ipconfig1”** 边栏选项卡上,将专用 IP 地址设置为“10.3.0.20”,将其分配更改为“静态”**,然后保存更改。

  6. 在 Azure 门户中,导航到 i20-db-1** Azure VM 的边栏选项卡。

  7. 从“i20-db-1”边栏选项卡中,导航到“网络”边栏选项卡。****

  8. 从“i20-db-1 - 网络”边栏选项卡,导航到 i20-db-1 的网络接口。**

  9. 从 i20-db-1 网络接口的边栏选项卡中,导航到其“IP 配置”边栏选项卡,其中显示其“ipconfig1”边栏选项卡。**

  10. 在“ipconfig1”边栏选项卡上,将专用 IP 地址设置为“10.3.0.21”,将其分配更改为“静态”,然后保存更改。****

任务 2:连接到数据库层 Azure VM。

  1. 在实验室计算机的 Azure 门户中,导航到 az12003a-vm0 边栏选项卡**

  2. 在az12003a-vm0 边栏选项卡中,使用远程桌面连接到 Azure VM az12003a-vm0**。 当系统提示进行身份验证时,请输入在此 VM 部署过程中设置的用户名和密码。

  3. 在与 az12003a-vm0 的 RDP 会话中,在服务器管理器中,导航到“本地服务器”视图并关闭“IE 增强安全配置”****。

  4. 在与 az12003a-vm0 的 RDP 会话中,从 https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 下载并安装 PuTTY。

  5. 使用 PuTTY 通过 SSH 连接 i20-db-0 Azure VM**。 确认安全警报,并在出现提示时提供以下凭据:

    • 登录身份:学生**

    • 密码:Pa55w.rd1234

  6. 在 PuTTY 中通过 SSH 并使用相同凭据连接 i20-db-1 Azure VM**

任务 3:检查 Azure VM 的数据库层的存储配置。

  1. 在 i20-db-0 Azure VM 的 PuTTY SSH 会话中,运行以下命令以提升权限:

     sudo su -
    
  2. 如果提示输入密码,请键入“Pa55w.rd1234”并按 Enter 键****。

  3. 在与 i20-db-0 的 SSH 会话中运行以下命令,验证所有与 SAP HANA 相关的卷(包括 /usr/sap、/hana/shared、/hana/backup、/hana/data 和 /hana/logs)均正确安装:********

     df -h
    
  4. 在 i20-db-1 Azure VM 上重复上述步骤。

任务 4:启用跨节点无密码 SSH 访问

  1. 在与 i20-db-0 的 SSH 会话中,通过运行以下命令生成无密码的 SSH 密钥:

     ssh-keygen
    
  2. 出现提示时,按 Enter 三次,然后通过运行以下命令显示密钥**

     cat /root/.ssh/id_rsa.pub
    
  3. 将密钥值复制到剪贴板中。

  4. 在与 i20-db-1 的 SSH 会话中运行以下命令,在 vi 编辑器中创建 /root/.ssh/authorized_keys 文件:**

     vi /root/.ssh/authorized_keys
    
  5. 在 vi 编辑器中,粘贴你在 i20-db-0 上生成的密钥。

  6. 保存更改并关闭编辑器。

  7. 在与 i20-db-1 的 SSH 会话中,通过运行以下命令生成无密码的 SSH 密钥:

     ssh-keygen
    
  8. 出现提示时,按 Enter 三次,然后通过运行以下命令显示密钥**

     cat /root/.ssh/id_rsa.pub
    
  9. 将密钥值复制到剪贴板中。

  10. 在与 i20-db-0 的 SSH 会话中运行以下命令,在 vi 编辑器中创建 /root/.ssh/authorized_keys 文件:**

     vi /root/.ssh/authorized_keys
    
  11. 在 vi 编辑器中,从新行开始,粘贴你在 i20-db-1 上生成的密钥。

  12. 保存更改并关闭编辑器。

  13. 要验证配置是否成功,请在与 i20-db-0 的 SSH 会话中,通过运行以下命令建立从 i20-db-0 到 i20-db-1 的 SSH 会话,作为“根”**

     ssh root@i20-db-1
    
  14. 当系统提示你是否确定要继续连接时,请键入 yes 并按 Enter** 键。

  15. 确保未提示你输入密码。

  16. 通过运行以下命令,关闭从 i20-db-0 到 i20-db-1 的 SSH 会话:

     exit
    
  17. 在与 i20-db-1 的 SSH 会话中,通过运行以下命令建立从 i20-db-1 到 i20-db-0 的 SSH 会话,作为“根”**

     ssh root@i20-db-0
    
  18. 当系统提示你是否确定要继续连接时,请键入 yes 并按 Enter** 键。

  19. 确保未提示你输入密码。

  20. 通过运行以下命令,关闭从 i20-db-1 到 i20-db-0 的 SSH 会话:

     exit
    

任务 5:添加 YaST 包,更新 Linux 操作系统、安装 HA 扩展

  1. 在 i20-db-0 的 SSH 会话中,运行以下命令以启动 YaST:

     yast
    
  2. 在 YaST 控制中心中,选择“软件”->“附加产品”并按 Enter。**** 这将加载包管理器**

  3. 在“已安装的附加产品”** 屏幕上,验证是否已安装“公有云模块”。 然后,按两次 F9 ** 返回到 shell 提示符。

  4. 在与 i20-db-0 的 SSH 会话中,运行以下命令更新操作系统(出现提示时,键入 y 并按下 Enter)****:

     zypper update
    
  5. 在与 i20-db-0 的 SSH 会话中运行以下命令,安装群集资源所需的包(出现提示时,键入“y”并按 Enter 键)****:

     zypper in socat
    
  6. 在与 i20-db-0 的 SSH 会话中运行以下命令,安装群集资源所需的 azure-lb 组件:

     zypper in resource-agents
    
  7. 在与 i20-db-0 的 SSH 会话中运行以下命令,在 vi 编辑器中打开 /etc/systemd/system.conf 文件**

     vi /etc/systemd/system.conf
    
  8. 在 vi 编辑器中,将替换 #DefaultTasksMax=512DefaultTasksMax=4096

    注意:在某些情况下,Pacemaker 可能会创建许多进程,达到默认数量限制并触发故障转移。 此更改增加了允许的最大进程数。

  9. 保存更改并关闭编辑器。

  10. 在与 i20-db-0 的 SSH 会话中运行以下命令,启动配置更改:

     systemctl daemon-reload
    
  11. 在与 i20-db-0 的 SSH 会话中运行以下命令,安装隔离代理包:

     zypper install fence-agents
    
  12. 在与 i20-db-0 的 SSH 会话中运行以下命令,安装隔离代理所需的 Azure Python SDK(出现提示时,键入“y”并按 Enter 键)****:

     SUSEConnect -p sle-module-public-cloud/12/x86_64
     zypper install python-azure-mgmt-compute
    
  13. 在 i20-db-1 上重复此任务中的上述步骤。

Result:完成本练习后,你将拥有运行 Linux 的 Azure VM 的 onfigured 操作系统,以支持高可用性的 SAP NetWeaver 部署

练习 3:配置运行 Linux 的 Azure VM 的群集以支持高度可用的 SAP NetWeaver 部署

持续时间:30 分钟

在本练习中,你将在运行 Linux 的 Azure VM 上配置群集,以支持高可用性 SAP NetWeaver 部署。

任务 1:配置群集

  1. 在与 az12003a-vm0 的 RDP 会话中,在基于 PuTTY 的与 i20-db-0 的 SSH 会话中,运行以下命令以在 i20-db-0 上启动 HA 群集的配置:

     ha-cluster-init -u
    
  2. 出现提示时,请提供以下回答:

    • 是否仍要继续 (y/n)?:y**

    • ring0 的地址 [10.3.0.20]:输入 **

    • ring0 的端口 [5405]:输入 **

    • 你想使用 SBD 吗 (y/n)?:n**

    • 是否希望配置虚拟 IP 地址 (y/n)?:n**

    注意:群集设置生成一个 hacluster 帐户,且其密码设置为 linux****。 你将在此任务后面部分更改它。

  3. 在与 az12003a-vm0 的 RDP 会话中,在与 i20-db-1 的基于 PuTTY 的 SSH 会话中运行以下命令,从 i20-db-1 加入 i20-db-0 上的 HA 群集:

     ha-cluster-join
    
  4. 出现提示时,请提供以下回答:

    • 是否仍要继续 (y/n)? y

    • 现有节点的 IP 地址或主机名(例如:192.168.1.1)[]:i20-db-0**

    • ring0 的地址 [10.3.0.21]:输入 **

  5. 在与 i20-db-0 的基于 PuTTY 的 SSH 会话中运行以下命令,将 hacluster 帐户的密码设置为 Pa55w.rd1234(出现提示时键入新密码)****:

     passwd hacluster
    
  6. 在 i20-db-1 上重复上述步骤。

任务 2:查看 corosync 配置

  1. 在与 az12003a-vm0 的 RDP 会话中,在与 i20-db-0 的基于 PuTTY 的 SSH 会话中运行以下命令,打开 /etc/corosync/corosync.conf 文件**

     vi /etc/corosync/corosync.conf
    
  2. 在 vi 编辑器中,请注意 transport: udpu 条目和 nodelist 部分:
     [...]
        interface { 
            [...] 
        }
        transport:      udpu
     } 
     nodelist {
        node {
          ring0_addr:     10.3.0.20
          nodeid:     1
        }
        node {
          ring0_addr:     10.3.0.21
          nodeid:     2
        } 
     }
     logging {
         [...]
    
  3. 在 vi 编辑器中,将条目 token: 5000 替换为 token: 30000

    注意:此更改可以维护内存预留。 如需了解详情,请参考关于在 Azure 中维护虚拟机的 Microsoft 文档

  4. 保存更改并关闭编辑器。

  5. 在 i20-db-1 上重复上述步骤。

任务 3:确定 Azure 订阅 ID 和 Azure AD 租户 ID 的值

  1. 从实验室计算机的浏览器窗口中,进入 Azure 门户网站:https://portal.azure.com**,确保你使用与订阅关联的 Azure AD 租户中具有全局管理员角色的用户帐户登录。

  2. 从 Azure 门户,在 Cloud Shell 启动 Bash 会话。

  3. 在 Cloud Shell 窗格中,运行以下命令以标识 Azure 订阅 ID 以及相应 Azure AD 租户的 ID:

     az account show --query '{id:id, tenantId:tenantId}' --output json
    
  4. 将结果值复制到记事本。 稍后在下一个任务中将用到它。

任务 4:为 STONITH 设备创建 Azure AD 应用程序

  1. 在 Azure 门户中,导航到“Azure Active Directory”边栏选项卡。

  2. 从 Azure Active Directory 边栏选项卡,导航到“应用注册”边栏选项卡,然后单击“+ 新建注册”****:

  3. 在“注册应用程序”边栏选项卡,指定以下设置并单击“注册”****:

    • 名称:Stonith 应用**

    • 支持的帐户类型:仅此组织目录中的帐户

  4. 在“Stonith 应用”边栏选项卡,将“应用程序(客户端) ID”的值复制到记事本**。 之后在本练习中将其称为 login_id**:

  5. 在“Stonith 应用”边栏选项卡,单击“证书和密钥”****。

  6. 在“Stonith 应用 - 证书和密钥”边栏选项卡,单击“+ 新建客户端密码”****。

  7. 在“添加客户端密码”边栏选项卡中,在“描述”文本框中键入“STONITH app 密钥”,在“到期”部分,保留默认值“建议:******** 6 个月”,然后单击“添加”。**

  8. 将生成的值复制到记事本(此条目只在你单击“添加”后显示一次)。**** 之后在本练习中将其称为“密码”**

任务 5:将 Azure VM 的权限授予 STONITH 应用的服务主体

  1. 在 Azure 门户中,导航到 i20-db-0 Azure VM 的边栏选项卡**

  2. 从 i20-db-0 边栏选项卡,显示“i20-db-0 - 访问控制 (IAM)”边栏选项卡****。

  3. 在“i20-db-0 - 访问控制 (IAM)”边栏选项卡中,添加具有以下设置的角色分配**

    • 角色:虚拟机参与者

    • 将访问权限分配给:Azure AD 用户、组或服务主体**

    • 选择:Stonith 应用**

  4. 重复前面的步骤,将 i20-db-1 Azure VM 的“虚拟机参与者”角色分配给 Stonith 应用**

任务 6:配置 STONITH 群集设备

  1. 在与 az12003a-vm0 的 RDP 会话中,切换到与 i20-db-0 的基于 PuTTY 的 SSH 会话。

  2. 在与 az12003a-vm0 的 RDP 会话中,在与 i20-db-0 的基于 PuTTY 的 SSH 会话中运行以下命令(确保将 subscription_idtenant_idlogin_id,password 占位符替换为你在练习 3 任务 4 中确定的值):

     crm configure property stonith-enabled=true
    
     crm configure property concurrent-fencing=true
    
     crm configure primitive rsc_st_azure stonith:fence_azure_arm \
       params subscriptionId="subscription_id" resourceGroup="az12003a-sap-RG" tenantId="tenant_id" login="login_id" passwd="password" \
       pcmk_monitor_retries=4 pcmk_action_limit=3 power_timeout=240 pcmk_reboot_timeout=900 \
       op monitor interval=3600 timeout=120
    
     sudo crm configure property stonith-timeout=900
    

任务 7:使用 Hawk 查看在运行 Linux 的 Azure VM 上的群集配置

  1. 在与 az12003a-vm0 的 RDP 会话中,启动 Internet Explorer 并导航到:https://i20-db-0:7630**。 这将显示 SUSE Hawk 的登录页面。

    注意:忽略“此站点不安全”的消息**

  2. 在 SUSE Hawk 登录页面上,使用以下凭据登录:

    • 用户名:hacluster**

    • 密码:Pa55w.rd1234

  3. 验证群集状态是否正常。 如果你看到一条消息,指示两个群集节点中之一不干净,请从 Azure 门户重启该节点。

Result:完成本练习后,你已在运行 Linux 的 Azure VM 上配置群集,以支持高可用性 SAP NetWeaver 部署

练习 4:删除实验室资源

持续时间:10 分钟

在本练习中,你将删除本实验室中预配的所有资源。

任务 1:打开 Cloud Shell

  1. 在门户顶部,单击 Cloud Shell 图标以打开 Cloud Shell 窗格,然后选择“Bash”作为 Shell**

  2. 在 Cloud Shell 窗格中运行以下命令,将变量 RESOURCE_GROUP_PREFIX 的值设置为你在本实验室中预配的资源所在的资源组的名称前缀:

     RESOURCE_GROUP_PREFIX='az12003a-'
    
  3. 在 Cloud Shell 窗格中运行以下命令,列出你在本实验室中创建的所有资源组:

     az group list --query "[?starts_with(name,'$RESOURCE_GROUP_PREFIX')]".name --output tsv
    
  4. 验证输出结果是否仅包含在本实验室中创建的资源组。 在下一个任务中,将删除该资源组及其所有资源。

任务 2:删除资源组

  1. 在 Cloud Shell 窗格中运行以下命令,删除该资源组及其资源。

     az group list --query "[?starts_with(name,'$RESOURCE_GROUP_PREFIX')]".name --output tsv | xargs -L1 bash -c 'az group delete --name $0 --no-wait --yes'
    
  2. 关闭 Cloud Shell 窗格。

Result:完成本练习后,你已经删除了本实验中使用的资源。