Skip to content

Commit 59e352c

Browse files
authored
R2025a Release
1 parent 54fe185 commit 59e352c

24 files changed

+1494
-1248
lines changed

README.md

Lines changed: 51 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ For information about the architecture of this solution, see [Architecture and R
3232
To deploy the reference architecture, select your MATLAB Production Server release from the table and follow the instructions to deploy the server using the provided template. A deployment of MATLAB Production Server supports MATLAB Runtime versions up to six releases back.
3333
| Release | Supported MATLAB Runtime Versions |
3434
| ------- | --------------------------------- |
35+
| [R2025a](releases/R2025a/README.md) | R2025a, R2024b, R2024a, R2023b, R2023a, R2022b |
3536
| [R2024b](releases/R2024b/README.md) | R2024b, R2024a, R2023b, R2023a, R2022b, R2022a |
3637
| [R2024a](releases/R2024a/README.md) | R2024a, R2023b, R2023a, R2022b, R2022a, R2021b |
3738
| [R2023b](releases/R2023b/README.md) | R2023b, R2023a, R2022b, R2022a, R2021b, R2021a |
3839
| [R2023a](releases/R2023a/README.md) | R2023a, R2022b, R2022a, R2021b, R2021a, R2020b |
3940
| [R2022b](releases/R2022b/README.md) | R2022b, R2022a, R2021b, R2021a, R2020b, R2020a |
40-
| [R2022a](releases/R2022a/README.md) | R2022a, R2021b, R2021a, R2020b, R2020a, R2019b |
4141

4242
> **Note**: MathWorks provides templates for only the six most recent releases of MATLAB Production Server. Earlier templates are removed and are no longer supported.
4343
# Architecture and Resources
@@ -52,7 +52,7 @@ resource group.
5252
### Matlab Production Server Resources
5353
| Resource Name | Resource Name in Azure | Number of Resources | Description |
5454
|----------------------------------------------------------------------------|-------------------------|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
55-
|Virtual network | `mps-network` | 1 | Provide support and security to the operation of MATLAB Production Server. |
55+
|Virtual network | `mps-network` | 1 | Provides support and security to the operation of MATLAB Production Server. |
5656
| Storage account | `serverlog<uniqueID>` | 1 | Storage account where the deployable archives (CTF files) created by MATLAB® Compiler SDK™ will be stored. The deployable archives (CTF files) will be stored in a file share. |
5757
| Application Insights | `logs-apmservice` | 1 | Enables storing and viewing of all logs associated with deployment. |
5858
| Log analytics workspace | `logs-workspace` | 1 | Workspace that contains data collected from various sources. |
@@ -63,16 +63,16 @@ resource group.
6363
| Virtual machine scale set | `vmss<uniqueID>` | 1 | Manages the number of identical VMs to be deployed. Each VM runs an instance of MATLAB Production Server which in turn runs multiple MATLAB workers. |
6464
| Application gateway | `vmss<uniqueID>-agw` | 1 | Provides routing and load balancing service to MATLAB Production Server instances. The MATLAB Production Server dashboard retrieves the HTTP/HTTPS endpoint for making requests to the server from the application gateway resource.<p>**NOTE**: Provides HTTPS endpoint to the server for making requests.</p> |
6565
| Virtual network | `vmss<uniqueID>-vnet` | 1 | Enables resources to communicate with each other. |
66-
|Network security group | `vmss<uniqueID>-rdp-nsg` | 1 | Filter network traffic to and from virtual machine scale set in an Azure virtual network. |
67-
|Public IP address | `Vmss<uniqueID>-pip` | 1 | Provide public IP address to virtual machine scale set. |
66+
|Network security group | `vmss<uniqueID>-rdp-nsg` | 1 | Filters network traffic to and from virtual machine scale set in an Azure virtual network. |
67+
|Public IP address | `Vmss<uniqueID>-pip` | 1 | Provides public IP address to virtual machine scale set. |
6868

6969
### Admin Dashboard Resources
7070
| Resource Name | Resource Name in Azure | Number of Resources | Description |
7171
|----------------------------------------------------------------------------|-------------------------|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
7272
| MATLAB Production Server dashboard virtual machine | `admindashboard` | 1 | Virtual machine (VM) that hosts the MATLAB Production Server dashboard. Use the dashboard to: <ul><li>Get HTTP/HTTPS endpoint to make requests</li><li> Upload applications (CTF files) to the server</li><li> Manage server configurations</li></ul><p>For more information, see [Manage MATLAB Production Server Using the Dashboard](https://www.mathworks.com/help/mps/server/use-matlab-production-server-cloud-dashboard-on-azure-reference-architecture.html). |
7373
| MATLAB Production Server dashboard public IP | `admindashboard-public-ip` | 1 | Public IP address to connect to MATLAB Production Server dashboard.<p>**NOTE**: Provides HTTPS endpoint to the dashboard for managing server instances.</p> |
7474
| Disk | `admindashboard_OsDisk_<uniqueID>` | 1 | Operating system disk attached to admin dashboard. |
75-
| Network interface | `admindashboard-nic` | 1 | Provide network interface for admin dashboard. |
75+
| Network interface | `admindashboard-nic` | 1 | Provides network interface for admin dashboard. |
7676

7777
### Redis Resources
7878
| Resource Name | Resource Name in Azure | Number of Resources | Description |
@@ -86,6 +86,52 @@ resource group.
8686

8787
# FAQ
8888

89+
## How do I deploy to an existing virtual network?
90+
>**Note:** Your existing virtual network must have at least two available subnets for deployment.
91+
92+
### Ports to Open in Existing Virtual Network
93+
If you are deploying to an existing virtual network, open these ports in your network:
94+
| Port | Description |
95+
| ------------------|---------------------------------------------------------------------------------------------------------------- |
96+
| `443` | Required for communicating with the dashboard |
97+
| `8000`, `8004`, `8080`, `9090`, `9910` | Required for communication between the dashboard, MATLAB Production Server workers, and various microservices within the virtual network. These ports do not need to be open to the Internet. |
98+
| `27000` | Required for communication between the Network License Manager and the workers. |
99+
| `65200`, `65535` | Required for the Azure application gateway health check to work. These ports need to be accessible over the Internet. For more information, see [MSDN Community](https://social.msdn.microsoft.com/Forums/azure/en-US/96a77f18-3b71-45d2-a213-c4ba63fd4e63/internal-application-gateway-backend-health-is-unkown?forum=WAVirtualMachinesVirtualNetwork). |
100+
| `22`, `3389` | (Optional) Enables Remote Desktop functionality, which can be used for troubleshooting and debugging. |
101+
<br>
102+
103+
You can close ports 22 and 3389 after deployment.
104+
105+
### Create Service Endpoint in Virtual Network (Since R2025a)
106+
Starting in R2025a, if you are using an existing virtual network and assign a public IP address to the VM hosting MATLAB Production Server, you must manually add a service endpoint to the virtual network *before* deploying MATLAB Production Server in order to create and access the storage account. For more information, see [Grant access from a virtual network](https://learn.microsoft.com/en-us/azure/storage/common/storage-network-security?tabs=azure-portal#grant-access-from-a-virtual-network).
107+
108+
You can check if such an endpoint already exists by navigating to the Azure Portal, selecting your virtual network, and clicking **Service endpoints**. If no such endpoint is present, follow these steps:
109+
1. In the Azure Portal, click **Resource groups** and select the virtual network for this deployment.
110+
1. In the left navigation menu, expand the **Settings** category and click **Service endpoints**.
111+
1. Click **Add** to add the new endpoint. It must have the following parameters:
112+
113+
<table>
114+
<tr><td><b>Service</b></td><td>Microsoft.Storage</td></tr>
115+
<tr><td><b>Subnet</b></td><td>Name of subnet in which the storage account will be deployed</td></tr>
116+
</table>
117+
118+
For more information on creating endpoints, see [Create and associate service endpoint policies](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-service-endpoint-policies).
119+
120+
### Deploy to Existing Virtual Network
121+
To deploy MATLAB Production Server to an existing virtual network, in the deployment template, set the **New or Existing Virtual Network** parameter to `existing`.
122+
123+
Set the following parameter values in the template based on your existing virtual network.
124+
125+
| Parameter Name | Value |
126+
|-------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
127+
| **Virtual Network Name** | Specify the name of your existing virtual network or use the default value. |
128+
| **Virtual Network CIDR Range** | Specify the IP address range of the virtual network in CIDR notation or use the default value. |
129+
| **Subnet 1 CIDR Range** | Specify the IP address range of the first subnet in CIDR notation or use the default value. The first subnet hosts the dashboard and other resources. |
130+
| **Subnet 2 CIDR Range** | Specify the IP address range of the second subnet in CIDR notation or use the default value. The second subnet hosts the application gateway. |
131+
| **Available Subnet 2 IP Address** | Specify an unused IP address from Subnet 2 or use the default value. This IP address serves as the private IP of the application gateway. |
132+
| **Resource Group Name Of Virtual Network** | Specify the resource group name of the virtual network or use the default value. |
133+
134+
89135
## Why do requests to the server fail with errors such as “untrusted certificate” or “security exception”?
90136

91137
These errors occur either when CORS is not enabled on the server or when the server endpoint uses a self-signed certificate.

0 commit comments

Comments
 (0)