Main Content

安装相关产品以将 Polyspace 分析从桌面端提交到 AWS 上托管的服务器

借助云端平台,您可以轻松扩展资源以满足您的需求,并可以从任何位置安全地访问这些资源。本主题介绍了安装和配置步骤,以便您可以将 Polyspace® 分析负载从客户端计算机转移到在 Amazon® Web Services (AWS) 云端平台托管的更强大的计算机。

注意

这些说明仅适用于 Polyspace Server 产品版本 R2021b 及更高版本。要将版本 R2021a 及更早版本部署到 AWS,请联系 MathWorks 技术支持

准备安装

在开始安装前,请确保您拥有:

  • AWS 帐户

  • 用于 Polyspace Bug Finder(或 Code Prover Server)和 MATLAB Parallel Server 的有效许可证。

  • 适用于您区域的 SSH 密钥对。要生成密钥对文件,请遵循这些说明

  • 已安装 Polyspace 桌面端产品的客户端计算机。请参阅安装 Polyspace 桌面端产品

为简化云端部署,MathWorks 提供了参考架构,通过使用模板,您只需点击几下便可启动一个集群。集群在 AWS EC2 资源的 Linux 虚拟机上运行。要完成此安装,请执行以下操作:

  1. 安装许可证管理器服务器。请参阅配置并部署网络许可证管理器堆栈。如果您已拥有许可证管理器服务器,则此步骤为可选项。

  2. 将 MATLAB Parallel Server 和 Polyspace 资源部署到 AWS。请参阅配置并部署 MATLAB Parallel Server 和 Polyspace Server 堆栈

  3. 配置入站流量规则,以启用许可证服务器与 MATLAB Parallel Server 集群之间的通信。请参阅配置安全组

  4. 配置将分析负载转移到 AWS 集群的客户端计算机。请参阅配置客户端计算机

Polyspace 不支持在线许可。要管理许可证签出,请在云端安装许可证服务器或使用现场许可证服务器。

Client machine offloading to MPS cluster hosted on AWS

配置并部署网络许可证管理器堆栈

如果已有正在运行的许可证管理器服务器,并且可以从云端访问该服务器,请跳过本部分。

要在 AWS 上部署网络许可证管理器,请使用 license-manager-for-matlab-on-aws 架构:

  1. 选择一个版本

  2. 在您所选版本对应的页面上,针对您的区域点击 Launch Stack。例如,us-east-1。

  3. 完成模板配置。

    参数描述
    Stack name指定一个名称来标识许可证管理器实例。例如,ps-license-server-stack。
    VPC to deploy this stack to从下拉列表中选择一个虚拟私有云 (VPC) 的 ID。
    Subnet for the license server从下拉列表中选择一个现有子网。
    CIDR IP address range of client

    指定允许从 VPC 外部连接到托管许可证管理器的服务器的公共 IP 地址。通常情况下,这是您的客户端计算机的公共 IP。

    要查找此 IP 地址,请在客户端计算机上使用搜索引擎搜索 "What’s my IP address",或者联系您的 IT 管理员。

    例如,如果您的 IP 是 123.456.78,请输入 123.456.78/32。

    Name of SSH key从下拉列表中选择一个 EC2 密钥对。要生成密钥对,请参阅这些说明
    Password 用以登录许可证管理器仪表板的密码。请指定一个密码,然后在 Confirm Password 字段中确认该密码。
  4. 点击创建堆栈。此过程需要花费一些时间才能完成。请保持打开页面,或者将其添加为书签。您需要使用此页面上的 OutputsParameters 选项卡上的信息来完成后续的配置步骤。

    AWS license server stack output tab

  5. 堆栈状态变为 CREATE_COMPLETE 后,转至 Outputs 选项卡并点击 ServerAddress URL 以打开许可证管理器仪表板。

    使用步骤 3 中的密码登录到仪表板,按照入门说明激活您的许可证并启动许可证管理器。

配置并部署 MATLAB Parallel ServerPolyspace Server 堆栈

要在 AWS 上部署 MATLAB Parallel Server(包括 Polyspace),请使用 matlab-parallel-server-on-aws 参考架构。

  1. 选择一个版本。只有 R2021b 及更高版本产品的参考架构中才会提供 Polyspace 产品。

    在您所选版本对应的页面上,针对您的区域点击 Launch Stack。例如,us-east-1。

  2. 完成模板配置。

    参数描述
    Stack name指定一个名称来标识 MATLAB Parallel Server 实例。例如,ps-mps-cloud。
    集群名称指定一个名称来标识集群。在客户端计算机的 Polyspace 集群配置中使用此名称。
    Number of worker nodes指定一个等于或小于可用许可证数量的数字。
    Number of workers to start on each node

    指定每个节点 1 个工作进程。

    请确保将 Instance type for the worker nodes 设置为满足或超出最低 Polyspace 硬件要求(16 GB RAM、4 核)的适当实例类型。请参阅 Amazon EC2 实例类型

    Name of SSH key

    从下拉列表中选择一个 EC2 密钥对。要生成密钥对,请参阅这些说明

    如果您已在云端部署了许可证管理器,则此值必须与许可证管理器堆栈的 Parameters 选项卡上的 SSHKeyName 值匹配。

    VPC to deploy this stack to

    从下拉列表中选择一个虚拟私有云 (VPC) 的 ID。

    如果您已在云端部署了许可证管理器,则此值必须与许可证管理器堆栈的 Parameters 选项卡上的 VPC 值匹配。

    Subnets for the head node and worker nodes

    从下拉列表中选择一个现有子网。

    如果您已在云端部署了许可证管理器,则此值必须与许可证管理器堆栈的 Parameters 选项卡上的 Subnet 值匹配。

    CIDR IP address range of client

    指定允许从 VPC 外部连接到托管许可证管理器的服务器的公共 IP 地址。通常情况下,这是您的客户端计算机的公共 IP。

    要查找此 IP 地址,请在客户端计算机上使用搜索引擎搜索 "What’s my IP address",或者联系您的 IT 管理员。

    例如,如果您的 IP 是 123.456.78,请输入 123.456.78/32。

    Additional security group to place instances in

    如果您已在云端部署了许可证管理器,则此值必须与许可证管理器堆栈的 Outputs 选项卡上的 SecurityGroup 值匹配。否则,您可以将此字段留空。

    License Manager for MATLAB connection string

    采用 port@hostname 格式指定许可证管理器的地址,例如 27000@ip-123-45-67-89.ec2.internal

    通常情况下,端口号为 27000。如果您已在云端部署了许可证管理器,则 hostname 必须与许可证管理器堆栈的 Outputs 选项卡上的 ServerPrivateDNS 值匹配。否则,如果使用现场许可证管理器,则 hostname 对应于托管许可证管理器的服务器的主机名。

  3. 点击创建堆栈。此过程需要花费一些时间才能完成。

    堆栈状态变为 CREATE_COMPLETE 后,转至 Outputs 选项卡并点击 BucketURL URL。

  4. 在接下来的页面上,在 Objects 选项卡上选择设置对象,然后点击 download 来下载集群配置文件 .settings 文件。在配置客户端计算机以启用集群与客户端计算机之间的通信时,需要使用此文件。

配置安全组

启动许可证管理器和 MATLAB Parallel Server 堆栈后,向它们各自的安全组添加一个入站规则以允许每个堆栈与另一堆栈进行通信。安全组定义了针对入站和出站流量开放的端口。请参阅 VPC 的安全组

要编辑安全组,请执行以下操作:

  1. EC2 服务页面上,点击左侧窗格中的 Security Groups,然后在安全组页面上点击许可证管理器堆栈的 Security group ID。可以使用 Description 字段来标识许可证管理器的安全组。

  2. 在下一页面上,选择 Inbound rules 选项卡并点击 Edit inbound rules。您可能需要展开该页面的底端部分才能看到所有规则。

  3. 滚动到页面底部,点击 Add rule,然后从 Type 下拉列表中选择 All TCP。在 Source 字段内点击并从菜单中选择 MATLAB Parallel Server 安全组,将其添加到此字段。

  4. 点击 Save rules,然后选择 MATLAB Parallel Server 安全组并重复步骤 2 和 3,为许可证管理器安全组添加一条规则。

如果您未在 AWS 上部署许可证管理器,请确保 MATLAB Parallel Server 安全组具有与许可证管理器进行通信所需的规则。

配置客户端计算机

在云端部署 MATLAB Parallel Server 和 Polyspace Server 后,接着配置要将分析负载转移到云端 Polyspace 的客户端计算机。

  1. 从客户端计算机上,打开 Polyspace 桌面端界面,转至工具 > 预设项,选择服务器配置选项卡,然后点击设置

  2. 集群配置文件管理器窗口中,点击导入。选择您在配置并部署 MATLAB Parallel Server 和 Polyspace Server 堆栈的步骤 4 中下载的集群配置文件 .settings 文件。如果您未在 AWS 上设置 MATLAB Parallel Server 堆栈,请联系您的 AWS 管理员以获取集群配置文件。

    属性选项卡复制 MJSName主机字段的值。点击窗口右下角的编辑可使字段文本变为可选择状态。在后续配置步骤中将使用这些值。

  3. 点击工具条上的验证来检查与 Azure 集群的通信。以下问题可能会导致验证失败:

    • CIDR IP 地址不正确。请检查堆栈设置或联系您的集群管理员。

    • 安全组配置不正确。请检查安全组设置或联系您的集群管理员。

    • MATLAB Parallel Server 许可证无效。请检查您使用的许可证是否正确,或者联系您的许可证管理员。

    此验证步骤不检查 Polyspace Server 产品许可证的有效性。要检查您使用的许可证是否有效,请参阅检查 Polyspace Server 许可证

  4. 关闭集群配置文件管理器并在作业调度器主机名字段中输入您在步骤 2 中获取的 MJSName

  5. 重新启动 Polyspace 桌面端界面以应用新设置。

要开始将分析负载转移到云端 Polyspace,请在 Polyspace 桌面端界面的配置窗格中选择运行设置节点,然后在远程集群上启用分析。另请参阅在集群上进行 Bug Finder 分析

检查 Polyspace Server 许可证

您在集群配置文件管理器中执行的验证步骤不检查 Polyspace Server 许可证的有效性。要检查 Polyspace Server 许可证,请在客户端计算机上通过命令行导航到 Polyspace 桌面端安装文件夹(例如 C:\Program Files\Polyspace\R2024b),然后运行以下命令:

  • Windows®

    polyspace\bin\polyspace-bug-finder.exe -ver -batch -scheduler MJSName@host

  • Linux®

    polyspace/bin/polyspace-bug-finder -ver -batch -scheduler MJSName@host

其中,MJSNamehost 是您从配置客户端计算机的步骤 2 中的集群配置文件管理器获取的值。

此命令输出部署了 Polyspace Server 产品的计算机的相关系统信息。如果您具有有效的许可证,则会在输出中看到类似于以下内容的消息:

Polyspace related licenses and license feature names:

Polyspace Bug Finder Server: Polyspace_BF_Server
Polyspace Code Prover Server: Polyspace_CP_Server
如果您收到许可证错误消息,或者输出在 Polyspace related licenses and license feature names: 行下未列出任何 Polyspace 产品,则您的 Polyspace 许可证可能无效。请联系您的 Polyspace 许可证管理员。

更新或删除资源

要升级到参考架构的较新版本,您必须删除现有资源并部署新版本。

要删除现有资源,请在您的 AWS 帐户中转至 CloudFormation,选择一个堆栈并点击删除

如果您将许可证管理器更新到较新版本,则新资源将具有不同的主机 ID。即使选择保留相同的许可证管理器堆栈,您也必须在更新到新版本的 Polyspace 时更新许可证文件。