From 63f32cbe47b50f680895fe9613975e7ce12f4469 Mon Sep 17 00:00:00 2001 From: Chris Date: Thu, 6 Feb 2025 21:49:30 -0500 Subject: [PATCH 01/19] R2025a release (#1) --- README.md | 9 +- releases/R2024b/README.md | 3 +- releases/R2025a/README.md | 201 +++++++++++++++++++++++++++++++++ releases/R2025a/templates.json | 7 ++ 4 files changed, 213 insertions(+), 7 deletions(-) create mode 100644 releases/R2025a/README.md create mode 100644 releases/R2025a/templates.json diff --git a/README.md b/README.md index 87f1db5..edea702 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ The default MATLAB Web App Server deployment template uses the Network License M # Prepare Your AWS Account 1. If you do not have an AWS account, create one at https://aws.amazon.com by following the on-screen instructions. -2. Use the regions selector in the navigation bar to choose **US EAST (N. Virginia)**, **EU (Ireland)** or **Asia Pacific (Tokyo)**, as the region where you want to deploy MATLAB Web App Server. +2. Use the regions selector in the navigation bar to choose **US EAST (N. Virginia)**, **EU (Ireland)** or **Asia Pacific (Tokyo)** as the region where you want to deploy MATLAB Web App Server. 3. Create a [key pair](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) in that region. A key pair is necessary since it is the only way to connect to the EC2 instance as an administrator. 4. If necessary, [request a service limit increase](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-) for the Amazon EC2 instance type or VPCs. You might need to do this if you already have existing deployments that use that instance type or you think you might exceed the [default limit](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html) with this deployment. @@ -28,15 +28,14 @@ The default MATLAB Web App Server deployment template uses the Network License M To deploy the reference architecture, select your MATLAB Web App Server release from the table and follow the instructions to deploy the server using the provided template. A deployment of MATLAB Web App Server supports MATLAB Runtime versions up to six releases back. | Release | Supported MATLAB Runtime Versions | | ------- | --------------------------------- | +| [R2025a](releases/R2025a/README.md) | R2025a, R2024b, R2024a, R2023b, R2023a*, R2022b* | | [R2024b](releases/R2024b/README.md) | R2024b, R2024a, R2023b, R2023a*, R2022b*, R2022a* | | [R2024a](releases/R2024a/README.md) | R2024a, R2023b, R2023a, R2022b, R2022a, R2021b | | [R2023b](releases/R2023b/README.md) | R2023b, R2023a, R2022b, R2022a, R2021b | | [R2023a](releases/R2023a/README.md) | R2023a, R2022b, R2022a, R2021b, R2021a, R2020b | | [R2022b](releases/R2022b/README.md) | R2022b, R2022a, R2021b, R2021a, R2020b, R2020a | -| [R2022a](releases/R2022a/README.md) | R2022a, R2021b, R2021a, R2020b, R2020a, R2019b | -> [!WARNING] -> \*When the server is configured to use MATLAB Runtime versions prior to R2023b, the `unsafe-inline` attribute is set in the `script-src` directive of the server's Content Security Policy on the server and cannot be removed. The attribute allows inline JavaScript execution and event handlers contained within a web app to execute on the server. These runtimes are disabled by default in R2024b. You can enable them using the [webapps-runtime](https://www.mathworks.com/help/webappserver/ref/webappsruntime.html) command. +> \*When the server is configured to use MATLAB Runtime versions prior to R2023b, the `unsafe-inline` attribute is set in the `script-src` directive of the Content Security Policy on the server and cannot be disabled. This allows web apps with embedded JavaScript to execute on the server. These runtimes are disabled by default starting in R2024b. You can enable them using the [webapps-runtime](https://www.mathworks.com/help/webappserver/ref/webappsruntime.html) command. **Note**: MathWorks provides templates for only the six most recent releases of MATLAB Web App Server. Earlier templates are removed and are no longer supported. @@ -62,4 +61,4 @@ resource group. Provide suggestions for additional features or capabilities using the following link: https://www.mathworks.com/solutions/cloud.html # Technical Support -If you require assistance or have a request for additional features or capabilities, please contact [MathWorks Technical Support](https://www.mathworks.com/support/contact_us.html). +If you require assistance or have a request for additional features or capabilities, please contact [MathWorks Technical Support](https://www.mathworks.com/support/contact_us.html). \ No newline at end of file diff --git a/releases/R2024b/README.md b/releases/R2024b/README.md index 84018bd..24c1a95 100644 --- a/releases/R2024b/README.md +++ b/releases/R2024b/README.md @@ -13,10 +13,9 @@ Then, click the appropriate **Launch Stack** button to launch the stack configur The AWS Management Console opens in your web browser. ->**NOTE:** Mulitple versions of MATLAB Runtime are supported. For details, see [What versions of MATLAB Runtime are supported?](#what-versions-of-matlab-runtime-are-supported) +>**NOTE:** Mulitple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). >**NOTE:** Creating a stack on AWS can take at least 20 minutes. -> ## Step 2. Configure the Stack diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md new file mode 100644 index 0000000..bc4ee23 --- /dev/null +++ b/releases/R2025a/README.md @@ -0,0 +1,201 @@ +# MATLAB Web App Server on Amazon Web Services - R2025a + +# Deployment Steps +Follow these steps to deploy the R2025a MATLAB Web App Server reference architecture on AWS. To deploy reference architectures for other releases, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). +## Step 1. Launch Template +Before launching the template, make sure that you have selected one of these supported AWS regions from the top navigation: + +Then, click the appropriate **Launch Stack** button to launch the stack configuration template for deploying resources onto your AWS account. You can deploy resources onto either a new or existing VPC. + +| Release | New VPC | Existing VPC | Operating Systems | +|---------|---------| ------------ | ----------------- | +| R2025a | | | Windows Server 2022 or Ubuntu 22.04 VM | + +The AWS Management Console opens in your web browser. + +>**NOTE:** Mulitple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). + +>**NOTE:** Creating a stack on AWS can take at least 20 minutes. + +## Step 2. Configure the Stack +1. Provide values for parameters in the **Create Stack** page: + + | Parameter Name | Value | + |----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + | **Stack name** | Choose a name for the stack. This will be shown in the AWS console.

*Example*: `Boston`

| + | |**Settings for Hosting MATLAB Web App Server**| + | **Name of Existing Amazon EC2 Key Pair** | Choose an existing Amazon EC2 key pair to connect to the EC2 instance hosting MATLAB Web App Server. If you do not have a key pair, create one. For details, see [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair).

*Example*: `boston-keypair`

| + | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this field is IP Address/Mask.

Example: `x.x.x.x/32`

**NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

| + | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**. + | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this field only if you selected **"No"** in the previous field. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this field is IP Address/Mask.

*Example*: `x.x.x.x/24`

| + | **EC2 Instance Type** | Choose the AWS EC2 instance type to use for the server. All AWS instance types are supported. For more information, see [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/).

*Example*: `m6a.large`

| + | **Operating System** | Choose between Windows (Windows Server) and Linux (Ubuntu). | + ||**Settings for Network License Manager**| + | **Password for Network License Manager** | Specify a password for the network license manager. Use this password to log in to the network license manager after the stack has been successfully created.

Deploying MATLAB Web App Server automatically deploys a network license manager.

| + | **Confirm Password** | Reenter the password to log in to the network license manager. | + + >**Note**: Make sure you select US East (N.Virginia), EU (Ireland) or Asia Pacific (Tokyo) as your region from the navigation panel on top. Currently, US East, EU (Ireland), and Asia Pacific (Tokyo) are the only supported regions. + +2. Tick the boxes to accept that the template uses IAM roles. For more information about IAM, see [IAM FAQ](https://aws.amazon.com/iam/faqs). + +3. Click the **Create** button. The CloudFormation service starts creating resources for the stack. +>**Note**: Clicking **Create** takes you to the *Stack Detail* page for your stack. Wait for the Status to reach **CREATE\_COMPLETE**. This can take up to 20 minutes. + +## Step 3. Configure Existing VPC + +>**Note**: If you are deploying to a new VPC, skip this step. + +To deploy MATLAB Web App Server onto an existing VPC, specify these additional parameters. + +| Parameter | Value | +|----------------------------------|--------------------------------------------------------------------------------| +| Existing VPC ID | ID of your existing VPC. | +|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server".

**Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

| +| Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected "Yes" in the previous field for assigning a public IP, choose a public subnet. Otherwise, choose a private subnet. | +| Public Subnet 1 | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | + ||**Settings for Network License Manager**| + | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this field blank if you are deploying a new network license manager. | + | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. Leave this field blank if you are deploying a new network license manager. | + +You will also need to open the following ports in your VPC: + +| Port | Description | +|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `443` | Required for communicating with MATLAB Web App Server apps home page. | +| `8000`, `9988` | Required for communication between MATLAB Web App Server controllers and AWS services. These ports do not need to be open to the internet. | +| `27000` | Required for communication between the network license manager and MATLAB Web App Server. | +| `3389`, `22` | Required for Remote Desktop and Secure Connection functionality. This can be used for troubleshooting and debugging MATLAB Web App Server. | + +### Use an existing network license manager in an existing VPC +For complete instructions on deploying the Network License Manager for MATLAB reference architecture, see [Network License Manager for MATLAB on Amazon Web Services](https://github.com/mathworks-ref-arch/license-manager-for-matlab-on-aws). + +If you want to use an existing network license manager in an existing VPC: +- Choose `No` for the *Deploy Network License Manager* step of the deployment. +- Specify the IP address of the existing network license manager in the `IP Address of Existing Network License Manager` step of the deployment. You can find the private IP address in the *Outputs* tab of the existing network license manager deployment. + +To use an existing network license manager, you must add the security group of the server VMs to the security group of the license manager. +1. In the AWS management console, select the external security group that is nested in the network license manager stack you created. If it is not present in the stack list, ensure the **View nested** option is enabled.

For example: `mluser-nlm-MWSecurityGroupExternal-8JJX66NUZDD8`

+1. In the *Stack details* for the external security group stack, click **Resources**. +1. Look for the **Logical ID** named ```SecurityGroup``` and click the corresponding URL listed under **Physical ID**. This will take you to the security group details. +1. Select the security group. Click the **Inbound Rules** tab, then click **Edit Inbound Rules**. +1. Click **Add Rule**. +1. In the **Type** dropdown, select ```All TCP```. +1. In the **Source**, search and add the ```matlab-webapp-server-sg``` security group. +1. Click **Save Rules**. + +## Step 4. Create Stack +Review or edit your stack details. You must select the acknowledgements to create IAM resources. Otherwise, the deployment produces a `Requires capabilities : [CAPABILITY_IAM]` error and fails to create resources. For more information about IAM, see [IAM FAQ](https://aws.amazon.com/iam/faqs). + +Click the **Create** button. The CloudFormation service starts creating resources for the stack. +>**Note**: Clicking **Create** takes you to the *Stack Detail* page for your stack. Wait for the Status to reach **CREATE\_COMPLETE**. This can take up to 20 minutes. + +## Step 5. Upload License File +1. Click **Outputs** in the *Stack details* for your stack. +1. Look for the key named `MATLABWebAppServerLicenseManager` and click the corresponding URL listed under value. This will take you to Network License Manager for MATLAB Dashboard login page. +1. The username is **manager**. For the password, enter the password you entered in the **Password for Network License Manager** field while creating the stack in [Step 2](#step-2-configure-the-stack). +1. Follow the instructions on the home page of the network license manager to upload your MATLAB Web App Server license. + +>**Note:** MATLAB Web App Server automatically starts after succesfully uploading a valid license file. + + +## Step 6. Open the MATLAB Web App Server Apps Home Page +1. In the *Stack details* for your stack, click the **Outputs** tab. +1. Look for the key named `MATLABWebAppServerAppsHomePage` and click the corresponding URL listed under value. This opens the apps home page. + +You are now ready to use MATLAB Web App Server on AWS. + +To run applications on MATLAB Web App Server, you need to create web apps using MATLAB Compiler. For details, see [Web Apps](https://www.mathworks.com/help/compiler/webapps/create-and-deploy-a-web-app.html) in the MATLAB Compiler product documentation. + +# Common Tasks + +## Upload Web Apps to AWS S3 Bucket +1. In the AWS management console, select the stack that you deployed. +1. In the *Stack details* for your stack, click the **Outputs** tab. +1. Look for the key named `MATLABWebAppServerAppsS3Bucket`, and click the corresponding URL listed under value. +1. In the S3 console, click **apps**. +1. Click **Upload** > **Add Files** to select and upload web apps (`.ctf` files). +>**NOTE 1:** If you enable OIDC authentication, you can upload web apps from the apps home page. Any apps you upload via the apps home page are not synchornized with S3 bucket. To enable OIDC authentication, see [Configure OIDC Authentication](#configure-oidc-authentication). +>**NOTE 2:** Only folders created within the APPS root level folder are supported. Subfolders within those folders are not supported. + +## Get Password to EC2 Instance Hosting MATLAB Web App Server +1. In the AWS management console, select the stack you deployed. +1. In the Stack Detail for your stack, click the **Outputs** tab. +1. Look for the key named `MATLABWebAppServerEC2Instance` and click the corresponding URL listed under value. This will take you to the server instance (`matlab-webapp-server-vm`) page. +1. Click the **Connect** button at the top. +1. In the *Connect to instance* dialog, click the **RDP client** tab and then click **Get Password**. +1. Click **Choose File** to navigate and select the private key file (`.pem` file) for the key pair that you used while creating the stack in [Step 2](#step-2-configure-the-stack). +1. Click **Decrypt Password**. The console displays the password for the instance in the *Connect to instance* dialog. +1. Copy the password to the clipboard. + +## Connect to EC2 Instance Hosting MATLAB Web App Server Using Remote Desktop +1. In the AWS management console, select the stack you deployed. +1. In the *Stack details* for your stack, click the **Outputs** tab. +1. Look for the key named `MATLABWebAppServerEC2Instance` and click the corresponding URL listed under value. This will take you to the server instance (`matlab-webapp-server-vm`) page. +1. Click the value under Instance ID to view the instance summary. +1. Click the **Connect** button at the top. +1. In the *Connect to instance* dialog, click the **RDP client** tab. +1. Click the **Download remote desktop file** button to download a .rdp file. +1. Use the .rdp file to remotely connect to EC2 instance using the following credentials: +* Username: Administrator +* Password: The decrypted password. For details, see [Get Password to EC2 Instance](#get-password-to-ec2-instance-hosting-matlab-web-app-server). + +## Connect to EC2 Instance Hosting MATLAB Web App Server Using SSH +1. In the AWS management console, select the stack you deployed. +1. In the *Stack details* for your stack, click the **Outputs** tab. +1. Look for the key named `MATLABWebAppServerEC2Instance` and click the corresponding URL listed under value. This will take you to the server instance (`matlab-webapp-server-vm`) page. +1. Click the value under Instance ID to view the instance summary. +1. Click the **Connect** button at the top. +1. In the *Connect to instance* dialog, click the **SSH client** tab. +1. Follow the instructions on the page to SSH to the EC2 instance. + +## Find Setup and Configuration Files +| Task | Relevant Files | Details | +|-----------------------|-----------------------------------------------------------|------------------------------------| +| Server Administration | `webapps-start`, `webapps-stop`, `webapps-restart`, `webapps-status` | [Command-Line Scripts Documentation](https://www.mathworks.com/help/webappserver/server-management.html) | +| Authentication | `webapps_authn.json` | [Authentication Documentation](https://www.mathworks.com/help/webappserver/ug/authentication.html) | +| Role-Based Access | `webapps_app_roles.json` | [Role-Based Access Documentation](https://www.mathworks.com/help/webappserver/ug/role-based-access.html) | +| Policy-Based Access | `webapps_acc_ctl.json` | [Policy-Based Access Documentation](https://www.mathworks.com/help/webappserver/ug/policy-based-access.html) | + +## Configure OIDC Authentication +1. Connect to the EC2 instance hosting MATLAB Web App Server. For details, see: + * [Connect to EC2 Instance Hosting MATLAB Web App Server Using Remote Desktop](#connect-to-ec2-instance-hosting-matlab-web-app-server-using-remote-desktop) + * [Connect to EC2 Instance Hosting MATLAB Web App Server Using SSH](#connect-to-ec2-instance-hosting-matlab-web-app-server-using-ssh). +1. Follow the instructions on the [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html) page in the MathWorks documentation. + >**NOTE:** SSL is enabled when you deploy the stack. +1. For the `redirectUrl`, use the URL created as part of your stack. + * In the AWS management console, select the stack you deployed. + * In the *Stack details* for your stack, click the **Outputs** tab. + * Look for the key named `MATLABWebAppServerOIDCRedirectUrl` and copy the corresponding URL listed under value. + * Use this URL in the `webapps_authn.json` file. + +## View Logs +Logs are available in AWS CloudWatch. +1. In the AWS management console, select the stack you deployed. +1. In the *Stack details* for your stack, click the **Outputs** tab. +1. To view logs related to the cloud console and the MATLAB Web App Server workers, look for the key named `MATLABWebAppServerLogGroup`, and click the corresponding URL listed under value. + +## Get Network License Manager MAC Address +1. In the AWS management console, select the stack that you deployed. +1. In the *Stack details* for your stack, click the **Outputs** tab. +1. Look for the key named `MATLABWebAppServerLicenseManager`, and click the corresponding URL listed under value. +1. Log in to the Network License Manager for MATLAB dashboard using the following credentials:
+Username: **manager**
+Password: Enter the password you provided while creating the stack. +1. Click **Administration** > **Manage License**. +1. Copy the license server MAC address displayed at the top. + +When you deploy the MATLAB Web App Server reference architecture, a network license manager is automatically deployed. You can also use an existing license manager that is located in the same VPC and the security group of the MATLAB Web App Server EC2 instance. For details, see [Network License Manager for MATLAB](https://github.com/mathworks-ref-arch/license-manager-for-matlab-on-aws). + +>**NOTE**: The license manager MAC address is available only after the stack creation is complete. + +## Delete Your Stack +To delete the stack: +1. Log in to the AWS Console. +3. Go to the CloudFormation page and select the stack you created. +3. Click **Delete**. + +# Enhancement Request +Provide suggestions for additional features or capabilities using the following link: https://www.mathworks.com/solutions/cloud.html + +# Technical Support +If you require assistance or have a request for additional features or capabilities, please contact [MathWorks Technical Support](https://www.mathworks.com/support/contact_us.html). \ No newline at end of file diff --git a/releases/R2025a/templates.json b/releases/R2025a/templates.json new file mode 100644 index 0000000..56bc0ad --- /dev/null +++ b/releases/R2025a/templates.json @@ -0,0 +1,7 @@ +{ + "VPCStack.yml": "https://matlab-web-app-server-templates.s3.amazonaws.com/r2025a_refarch/VPCStack.yml", + "LambdaFunctionStack.yml": "https://matlab-web-app-server-templates.s3.amazonaws.com/r2025a_refarch/LambdaFunctionStack.yml", + "CommonResourcesStack.yml": "https://matlab-web-app-server-templates.s3.amazonaws.com/r2025a_refarch/CommonResourcesStack.yml", + "WebAppServer_existing.yml": "https://matlab-web-app-server-templates.s3.amazonaws.com/r2025a_refarch/WebAppServer_existing.yml", + "WebAppServer_new.yml": "https://matlab-web-app-server-templates.s3.amazonaws.com/r2025a_refarch/WebAppServer_new.yml" +} \ No newline at end of file From bc9f350cc23f68a9b8347e2d6a7d74d817396e15 Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 11 Feb 2025 11:34:02 -0500 Subject: [PATCH 02/19] Update README (#2) * R2025a release * Update README.md * Update README clarify workflow for existing license manager --- releases/R2024a/README.md | 6 +++--- releases/R2024b/README.md | 6 +++--- releases/R2025a/README.md | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/releases/R2024a/README.md b/releases/R2024a/README.md index bb763f1..52f0105 100644 --- a/releases/R2024a/README.md +++ b/releases/R2024a/README.md @@ -57,7 +57,7 @@ To deploy MATLAB Web App Server onto an existing VPC, specify these additional p | Public Subnet 1 | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | ||**Settings for Network License Manager**| | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this field blank if you are deploying a new network license manager. | - | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. Leave this field blank if you are deploying a new network license manager. | + | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. Leave this field blank if you are deploying a new network license manager. If you have an existing license manager and leave this blank, you must add the security group manually using the instructions in [Use an existing network license manager in an existing VPC](#use-an-existing-network-license-manager-in-an-existing-vpc).| You will also need to open the following ports in your VPC: @@ -74,8 +74,8 @@ For complete instructions on deploying the Network License Manager for MATLAB re If you want to use an existing network license manager in an existing VPC: - Choose `No` for the *Deploy Network License Manager* step of the deployment. - Specify the IP address of the existing network license manager in the `IP Address of Existing Network License Manager` step of the deployment. You can find the private IP address in the *Outputs* tab of the existing network license manager deployment. - -To use an existing network license manager, you must add the security group of the server VMs to the security group of the license manager. +#### Add security group of the server VMs to the security group of the license manager +If you did not supply a security group in the field **Security Group of Existing Network License Manager** at the time of deployment, you must add the security group of the server VMs to the security group of the license manager. 1. In the AWS management console, select the external security group that is nested in the network license manager stack you created. If it is not present in the stack list, ensure the **View nested** option is enabled.

For example: `mluser-nlm-MWSecurityGroupExternal-8JJX66NUZDD8`

1. In the *Stack details* for the external security group stack, click **Resources**. 1. Look for the **Logical ID** named ```SecurityGroup``` and click the corresponding URL listed under **Physical ID**. This will take you to the security group details. diff --git a/releases/R2024b/README.md b/releases/R2024b/README.md index 24c1a95..fe245f5 100644 --- a/releases/R2024b/README.md +++ b/releases/R2024b/README.md @@ -56,7 +56,7 @@ To deploy MATLAB Web App Server onto an existing VPC, specify these additional p | Public Subnet 1 | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | ||**Settings for Network License Manager**| | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this field blank if you are deploying a new network license manager. | - | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. Leave this field blank if you are deploying a new network license manager. | + | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. Leave this field blank if you are deploying a new network license manager. If you have an existing license manager and leave this blank, you must add the security group manually using the instructions in [Use an existing network license manager in an existing VPC](#use-an-existing-network-license-manager-in-an-existing-vpc).| You will also need to open the following ports in your VPC: @@ -73,8 +73,8 @@ For complete instructions on deploying the Network License Manager for MATLAB re If you want to use an existing network license manager in an existing VPC: - Choose `No` for the *Deploy Network License Manager* step of the deployment. - Specify the IP address of the existing network license manager in the `IP Address of Existing Network License Manager` step of the deployment. You can find the private IP address in the *Outputs* tab of the existing network license manager deployment. - -To use an existing network license manager, you must add the security group of the server VMs to the security group of the license manager. +#### Add security group of the server VMs to the security group of the license manager +If you did not supply a security group in the field **Security Group of Existing Network License Manager** at the time of deployment, you must add the security group of the server VMs to the security group of the license manager. 1. In the AWS management console, select the external security group that is nested in the network license manager stack you created. If it is not present in the stack list, ensure the **View nested** option is enabled.

For example: `mluser-nlm-MWSecurityGroupExternal-8JJX66NUZDD8`

1. In the *Stack details* for the external security group stack, click **Resources**. 1. Look for the **Logical ID** named ```SecurityGroup``` and click the corresponding URL listed under **Physical ID**. This will take you to the security group details. diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index bc4ee23..e9b345b 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -55,7 +55,7 @@ To deploy MATLAB Web App Server onto an existing VPC, specify these additional p | Public Subnet 1 | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | ||**Settings for Network License Manager**| | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this field blank if you are deploying a new network license manager. | - | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. Leave this field blank if you are deploying a new network license manager. | + | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. Leave this field blank if you are deploying a new network license manager. If you have an existing license manager and leave this blank, you must add the security group manually using the instructions in [Use an existing network license manager in an existing VPC](#use-an-existing-network-license-manager-in-an-existing-vpc).| You will also need to open the following ports in your VPC: @@ -72,8 +72,8 @@ For complete instructions on deploying the Network License Manager for MATLAB re If you want to use an existing network license manager in an existing VPC: - Choose `No` for the *Deploy Network License Manager* step of the deployment. - Specify the IP address of the existing network license manager in the `IP Address of Existing Network License Manager` step of the deployment. You can find the private IP address in the *Outputs* tab of the existing network license manager deployment. - -To use an existing network license manager, you must add the security group of the server VMs to the security group of the license manager. +#### Add security group of the server VMs to the security group of the license manager +If you did not supply a security group in the field **Security Group of Existing Network License Manager** at the time of deployment, you must add the security group of the server VMs to the security group of the license manager. 1. In the AWS management console, select the external security group that is nested in the network license manager stack you created. If it is not present in the stack list, ensure the **View nested** option is enabled.

For example: `mluser-nlm-MWSecurityGroupExternal-8JJX66NUZDD8`

1. In the *Stack details* for the external security group stack, click **Resources**. 1. Look for the **Logical ID** named ```SecurityGroup``` and click the corresponding URL listed under **Physical ID**. This will take you to the security group details. From 2ec625b017733f3eeb889e4dda9f2724f883a6da Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 24 Feb 2025 13:24:27 -0500 Subject: [PATCH 03/19] R2025a release --- releases/R2025a/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index e9b345b..b13b9ef 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -55,7 +55,7 @@ To deploy MATLAB Web App Server onto an existing VPC, specify these additional p | Public Subnet 1 | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | ||**Settings for Network License Manager**| | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this field blank if you are deploying a new network license manager. | - | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. Leave this field blank if you are deploying a new network license manager. If you have an existing license manager and leave this blank, you must add the security group manually using the instructions in [Use an existing network license manager in an existing VPC](#use-an-existing-network-license-manager-in-an-existing-vpc).| + | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. If you have an existing license manager and leave this blank, you must add the security group manually using the instructions in [Use an existing network license manager in an existing VPC](#use-an-existing-network-license-manager-in-an-existing-vpc). Leave this field blank if you are deploying a new network license manager.| You will also need to open the following ports in your VPC: From 2e5ac2a09697b33e9f0b855b09e9fc70aabc179f Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 25 Feb 2025 11:19:48 -0500 Subject: [PATCH 04/19] Update README.md From 3fb15dbde7455cd2aa7c8c374626b332dd429c63 Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Tue, 25 Feb 2025 11:20:53 -0500 Subject: [PATCH 05/19] Remove 21b folder --- releases/R2021b/README.md | 219 ----------------- releases/R2021b/WebAppServer_existing.yml | 272 ---------------------- releases/R2021b/WebAppServer_new.yml | 181 -------------- releases/R2021b/templates.txt | 2 - 4 files changed, 674 deletions(-) delete mode 100644 releases/R2021b/README.md delete mode 100644 releases/R2021b/WebAppServer_existing.yml delete mode 100644 releases/R2021b/WebAppServer_new.yml delete mode 100644 releases/R2021b/templates.txt diff --git a/releases/R2021b/README.md b/releases/R2021b/README.md deleted file mode 100644 index 4f3daff..0000000 --- a/releases/R2021b/README.md +++ /dev/null @@ -1,219 +0,0 @@ -# MATLAB Web App Server on Amazon Web Services - R2021b - -# Deployment Steps -Follow these steps to deploy the R2021b MATLAB Web App Server reference architecture on AWS. To deploy reference architectures for other releases, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). -## Step 1. Launch Template -Before launching the template, make sure that you have selected one of these supported AWS regions from the top navigation:
  • **US East (N. Virginia)**
  • **Europe (Ireland)**
  • **Asia Pacific (Tokyo)**
- -Then, click the appropriate **Launch Stack** button to launch the stack configuration template for deploying resources onto your AWS account. You can deploy resources onto either a new or existing VPC. - -| Release | New VPC | Existing VPC | Operating Systems | -|---------|---------| ------------ | ----------------- | -| R2021b | | | Windows Server 2019 or Ubuntu 18.04 VM | - -The AWS Management Console opens in your web browser. - ->**NOTE:** Mulitple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). - ->**NOTE:** Creating a stack on AWS can take at least 20 minutes. -> - - -## Step 2. Configure the Stack -1. Provide values for parameters in the **Create Stack** page: - - | Parameter Name | Value | - |----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| - | **Stack name** | Choose a name for the stack. This will be shown in the AWS console.

*Example*: `Boston`

| - | |**Settings for Hosting MATLAB Web App Server**| - | **Name of Existing Amazon EC2 Key Pair** | Choose an existing Amazon EC2 key pair to connect to the EC2 instance hosting MATLAB Web App Server. If you do not have a key pair, create one. For details, see [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair).

*Example*: `boston-keypair`

| - | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this field is IP Address/Mask.The format for this field is IP Address/Mask.

Example: `x.x.x.x/32`

  • This is the public IP address which can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
  • A mask of 32 is a single IP address.
  • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP addresses.
  • You may need to contact your IT administrator to determine which address is appropriate.
**NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

| - | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
  • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
  • If you select **No**, you must specify a new IP address range in the next field. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
- | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this field only if you selected **"No"** in the previous field. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this field is IP Address/Mask.

*Example*: `x.x.x.x/24`

| - | **ARN of SSL Certificate** | Specify the Amazon Resource Name (ARN) of the SSL certificate you uploaded to the AWS Certificate Manager. The ARN facilitates connecting to the apps home page using an HTTPS connection.

*Example*: arn:aws:acm:us-east-1:012345678910:certificate/666abcd6-ab6c-6ab6-a666-a666666bcd66

To retrieve an ARN:

  • Type "Certificate Manager" in the search box at the top of the web page and hit Enter. This automatically takes you to the AWS Certificate Manager.
  • Select the certificate you uploaded based on Certificate ID, or Domain name, or Name tag .
  • Copy the ARN from the "Certificate status" section at the top.

For more information, see [Create Self-signed Certificate](#create-self-signed-certificate) and [Upload Self-signed Certificate to AWS Certificate Manager](#upload-self-signed-certificate-to-aws-certificate-manager). - | **EC2 Instance Type** | Choose the AWS EC2 instance type to use for the server. All AWS instance types are supported. For more information, see [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/).

*Example*: `m5.xlarge`

| - | **Operating System** | Choose between Windows (Windows Server) and Linux (Ubuntu). | - ||**Settings for Network License Manager**| - | **Password for Network License Manager** | Specify a password for the network license manager. Use this password to log in to the network license manager after the stack has been successfully created.

Deploying MATLAB Web App Server automatically deploys a network license manager.

| - | **Confirm Password** | Reenter the password to log in to the network license manager. | - - >**Note**: Make sure you select US East (N.Virginia), EU (Ireland) or Asia Pacific (Tokyo) as your region from the navigation panel on top. Currently, US East, EU (Ireland), and Asia Pacific (Tokyo) are the only supported regions. - -2. Tick the boxes to accept that the template uses IAM roles. For more information about IAM, see [IAM FAQ](https://aws.amazon.com/iam/faqs). - -3. Click the **Create** button. The CloudFormation service starts creating resources for the stack. ->**Note**: Clicking **Create** takes you to the *Stack Detail* page for your stack. Wait for the Status to reach **CREATE\_COMPLETE**. This can take up to 20 minutes. - -## Step 3. Configure Existing VPC - ->**Note**: If you are deploying to a new VPC, skip this step. - -To deploy MATLAB Web App Server onto an existing VPC, specify these additional parameters. - -| Parameter | Value | -|----------------------------------|--------------------------------------------------------------------------------| -| Existing VPC ID | ID of your existing VPC. | -| IP address range of existing VPC | IP address range from the existing VPC. To find the IP address range:
  1. Log in to the AWS Console.
  2. Navigate to the VPC dashboard and select your VPC.
  3. Click the **CIDR blocks** tab.
  4. The **IPv4 CIDR Blocks** gives the IP address range.
| -|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server". | -| Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. | -| Public Subnet 1 ID | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | -| Public Subnet 2 ID | ID of an existing public subnet to to host server resources. This subnet must be different from Public Subnet 1.| - -You will also need to open the following ports in your VPC: - -| Port | Description | -|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `443` | Required for communicating with MATLAB Web App Server apps home page. | -| `8000`, `9988` | Required for communication between MATLAB Web App Server controllers and AWS services. These ports do not need to be open to the internet. | -| `27000` | Required for communication between the network license manager and MATLAB Web App Server. | -| `3389`, `22` | Required for Remote Desktop and Secure Connection functionality. This can be used for troubleshooting and debugging MATLAB Web App Server. | - -### Use an existing network license manager in an existing VPC -If you want to use an exisiting network license manager: -- Choose `No` for the *Deploy Network License Manager* step of the deployment. -- Specify the IP address of the existing network license manager in the `IP Address of Existing Network License Manager` step of the deployment. - -To use an existing network license manager, you must add the security group of the server VMs to the security group of the license manager. -1. In the AWS management console, select the stack where the network license manager is deployed. -1. In the *Stack details* for your stack, click **Resources**. -1. Look for the **Logical ID** named ```SecurityGroup``` and click the corresponding URL listed under **Physical ID**. This will take you to the security group details. -1. Click the **Inbound Rules** tab, then click **Edit Inbound Rules**. -1. Click **Add Rule**. -1. In the **Type** dropdown, select ```All TCP```. -1. In the **Source**, search and add the ```MatlabWebappServerCloudStackSg``` security group. -1. Click **Save Rules**. - ->**NOTE:** When using an existing license manager on an existing VPC, use the private IP address of the network license manager. You can find the private IP address in the *Outputs* tab of the existing network license manager deployment. - -## Step 4. Create Stack -Review or edit your stack details. You must select the acknowledgements to create IAM resources. Otherwise, the deployment produces a `Requires capabilities : [CAPABILITY_IAM]` error and fails to create resources. For more information about IAM, see [IAM FAQ](https://aws.amazon.com/iam/faqs). - -Click the **Create** button. The CloudFormation service starts creating resources for the stack. ->**Note**: Clicking **Create** takes you to the *Stack Detail* page for your stack. Wait for the Status to reach **CREATE\_COMPLETE**. This can take up to 20 minutes. - -## Step 5. Upload License File -1. Click **Outputs** in the *Stack details* for your stack. -1. Look for the key named `MATLABWebAppServerLicenseManager` and click the corresponding URL listed under value. This will take you to Network License Manager for MATLAB Dashboard login page. -1. The username is **manager**. For the password, enter the password you entered in the **Password for Network License Manager** field while creating the stack in [Step 2](#step-2-configure-the-stack). -1. Follow the instructions on the home page of the network license manager to upload your MATLAB Web App Server license. - ->**Note:** MATLAB Web App Server automatically starts after succesfully uploading a valid license file. - - -## Step 6. Open the MATLAB Web App Server Apps Home Page -1. In the *Stack details* for your stack, click the **Outputs** tab. -1. Look for the key named `MATLABWebAppServerAppsHomePage` and click the corresponding URL listed under value. This opens the apps home page. - -You are now ready to use MATLAB Web App Server on AWS. - -To run applications on MATLAB Web App Server, you need to create web apps using MATLAB Compiler. For details, see [Web Apps](https://www.mathworks.com/help/compiler/webapps/create-and-deploy-a-web-app.html) in the MATLAB Compiler product documentation. - -# Common Tasks - -## Upload Web Apps to AWS S3 Bucket -1. In the AWS management console, select the stack that you deployed. -1. In the *Stack details* for your stack, click the **Outputs** tab. -1. Look for the key named `MATLABWebAppServerAppsS3Bucket`, and click the corresponding URL listed under value. -1. In the S3 console, click **apps**. -1. Click **Upload** > **Add Files** to select and upload web apps (`.ctf` files). ->**NOTE 1:** If you enable OIDC authentication, you can upload web apps from the apps home page. Any apps you upload via the apps home page are not synchornized with S3 bucket. To enable OIDC authentication, see [Configure OIDC Authentication](#configure-oidc-authentication). ->**NOTE 2:** Only folders created within the APPS root level folder are supported. Subfolders within those folders are not supported. - -## Get Password to EC2 Instance Hosting MATLAB Web App Server -1. In the AWS management console, select the stack you deployed. -1. In the Stack Detail for your stack, click the **Outputs** tab. -1. Look for the key named `MATLABWebAppServerEC2Instance` and click the corresponding URL listed under value. This will take you to the server instance (`matlab-webapp-server-vm`) page. -1. Click the **Connect** button at the top. -1. In the *Connect to instance* dialog, click the **RDP client** tab and then click **Get Password**. -1. Click **Choose File** to navigate and select the private key file (`.pem` file) for the key pair that you used while creating the stack in [Step 2](#step-2-configure-the-stack). -1. Click **Decrypt Password**. The console displays the password for the instance in the *Connect to instance* dialog. -1. Copy the password to the clipboard. - -## Connect to EC2 Instance Hosting MATLAB Web App Server Using Remote Desktop -1. In the AWS management console, select the stack you deployed. -1. In the *Stack details* for your stack, click the **Outputs** tab. -1. Look for the key named `MATLABWebAppServerEC2Instance` and click the corresponding URL listed under value. This will take you to the server instance (`matlab-webapp-server-vm`) page. -1. Click the value under Instance ID to view the instance summary. -1. Click the **Connect** button at the top. -1. In the *Connect to instance* dialog, click the **RDP client** tab. -1. Click the **Download remote desktop file** button to download a .rdp file. -1. Use the .rdp file to remotely connect to EC2 instance using the following credentials: -* Username: Administrator -* Password: The decrypted password. For details, see [Get Password to EC2 Instance](#get-password-to-ec2-instance-hosting-matlab-web-app-server). - -## Connect to EC2 Instance Hosting MATLAB Web App Server Using SSH -1. In the AWS management console, select the stack you deployed. -1. In the *Stack details* for your stack, click the **Outputs** tab. -1. Look for the key named `MATLABWebAppServerEC2Instance` and click the corresponding URL listed under value. This will take you to the server instance (`matlab-webapp-server-vm`) page. -1. Click the value under Instance ID to view the instance summary. -1. Click the **Connect** button at the top. -1. In the *Connect to instance* dialog, click the **SSH client** tab. -1. Follow the instructions on the page to SSH to the EC2 instance. - -## Find Setup and Configuration Files -| Task | Relevant Files | Details | -|-----------------------|-----------------------------------------------------------|------------------------------------| -| Server Administration | `webapps-start`, `webapps-stop`, `webapps-restart`, `webapps-status` | [Command-Line Scripts Documentation](https://www.mathworks.com/help/webappserver/server-management.html) | -| Authentication | `webapps_authn.json` | [Authentication Documentation](https://www.mathworks.com/help/webappserver/ug/authentication.html) | -| Role-Based Access | `webapps_app_roles.json` | [Role-Based Access Documentation](https://www.mathworks.com/help/webappserver/ug/role-based-access.html) | -| Policy-Based Access | `webapps_acc_ctl.json` | [Policy-Based Access Documentation](https://www.mathworks.com/help/webappserver/ug/policy-based-access.html) | - -## Configure OIDC Authentication -1. Connect to the EC2 instance hosting MATLAB Web App Server. For details, see: - * [Connect to EC2 Instance Hosting MATLAB Web App Server Using Remote Desktop](#connect-to-ec2-instance-hosting-matlab-web-app-server-using-remote-desktop) - * [Connect to EC2 Instance Hosting MATLAB Web App Server Using SSH](#connect-to-ec2-instance-hosting-matlab-web-app-server-using-ssh). -1. Follow the instructions on the [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html) page in the MathWorks documentation. - >**NOTE:** SSL is enabled when you deploy the stack. -1. For the `redirectUrl`, use the URL created as part of your stack. - * In the AWS management console, select the stack you deployed. - * In the *Stack details* for your stack, click the **Outputs** tab. - * Look for the key named `MATLABWebAppServerOIDCRedirectUrl` and copy the corresponding URL listed under value. - * Use this URL in the `webapps_authn.json` file. - -## Create Self-signed Certificate -For information on creating a self-signed certificate, see [Create and Sign an X509 Certificate](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https-ssl.html). - -## Upload Self-signed Certificate to AWS Certificate Manager - -1. Open the AWS Certificate Manager. -2. Click the button at the top of the page to **Import a certificate**. -3. Copy the contents of the `.crt` file containing the certificate into the field labeled **Certificate body**. -4. Copy the contents of the `.pem` file containing the private key into the field labeled **Certificate private key**. -5. Leave the field labeled **Certificate chain** blank. -6. Click the button labeled **Review and import**. -7. Review the settings and click the **Import** button. -8. Copy the value of the Amazon Resource Name (ARN) field from the **Details** section of the certificate. - -The ARN value that you copied should be pasted into the **ARN of SSL Certificate** parameter of the template in [Step 2](#step-2-configure-the-stack). - -## View Logs -Logs are available in AWS CloudWatch. -1. In the AWS management console, select the stack you deployed. -1. In the *Stack details* for your stack, click the **Outputs** tab. -1. To view logs related to the cloud console and the MATLAB Web App Server workers, look for the key named `MATLABWebAppServerLogGroup`, and click the corresponding URL listed under value. - -## Get Network License Manager MAC Address -1. In the AWS management console, select the stack that you deployed. -1. In the *Stack details* for your stack, click the **Outputs** tab. -1. Look for the key named `MATLABWebAppServerLicenseManager`, and click the corresponding URL listed under value. -1. Log in to the Network License Manager for MATLAB dashboard using the following credentials:
-Username: **manager**
-Password: Enter the password you provided while creating the stack. -1. Click **Administration** > **Manage License**. -1. Copy the license server MAC address displayed at the top. - -When you deploy the MATLAB Web App Server reference architecture, a network license manager is automatically deployed. You can also use an existing license manager that is located in the same VPC and the security group of the MATLAB Web App Server EC2 instance. For details, see [Network License Manager for MATLAB](https://github.com/mathworks-ref-arch/license-manager-for-matlab-on-aws). - ->**NOTE**: The license manager MAC address is available only after the stack creation is complete. - -## Delete Your Stack -To delete the stack: -1. Log in to the AWS Console. -3. Go to the CloudFormation page and select the stack you created. -3. Click **Delete**. - -# Enhancement Request -Provide suggestions for additional features or capabilities using the following link: https://www.mathworks.com/cloud/enhancement-request.html - -# Technical Support -If you require assistance or have a request for additional features or capabilities, please contact [MathWorks Technical Support](https://www.mathworks.com/support/contact_us.html). diff --git a/releases/R2021b/WebAppServer_existing.yml b/releases/R2021b/WebAppServer_existing.yml deleted file mode 100644 index dcbce1c..0000000 --- a/releases/R2021b/WebAppServer_existing.yml +++ /dev/null @@ -1,272 +0,0 @@ -AWSTemplateFormatVersion: 2010-09-09 -Description: MATLAB Web App Server R2021b with Existing VPC -Parameters: - KeyPairName: - Type: 'AWS::EC2::KeyPair::KeyName' - Description: "Choose an existing Amazon EC2 key pair to connect to the EC2 instance hosting MATLAB Web App Server. If you do not have a key pair, create one in the EC2 console >> Network & Security >> Key Pairs." - ConstraintDescription: Must be the name of an existing EC2 Key Pair. - AdminIPAddress: - Description: "Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts the MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this field is IP Address/Mask.Example: xxx.xxx.xxx.xxx/32" - Type: String - MinLength: 9 - MaxLength: 18 - AllowedPattern: '(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/(\d{1,2})' - ConstraintDescription: Must be a valid IP CIDR range of the form x.x.x.x/x - UseSameIPForClient: - Description: "Choose \"Yes\" if you know that the same set of users will administer the server and access web apps on the apps homepage. Choose \"No\" if the users accessing web apps on the apps homepage are different from the users administering the server." - Type: String - AllowedValues: - - 'Yes' - - 'No' - Default: 'Yes' - ClientIPAddress: - Description: "Complete this field only if you selected \"No\" in the previous field. Specify the IP address range that can access the MATLAB Web App Server home page in CIDR notation." - Type: String - Default: '' - - WorkerInstanceType: - Description: 'Specify the EC2 instance type to use for the server instance. For more information on Amazon EC2 instance types and sizes, see https://aws.amazon.com/ec2/instance-types/ .' - Default: m5.xlarge - Type: String - MinLength: 1 - ConstraintDescription: The server instance type must be specified. - WorkerSystem: - Description: Choose between Windows (Windows Server) and Linux (Ubuntu). - Type: String - AllowedValues: - - Ubuntu - - Windows - - DeployLicenseServer: - Description: "Specify whether you want to deploy a network license manager to the existing VPC. If you select \"No\", you must provide the IP address of a network license manger that has already been deployed to the existing VPC." - Type: String - AllowedValues: - - 'Yes' - - 'No' - Default: 'Yes' - ExistingLicenseServer: - Description: "Specify the IP address of the network license manager that has already been deployed to the existing VPC. Leave this field unchanged if you are deploying a new network license manager to the existing VPC and chose \"Yes\" for the previous option." - Type: String - ConstraintDescription: Must be a valid IP CIDR range of the form x.x.x.x - Default: "0.0.0.0" - Password: - Description: "Specify a password for the network license manager. Use this password to log in to the network license manager after the stack has been successfully created." - Type: String - NoEcho: true - ConstraintDescription: "" - Default: "" - ConfirmPassword: - Description: "Reenter the password to log in to the Network License Manager for MATLAB dashboard." - Type: String - NoEcho: true - ConstraintDescription: "" - Default: "" - - ExistingVPC: - Description: ID of your existing VPC where you want to deploy this solution. - Type: 'AWS::EC2::VPC::Id' - ConstraintDescription: Must be the ID of an existing VPC. - Default: '' - ExistingVPCAddress: - Description: Get the IP address range from the existing VPC you selected above. - Type: String - MinLength: 9 - MaxLength: 18 - AllowedPattern: '(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/(\d{1,2})' - ConstraintDescription: Must be a valid IP CIDR range of the form x.x.x.x/x - AllowPublicIP: - Description: "Specify whether the deployed virtual machine uses public IP address. If you select \"No\", you must provide a private subnet in next field to deploy MATLAB Web App Server" - Type: String - AllowedValues: - - 'Yes' - - 'No' - Default: 'Yes' - ExistingSubnet1: - Description: "Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected \"Yes\" in previous field for assigning a public IP, choose a public subnet. Otherwise, choose a private subnet." - Type: 'AWS::EC2::Subnet::Id' - ConstraintDescription: Must be the ID of an existing Subnet. - Default: '' - ExistingSubnet2: - Description: "ID of a public subnet within the existing VPC that will host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet." - Type: 'AWS::EC2::Subnet::Id' - ConstraintDescription: Must be the ID of an existing Subnet. - Default: '' - ExistingSubnet3: - Description: "ID of a public subnet within the existing VPC that will host server resources. This should be different from Subnet 1." - Type: 'AWS::EC2::Subnet::Id' - ConstraintDescription: Must be the ID of an existing Subnet. - Default: '' - - SSLCertificateARN: - Description: "Specify the Amazon Resource Name (ARN) of the SSL certificate you uploaded to the AWS Certificate Manager. The ARN facilitates connecting to the apps home page using an HTTPS connection. To retrieve an ARN, type \"Certificate Manager\" in the AWS console search box at the top of the page, and open the AWS Certificate Manager in a new tab. Example: arn:aws:acm:us-east-1:012345678910:certificate/666abcd6-ab6c-6ab6-a666-a666666bcd66" - Type: String - MinLength: 1 - ConstraintDescription: The Certificate ARN must be specified - -Metadata: - 'AWS::CloudFormation::Interface': - ParameterGroups: - - Label: - default: Settings for Existing Virtual Private Cloud (VPC) - Parameters: - - ExistingVPC - - ExistingVPCAddress - - AllowPublicIP - - ExistingSubnet1 - - ExistingSubnet2 - - ExistingSubnet3 - - Label: - default: Settings for Hosting MATLAB Web App Server - Parameters: - - KeyPairName - - AdminIPAddress - - UseSameIPForClient - - ClientIPAddress - - SSLCertificateARN - - WorkerInstanceType - - WorkerSystem - - Label: - default: Settings for Network License Manager - Parameters: - - DeployLicenseServer - - ExistingLicenseServer - - Password - - ConfirmPassword - - ParameterLabels: - ExistingVPC: - default: Existing VPC ID - ExistingVPCAddress: - default: IP Address Range of Existing VPC - ExistingSubnet1: - default: Subnet for MATLAB Web App Server - ExistingSubnet2: - default: Public Subnet 1 - ExistingSubnet3: - default: Public Subnet 2 - KeyPairName: - default: Name of Existing Amazon EC2 Key Pair - WorkerInstanceType: - default: EC2 Instance Type - WorkerSystem: - default: Operating System - DeployLicenseServer: - default: Deploy Network License Manager - ExistingLicenseServer: - default: IP Address of Existing Network License Manager - Password: - default: Password for Network License Manager - ConfirmPassword: - default: Confirm Password - ClientIPAddress: - default: IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page in CIDR Notation - UseSameIPForClient: - default: Do You Want to Use the Same IP Addresses to the Access MATLAB Web App Server Apps Home Page? - AdminIPAddress: - default: IP Address of MATLAB Web App Server Administrator in CIDR Notation - AllowPublicIP: - default: Assign Public IP to EC2 Instance Hosting MATLAB Web App Server - SSLCertificateARN: - default: ARN of SSL Certificate - -Conditions: - DoDeployLicenseServer: !Equals - - 'Yes' - - !Ref DeployLicenseServer - DoPublicIP: !Equals ['Yes', !Ref AllowPublicIP] - SameAdminIP: !Equals - - 'Yes' - - !Ref UseSameIPForClient - -Rules: - checkLicenseServerPassword: - RuleCondition: !Equals - - !Ref DeployLicenseServer - - 'Yes' - Assertions: - - Assert: !And - - !Not [!Equals ['', !Ref Password]] - - !Not [!Equals ['', !Ref ConfirmPassword]] - AssertDescription: 'Password is required when require to deploy license server' - - Assert: !Equals [!Ref Password, !Ref ConfirmPassword] - AssertDescription: "Passwords do not match" - checkSubnetInVPC: - Assertions: - - Assert: !EachMemberEquals - - !ValueOfAll - - AWS::EC2::Subnet::Id - - VpcId - - !Ref ExistingVPC - AssertDescription: Subnet must exist in the VPC you have selected - checkClientIPAddressProvided: - RuleCondition: !Equals - - !Ref UseSameIPForClient - - 'No' - Assertions: - - Assert: !Not [!Equals ['', !Ref ClientIPAddress]] - AssertDescription: 'Must provide Client IP address when choose not to use the same IP address ad Admin' - -Outputs: - MATLABWebAppServerAppsHomePage: - Description: URL to the MATLAB Web App Server apps home page - Value: !GetAtt MatlabWebAppServerResourcesStack.Outputs.MatlabWebappServerVM - MATLABWebAppServerAppsS3Bucket: - Description: URL to Amazon S3 bucket for storing web apps (.ctf files) - Value: !GetAtt MatlabWebAppServerResourcesStack.Outputs.MATLABWebAppServerApplicationsBucket - MATLABWebAppServerEC2Instance: - Description: URL to EC2 instance hosting MATLAB Web App Server. Use this address to remotely connect and manage the server - Value: !GetAtt MatlabWebAppServerResourcesStack.Outputs.MatlabWebappServerInstance - MATLABWebAppServerLogGroup: - Description: URL to server logs on CloudWatch - Value: !GetAtt MatlabWebAppServerResourcesStack.Outputs.MATLABWebappServerLogGroup - MATLABWebAppServerLicenseManager: - Description: URL to Network License Manager home page. Use this address to upload your license file. - Value: !If - - DoDeployLicenseServer - - !GetAtt MatlabWebAppServerLicenseServerStack.Outputs.ServerAddress - - 'License Server was not deployed with this stack' - MATLABWebAppServerOIDCRedirectUrl: - Description: Redirect URL for configuring OIDC authentication - Value: !GetAtt MatlabWebAppServerResourcesStack.Outputs.MATLABWebappServerOIDCRedirectURL - -Resources: - MatlabWebAppServerLicenseServerStack: - Condition: DoDeployLicenseServer - Type: AWS::CloudFormation::Stack - Properties: - TemplateURL: 'https://network-license-manager-for-matlab-on-aws.s3.amazonaws.com/R2020b/license-manager-template.json' - Parameters: - VPC: !Ref ExistingVPC - Subnet: !Ref ExistingSubnet2 - ClientIPAddress: !Ref AdminIPAddress - ServerInstanceType: t2.micro - SSHKeyName: !Ref KeyPairName - Password: !Ref Password - ConfirmPassword: !Ref ConfirmPassword - - MatlabWebAppServerResourcesStack: - Type: AWS::CloudFormation::Stack - Properties: - TemplateURL: 'https://matlab-web-app-server-templates.s3.amazonaws.com/r2021b_refarch/CommonResourcesStack.yml' - Parameters: - ExistingVPC: !Ref ExistingVPC - ExistingVPCAddress: !Ref ExistingVPCAddress - ExistingSubnet1: !Ref ExistingSubnet1 - ExistingSubnet2: !Ref ExistingSubnet2 - ExistingSubnet3: !Ref ExistingSubnet3 - KeyPairName: !Ref KeyPairName - ClientIPAddress: !If [SameAdminIP, !Ref AdminIPAddress, !Ref ClientIPAddress] - AdminIPAddress: !Ref AdminIPAddress - AllowPublicIP: !Ref AllowPublicIP - WorkerInstanceType: !Ref WorkerInstanceType - WorkerSystem: !Ref WorkerSystem - SSLCertificateARN: !Ref SSLCertificateARN - LicenseServerSecurityGroup: !If - - DoDeployLicenseServer - - !GetAtt MatlabWebAppServerLicenseServerStack.Outputs.SecurityGroup - - '' - LicenseServerPrivateDNS: !If - - DoDeployLicenseServer - - !GetAtt MatlabWebAppServerLicenseServerStack.Outputs.ServerPrivateDNS - - !Ref ExistingLicenseServer - ParentStackName: !Ref AWS::StackName diff --git a/releases/R2021b/WebAppServer_new.yml b/releases/R2021b/WebAppServer_new.yml deleted file mode 100644 index a8ac3fc..0000000 --- a/releases/R2021b/WebAppServer_new.yml +++ /dev/null @@ -1,181 +0,0 @@ -AWSTemplateFormatVersion: 2010-09-09 -Description: MATLAB Web App Server R2021b with new VPC -Parameters: - KeyPairName: - Type: 'AWS::EC2::KeyPair::KeyName' - Description: "Choose an existing Amazon EC2 key pair to connect to the EC2 instance hosting MATLAB Web App Server. If you do not have a key pair, create one in the EC2 console >> Network & Security >> Key Pairs." - ConstraintDescription: Must be the name of an existing EC2 Key Pair. - AdminIPAddress: - Description: "Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts the MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this field is IP Address/Mask.Example: xxx.xxx.xxx.xxx/32" - Type: String - MinLength: 9 - MaxLength: 18 - AllowedPattern: '(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/(\d{1,2})' - ConstraintDescription: Must be a valid IP CIDR range of the form x.x.x.x/x - UseSameIPForClient: - Description: "Choose \"Yes\" if you know that the same set of users will administer the server and access web apps on the apps homepage. Choose \"No\" if the users accessing web apps on the apps homepage are different from the users administering the server." - Type: String - AllowedValues: - - 'Yes' - - 'No' - Default: 'Yes' - ClientIPAddress: - Description: "Complete this field only if you selected \"No\" in the previous field. Specify the IP address range that can access the MATLAB Web App Server home page in CIDR notation." - Type: String - Default: '' - WorkerInstanceType: - Description: 'Specify the EC2 instance type to use for the server instance. For more information on Amazon EC2 instance types and sizes, see https://aws.amazon.com/ec2/instance-types/ .' - Default: m5.xlarge - Type: String - MinLength: 1 - ConstraintDescription: The server instance type must be specified. - WorkerSystem: - Description: Choose between Windows (Windows Server) and Linux (Ubuntu). - Type: String - AllowedValues: - - Ubuntu - - Windows - - Password: - Description: "Specify a password for the network license manager. Use this password to log in to the network license manager after the stack has been successfully created. Deploying MATLAB Web App Server automatically deploys a network license manager." - Type: String - NoEcho: true - ConstraintDescription: "" - Default: "" - ConfirmPassword: - Description: "Reenter the password to log in to the Network License Manager for MATLAB dashboard." - Type: String - NoEcho: true - ConstraintDescription: "" - Default: "" - SSLCertificateARN: - Description: "Specify the Amazon Resource Name (ARN) of the SSL certificate you uploaded to the AWS Certificate Manager. The ARN facilitates connecting to the apps home page using an HTTPS connection. To retrieve an ARN, type \"Certificate Manager\" in the AWS console search box at the top of the page, and open the AWS Certificate Manager in a new tab. Example: arn:aws:acm:us-east-1:012345678910:certificate/666abcd6-ab6c-6ab6-a666-a666666bcd66" - Type: String - MinLength: 1 - ConstraintDescription: The Certificate ARN must be specified - -Metadata: - 'AWS::CloudFormation::Interface': - ParameterGroups: - - Label: - default: Settings for Hosting MATLAB Web App Server - Parameters: - - KeyPairName - - AdminIPAddress - - UseSameIPForClient - - ClientIPAddress - - SSLCertificateARN - - WorkerInstanceType - - WorkerSystem - - Label: - default: Settings for Network License Manager - Parameters: - - Password - - ConfirmPassword - - ParameterLabels: - KeyPairName: - default: Name of Existing Amazon EC2 Key Pair - WorkerInstanceType: - default: EC2 Instance Type - WorkerSystem: - default: Operating System - Password: - default: Password for Network License Manager - ConfirmPassword: - default: Confirm Password - ClientIPAddress: - default: IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page in CIDR Notation - UseSameIPForClient: - default: Do You Want to Use the Same IP Addresses to the Access MATLAB Web App Server Apps Home Page? - AdminIPAddress: - default: IP Address of MATLAB Web App Server Administrator in CIDR Notation - SSLCertificateARN: - default: ARN of SSL Certificate - -Conditions: - SameAdminIP: !Equals - - 'Yes' - - !Ref UseSameIPForClient - -Rules: - checkLicenseServerPassword: - Assertions: - - Assert: !And - - !Not [!Equals ['', !Ref Password]] - - !Not [!Equals ['', !Ref ConfirmPassword]] - AssertDescription: 'Password is required when require to deploy license server' - - Assert: !Equals [!Ref Password, !Ref ConfirmPassword] - AssertDescription: "Passwords do not match" - checkClientIPAddressProvided: - RuleCondition: !Equals - - !Ref UseSameIPForClient - - 'No' - Assertions: - - Assert: !Not [!Equals ['', !Ref ClientIPAddress]] - AssertDescription: 'Must provide Client IP address when choose not to use the same IP address ad Admin' - -Outputs: - MATLABWebAppServerAppsHomePage: - Description: URL to the MATLAB Web App Server apps home page - Value: !GetAtt MatlabWebAppServerResourcesStack.Outputs.MatlabWebappServerVM - MATLABWebAppServerAppsS3Bucket: - Description: URL to Amazon S3 bucket for storing web apps (.ctf files) - Value: !GetAtt MatlabWebAppServerResourcesStack.Outputs.MATLABWebAppServerApplicationsBucket - MATLABWebAppServerEC2Instance: - Description: URL to EC2 instance hosting MATLAB Web App Server. Use this address to remotely connect and manage the server - Value: !GetAtt MatlabWebAppServerResourcesStack.Outputs.MatlabWebappServerInstance - MATLABWebAppServerLogGroup: - Description: URL to server logs on CloudWatch - Value: !GetAtt MatlabWebAppServerResourcesStack.Outputs.MATLABWebappServerLogGroup - MATLABWebAppServerLicenseManager: - Description: URL to Network License Manager home page. Use this address to upload your license file. - Value: !GetAtt MatlabWebAppServerLicenseServerStack.Outputs.ServerAddress - MATLABWebAppServerOIDCRedirectUrl: - Description: Redirect URL for configuring OIDC authentication - Value: !GetAtt MatlabWebAppServerResourcesStack.Outputs.MATLABWebappServerOIDCRedirectURL - -Resources: - MatlabWebappServerVPCStack: - Type: AWS::CloudFormation::Stack - Properties: - TemplateURL: 'https://matlab-web-app-server-templates.s3.amazonaws.com/r2021b_refarch/VPCStack.yml' - Parameters: - AllowPublicIP: 'Yes' - - MatlabWebAppServerLicenseServerStack: - Type: AWS::CloudFormation::Stack - Properties: - TemplateURL: 'https://network-license-manager-for-matlab-on-aws.s3.amazonaws.com/R2020b/license-manager-template.json' - Parameters: - VPC: !GetAtt MatlabWebappServerVPCStack.Outputs.VPCID - Subnet: !GetAtt MatlabWebappServerVPCStack.Outputs.Subnet2 - ClientIPAddress: !Ref AdminIPAddress - ServerInstanceType: t2.micro - SSHKeyName: !Ref KeyPairName - Password: !Ref Password - ConfirmPassword: !Ref ConfirmPassword - - MatlabWebAppServerResourcesStack: - DependsOn: - - MatlabWebAppServerLicenseServerStack - - MatlabWebappServerVPCStack - Type: AWS::CloudFormation::Stack - Properties: - TemplateURL: 'https://matlab-web-app-server-templates.s3.amazonaws.com/r2021b_refarch/CommonResourcesStack.yml' - Parameters: - ExistingVPC: !GetAtt MatlabWebappServerVPCStack.Outputs.VPCID - ExistingVPCAddress: !GetAtt MatlabWebappServerVPCStack.Outputs.VPCCIDR - ExistingSubnet1: !GetAtt MatlabWebappServerVPCStack.Outputs.Subnet1 - ExistingSubnet2: !GetAtt MatlabWebappServerVPCStack.Outputs.Subnet2 - ExistingSubnet3: !GetAtt MatlabWebappServerVPCStack.Outputs.Subnet3 - KeyPairName: !Ref KeyPairName - ClientIPAddress: !If [SameAdminIP, !Ref AdminIPAddress, !Ref ClientIPAddress] - AdminIPAddress: !Ref AdminIPAddress - AllowPublicIP: 'Yes' - WorkerInstanceType: !Ref WorkerInstanceType - WorkerSystem: !Ref WorkerSystem - SSLCertificateARN: !Ref SSLCertificateARN - LicenseServerSecurityGroup: !GetAtt MatlabWebAppServerLicenseServerStack.Outputs.SecurityGroup - LicenseServerPrivateDNS: !GetAtt MatlabWebAppServerLicenseServerStack.Outputs.ServerPrivateDNS - ParentStackName: !Ref AWS::StackName diff --git a/releases/R2021b/templates.txt b/releases/R2021b/templates.txt deleted file mode 100644 index 7438652..0000000 --- a/releases/R2021b/templates.txt +++ /dev/null @@ -1,2 +0,0 @@ -https://matlab-web-app-server-templates.s3.amazonaws.com/r2021b_refarch/WebAppServer_new.yml -https://matlab-web-app-server-templates.s3.amazonaws.com/r2021b_refarch/WebAppServer_existing.yml \ No newline at end of file From 902b9144476076346b03758903246967d38634e3 Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Wed, 26 Feb 2025 16:14:54 -0500 Subject: [PATCH 06/19] Update README.md * Add rule for NLM private IP assignment * Update region to us-east-1 --- releases/R2025a/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index b13b9ef..13c3d95 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -9,7 +9,7 @@ Then, click the appropriate **Launch Stack** button to launch the stack configur | Release | New VPC | Existing VPC | Operating Systems | |---------|---------| ------------ | ----------------- | -| R2025a | | | Windows Server 2022 or Ubuntu 22.04 VM | +| R2025a | | | Windows Server 2022 or Ubuntu 22.04 VM | The AWS Management Console opens in your web browser. @@ -50,7 +50,7 @@ To deploy MATLAB Web App Server onto an existing VPC, specify these additional p | Parameter | Value | |----------------------------------|--------------------------------------------------------------------------------| | Existing VPC ID | ID of your existing VPC. | -|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server".

**Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

| +|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address.
  • If you select "Yes", you must provide a public subnet in the field "Subnet for MATLAB Web App Server".
  • If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server". If you are deploying a new network license manager, the network license manager will also be assigned a private IP.
  • **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

    | | Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected "Yes" in the previous field for assigning a public IP, choose a public subnet. Otherwise, choose a private subnet. | | Public Subnet 1 | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | ||**Settings for Network License Manager**| From be3d3108bbc7e011ebf7852870262af9148201ad Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Wed, 5 Mar 2025 15:50:57 -0500 Subject: [PATCH 07/19] Update README.md Clarify public IP setting for new NLM --- releases/R2025a/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index 13c3d95..460e254 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -50,7 +50,7 @@ To deploy MATLAB Web App Server onto an existing VPC, specify these additional p | Parameter | Value | |----------------------------------|--------------------------------------------------------------------------------| | Existing VPC ID | ID of your existing VPC. | -|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address.
    • If you select "Yes", you must provide a public subnet in the field "Subnet for MATLAB Web App Server".
    • If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server". If you are deploying a new network license manager, the network license manager will also be assigned a private IP.
    • **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | +|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether to assign a public IP address to the deployed EC2 instance as well as the network license manager, if you are deploying a new network license manager.
      • If you select "Yes", you must provide a public subnet in the field "Subnet for MATLAB Web App Server".
      • If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server".

      **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | | Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected "Yes" in the previous field for assigning a public IP, choose a public subnet. Otherwise, choose a private subnet. | | Public Subnet 1 | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | ||**Settings for Network License Manager**| From 5581ddf30d7fdfa1f1ed2a89aa8c404ae1f1a929 Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Thu, 6 Mar 2025 16:35:17 -0500 Subject: [PATCH 08/19] Update README.md clarify NLM IP type --- releases/R2025a/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index 460e254..4f38eec 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -50,7 +50,7 @@ To deploy MATLAB Web App Server onto an existing VPC, specify these additional p | Parameter | Value | |----------------------------------|--------------------------------------------------------------------------------| | Existing VPC ID | ID of your existing VPC. | -|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether to assign a public IP address to the deployed EC2 instance as well as the network license manager, if you are deploying a new network license manager.
      • If you select "Yes", you must provide a public subnet in the field "Subnet for MATLAB Web App Server".
      • If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server".

      **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | +|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether to assign a public IP address to the deployed EC2 instance. If you are deploying a new network license manager, the network license manager will be assigned the same type of IP as the EC2 instance.
      • If you select "Yes", you must provide a public subnet in the field "Subnet for MATLAB Web App Server".
      • If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server".

      **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | | Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected "Yes" in the previous field for assigning a public IP, choose a public subnet. Otherwise, choose a private subnet. | | Public Subnet 1 | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | ||**Settings for Network License Manager**| From 5bfb546e7f901d45b57272471f913e5bd24061bd Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Thu, 6 Mar 2025 16:36:27 -0500 Subject: [PATCH 09/19] Update README.md --- releases/R2025a/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index 4f38eec..e3ee70c 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -50,7 +50,7 @@ To deploy MATLAB Web App Server onto an existing VPC, specify these additional p | Parameter | Value | |----------------------------------|--------------------------------------------------------------------------------| | Existing VPC ID | ID of your existing VPC. | -|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether to assign a public IP address to the deployed EC2 instance. If you are deploying a new network license manager, the network license manager will be assigned the same type of IP as the EC2 instance.
      • If you select "Yes", you must provide a public subnet in the field "Subnet for MATLAB Web App Server".
      • If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server".

      **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | +|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether to assign a public IP address to the deployed EC2 instance. If you are deploying a new network license manager, the network license manager will be assigned the same type of IP address as the EC2 instance.
      • If you select "Yes", you must provide a public subnet in the field "Subnet for MATLAB Web App Server".
      • If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server".

      **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | | Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected "Yes" in the previous field for assigning a public IP, choose a public subnet. Otherwise, choose a private subnet. | | Public Subnet 1 | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | ||**Settings for Network License Manager**| From 96b93dc45cc5d6d69dc10e0b3ccf2206b1887516 Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Thu, 10 Apr 2025 15:34:55 -0400 Subject: [PATCH 10/19] Update README.md * Add existing VPC configuration info * Add release notes --- releases/R2025a/README.md | 47 ++++++++++++++++++++++++++++++++------- releases/release-notes.md | 7 ++++++ 2 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 releases/release-notes.md diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index e3ee70c..166b6b6 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -13,7 +13,7 @@ Then, click the appropriate **Launch Stack** button to launch the stack configur The AWS Management Console opens in your web browser. ->**NOTE:** Mulitple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). +>**NOTE:** Multiple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). >**NOTE:** Creating a stack on AWS can take at least 20 minutes. @@ -27,7 +27,7 @@ The AWS Management Console opens in your web browser. | **Name of Existing Amazon EC2 Key Pair** | Choose an existing Amazon EC2 key pair to connect to the EC2 instance hosting MATLAB Web App Server. If you do not have a key pair, create one. For details, see [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair).

      *Example*: `boston-keypair`

      | | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this field is IP Address/Mask.

      Example: `x.x.x.x/32`

      • This is the public IP address which can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP addresses.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range in the next field. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      - | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this field only if you selected **"No"** in the previous field. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this field is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | + | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this field only if you selected **No** in the previous field. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this field is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | | **EC2 Instance Type** | Choose the AWS EC2 instance type to use for the server. All AWS instance types are supported. For more information, see [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/).

      *Example*: `m6a.large`

      | | **Operating System** | Choose between Windows (Windows Server) and Linux (Ubuntu). | ||**Settings for Network License Manager**| @@ -45,13 +45,13 @@ The AWS Management Console opens in your web browser. >**Note**: If you are deploying to a new VPC, skip this step. -To deploy MATLAB Web App Server onto an existing VPC, specify these additional parameters. +To deploy MATLAB Web App Server onto an existing VPC, select the **Existing VPC** template in [Step 1](#step-1-launch-template). In addition to the parameters listed in Step 2, you must also specify the following parameters. | Parameter | Value | |----------------------------------|--------------------------------------------------------------------------------| | Existing VPC ID | ID of your existing VPC. | -|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether to assign a public IP address to the deployed EC2 instance. If you are deploying a new network license manager, the network license manager will be assigned the same type of IP address as the EC2 instance.
      • If you select "Yes", you must provide a public subnet in the field "Subnet for MATLAB Web App Server".
      • If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server".

      **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | -| Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected "Yes" in the previous field for assigning a public IP, choose a public subnet. Otherwise, choose a private subnet. | +|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether to assign a public IP address to the deployed EC2 instance. If you are deploying a new network license manager, the network license manager will be assigned the same type of IP address as the EC2 instance.
      • If you select `Yes`, you must provide a public subnet in the field **Subnet for MATLAB Web App Server**.
      • If you select `No`, you must provide a private subnet in the field **Subnet for MATLAB Web App Server**.

        Even if you select `No`, your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      **Note:** You may need to configure an endpoint or public NAT gateway to ensure MATLAB Web App Server can access AWS services. For details, see [Ensure connectivity in an existing VPC](#ensure-connectivity-in-an-existing-vpc).

      | +| Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected `Yes` in the previous field for assigning a public IP, choose a public subnet. Otherwise, choose a private subnet. | | Public Subnet 1 | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | ||**Settings for Network License Manager**| | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this field blank if you are deploying a new network license manager. | @@ -66,6 +66,37 @@ You will also need to open the following ports in your VPC: | `27000` | Required for communication between the network license manager and MATLAB Web App Server. | | `3389`, `22` | Required for Remote Desktop and Secure Connection functionality. This can be used for troubleshooting and debugging MATLAB Web App Server. | +### Ensure connectivity in an existing VPC +To enable effective operation of the MATLAB Web App Server Lambda functions within an existing Virtual Private Cloud (VPC), you must configure connectivity based on whether the subnet has a public or private IP address. + +#### Use public NAT gateway in a private subnet +If are using an existing VPC and deploying in a private subnet, consider using a public NAT gateway to ensure that the Lambda functions can communicate efficiently and securely within your VPC. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the AWS documentation. + +#### Create endpoint in a public subnet +If are using an existing VPC and deploying in a public subnet, then you must add an endpoint to one of the public subnets in the VPC in order to allow the server to access the EC2 API. You can check if such an endpoint already exists by navigating to the AWS Portal, selecting **Endpoints**, and filtering by VPC ID for the VPC you are using for deployment. If no such endpoint is present, follow these steps: + +1. Click **Create endpoint**. +1. Provide a name tag for the endpoint. +1. Select **Type** as `AWS services`. +1. In **Services**, select `com.amazonaws.${AWS::Region}.ec2`. The region should match your VPC region. For instance, if your region is US East 1, select `com.amazonaws.us-east-1.ec2`. +1. In **Network settings**, select the VPC you are using for deployment. +1. Ensure that **Enable DNS** is checked to facilitate DNS resolution within the VPC. +1. In **Subnets**, select the public subnet where the endpoint will be configured. +1. In **Security groups**, select the security group to associate with the endpoint network interface. Ensure the following settings are applied to the security group:

      + + + + + +
      Ingress
      ProtocolTCP
      Port Range0-65535
      SourceVPC CIDR block — allows internal VPC communication on any TCP port
      + + + + +
      Egress
      ProtocolAll (-1)
      DestinationAnywhere (0.0.0.0/0) — allows all outbound traffic to any destination
      + +For detailed information on creating endpoints, see [Access an AWS service using an interface VPC endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html). + ### Use an existing network license manager in an existing VPC For complete instructions on deploying the Network License Manager for MATLAB reference architecture, see [Network License Manager for MATLAB on Amazon Web Services](https://github.com/mathworks-ref-arch/license-manager-for-matlab-on-aws). @@ -91,11 +122,11 @@ Click the **Create** button. The CloudFormation service starts creating resource ## Step 5. Upload License File 1. Click **Outputs** in the *Stack details* for your stack. -1. Look for the key named `MATLABWebAppServerLicenseManager` and click the corresponding URL listed under value. This will take you to Network License Manager for MATLAB Dashboard login page. +1. Look for the key named `MATLABWebAppServerLicenseManager` and click the corresponding URL listed under value. This opens the Network License Manager for MATLAB Dashboard login page. 1. The username is **manager**. For the password, enter the password you entered in the **Password for Network License Manager** field while creating the stack in [Step 2](#step-2-configure-the-stack). 1. Follow the instructions on the home page of the network license manager to upload your MATLAB Web App Server license. ->**Note:** MATLAB Web App Server automatically starts after succesfully uploading a valid license file. +>**Note:** MATLAB Web App Server automatically starts after successfully uploading a valid license file. ## Step 6. Open the MATLAB Web App Server Apps Home Page @@ -114,7 +145,7 @@ To run applications on MATLAB Web App Server, you need to create web apps using 1. Look for the key named `MATLABWebAppServerAppsS3Bucket`, and click the corresponding URL listed under value. 1. In the S3 console, click **apps**. 1. Click **Upload** > **Add Files** to select and upload web apps (`.ctf` files). ->**NOTE 1:** If you enable OIDC authentication, you can upload web apps from the apps home page. Any apps you upload via the apps home page are not synchornized with S3 bucket. To enable OIDC authentication, see [Configure OIDC Authentication](#configure-oidc-authentication). +>**NOTE 1:** If you enable OIDC authentication, you can upload web apps from the apps home page. Any apps you upload via the apps home page are not synchronized with S3 bucket. To enable OIDC authentication, see [Configure OIDC Authentication](#configure-oidc-authentication). >**NOTE 2:** Only folders created within the APPS root level folder are supported. Subfolders within those folders are not supported. ## Get Password to EC2 Instance Hosting MATLAB Web App Server diff --git a/releases/release-notes.md b/releases/release-notes.md new file mode 100644 index 0000000..13be877 --- /dev/null +++ b/releases/release-notes.md @@ -0,0 +1,7 @@ +## Release Notes for MATLAB Web App Server on Amazon Web Services + +### R2025a + +- You can now manage Linux MATLAB Web App Server instances using the MATLAB Web App Server Admin Portal, which is a web-based interface to edit server settings, configure access control for web applications, and view server logs. For more information, see [Manage MATLAB Web App Server Using Admin Portal](https://www.mathworks.com/help/webappserver/ug/manage-matlab-web-app-server-using-admin-portal-on-aws-reference-architecture.html). + + From 342b4bd07b33d25c7ab44221004dca904a55c23a Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Thu, 10 Apr 2025 16:59:02 -0400 Subject: [PATCH 11/19] Update README.md Update table --- releases/R2025a/README.md | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index 166b6b6..fd2db99 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -67,7 +67,7 @@ You will also need to open the following ports in your VPC: | `3389`, `22` | Required for Remote Desktop and Secure Connection functionality. This can be used for troubleshooting and debugging MATLAB Web App Server. | ### Ensure connectivity in an existing VPC -To enable effective operation of the MATLAB Web App Server Lambda functions within an existing Virtual Private Cloud (VPC), you must configure connectivity based on whether the subnet has a public or private IP address. +To enable effective operation of the MATLAB Web App Server Lambda functions within an existing Virtual Private Cloud (VPC), you must configure connectivity based on whether the subnet is public or private. #### Use public NAT gateway in a private subnet If are using an existing VPC and deploying in a private subnet, consider using a public NAT gateway to ensure that the Lambda functions can communicate efficiently and securely within your VPC. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the AWS documentation. @@ -83,17 +83,19 @@ If are using an existing VPC and deploying in a public subnet, then you must add 1. Ensure that **Enable DNS** is checked to facilitate DNS resolution within the VPC. 1. In **Subnets**, select the public subnet where the endpoint will be configured. 1. In **Security groups**, select the security group to associate with the endpoint network interface. Ensure the following settings are applied to the security group:

      - - - - - -
      Ingress
      ProtocolTCP
      Port Range0-65535
      SourceVPC CIDR block — allows internal VPC communication on any TCP port
      - - - - -
      Egress
      ProtocolAll (-1)
      DestinationAnywhere (0.0.0.0/0) — allows all outbound traffic to any destination
      + | Inbound rules | | + |---|---| + |Type|All TCP| + |Protocol|TCP| + |Port Range|0 - 65535| + |Source|VPC CIDR block range — allows internal VPC communication on any TCP port| + + | Outbound rules | | + |---|---| + |Type|All traffic| + |Protocol|All (-1)| + |Port Range|All| + |Destination|Anywhere (0.0.0.0/0) — allows all outbound traffic to any destination| For detailed information on creating endpoints, see [Access an AWS service using an interface VPC endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html). From c7dbd27e6754ebc2835c9c993a1111dfd50f426c Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Fri, 11 Apr 2025 14:27:57 -0400 Subject: [PATCH 12/19] Update README.md --- releases/R2025a/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index fd2db99..2b04aa3 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -93,7 +93,7 @@ If are using an existing VPC and deploying in a public subnet, then you must add | Outbound rules | | |---|---| |Type|All traffic| - |Protocol|All (-1)| + |Protocol|All| |Port Range|All| |Destination|Anywhere (0.0.0.0/0) — allows all outbound traffic to any destination| From 035320c38247403c0712ab159c1142c96f1f000c Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Tue, 15 Apr 2025 17:18:56 -0400 Subject: [PATCH 13/19] Update README.md --- releases/R2025a/README.md | 111 +++++++++++++++++++++++--------------- 1 file changed, 69 insertions(+), 42 deletions(-) diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index 2b04aa3..5d358ca 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -45,6 +45,10 @@ The AWS Management Console opens in your web browser. >**Note**: If you are deploying to a new VPC, skip this step. +### Prerequisites +Before deploying MATLAB Web App Server within an existing Virtual Private Cloud (VPC), you must configure the VPC to enable connectivity. For details, see [Ensure connectivity in an existing VPC](#ensure-connectivity-in-an-existing-vpc). + +### Deploy to Existing VPC To deploy MATLAB Web App Server onto an existing VPC, select the **Existing VPC** template in [Step 1](#step-1-launch-template). In addition to the parameters listed in Step 2, you must also specify the following parameters. | Parameter | Value | @@ -57,48 +61,6 @@ To deploy MATLAB Web App Server onto an existing VPC, select the **Existing VPC* | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this field blank if you are deploying a new network license manager. | | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. If you have an existing license manager and leave this blank, you must add the security group manually using the instructions in [Use an existing network license manager in an existing VPC](#use-an-existing-network-license-manager-in-an-existing-vpc). Leave this field blank if you are deploying a new network license manager.| -You will also need to open the following ports in your VPC: - -| Port | Description | -|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `443` | Required for communicating with MATLAB Web App Server apps home page. | -| `8000`, `9988` | Required for communication between MATLAB Web App Server controllers and AWS services. These ports do not need to be open to the internet. | -| `27000` | Required for communication between the network license manager and MATLAB Web App Server. | -| `3389`, `22` | Required for Remote Desktop and Secure Connection functionality. This can be used for troubleshooting and debugging MATLAB Web App Server. | - -### Ensure connectivity in an existing VPC -To enable effective operation of the MATLAB Web App Server Lambda functions within an existing Virtual Private Cloud (VPC), you must configure connectivity based on whether the subnet is public or private. - -#### Use public NAT gateway in a private subnet -If are using an existing VPC and deploying in a private subnet, consider using a public NAT gateway to ensure that the Lambda functions can communicate efficiently and securely within your VPC. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the AWS documentation. - -#### Create endpoint in a public subnet -If are using an existing VPC and deploying in a public subnet, then you must add an endpoint to one of the public subnets in the VPC in order to allow the server to access the EC2 API. You can check if such an endpoint already exists by navigating to the AWS Portal, selecting **Endpoints**, and filtering by VPC ID for the VPC you are using for deployment. If no such endpoint is present, follow these steps: - -1. Click **Create endpoint**. -1. Provide a name tag for the endpoint. -1. Select **Type** as `AWS services`. -1. In **Services**, select `com.amazonaws.${AWS::Region}.ec2`. The region should match your VPC region. For instance, if your region is US East 1, select `com.amazonaws.us-east-1.ec2`. -1. In **Network settings**, select the VPC you are using for deployment. -1. Ensure that **Enable DNS** is checked to facilitate DNS resolution within the VPC. -1. In **Subnets**, select the public subnet where the endpoint will be configured. -1. In **Security groups**, select the security group to associate with the endpoint network interface. Ensure the following settings are applied to the security group:

      - | Inbound rules | | - |---|---| - |Type|All TCP| - |Protocol|TCP| - |Port Range|0 - 65535| - |Source|VPC CIDR block range — allows internal VPC communication on any TCP port| - - | Outbound rules | | - |---|---| - |Type|All traffic| - |Protocol|All| - |Port Range|All| - |Destination|Anywhere (0.0.0.0/0) — allows all outbound traffic to any destination| - -For detailed information on creating endpoints, see [Access an AWS service using an interface VPC endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html). - ### Use an existing network license manager in an existing VPC For complete instructions on deploying the Network License Manager for MATLAB reference architecture, see [Network License Manager for MATLAB on Amazon Web Services](https://github.com/mathworks-ref-arch/license-manager-for-matlab-on-aws). @@ -227,6 +189,71 @@ To delete the stack: 3. Go to the CloudFormation page and select the stack you created. 3. Click **Delete**. +## Ensure connectivity in an existing VPC +If you are deploying MATLAB Web App Server to an existing VPC, you must open the following ports in your VPC: + +| Port | Description | +|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `443` | Required for communicating with MATLAB Web App Server apps home page. | +| `8000`, `9988` | Required for communication between MATLAB Web App Server controllers and AWS services. These ports do not need to be open to the internet. | +| `27000` | Required for communication between the network license manager and MATLAB Web App Server. | +| `3389`, `22` | Required for Remote Desktop and Secure Connection functionality. This can be used for troubleshooting and debugging MATLAB Web App Server. | + + In addition, in order to allow the MATLAB Web App Server Lambda functions to access the EC2 API within an existing VPC, you must configure connectivity based on whether you choose a public or a private subnet for your deployment. + +### Use public NAT gateway in a private subnet +If you are using an existing VPC and deploying in a private subnet, consider using a public NAT gateway to ensure that the Lambda functions can communicate within your VPC. In the context of private subnets, ensure that a public NAT Gateway is associated with a public subnet. This setup allows private subnets to leverage the NAT Gateway in their routing configurations, enabling outbound internet access while maintaining their own privacy. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the AWS documentation. + +### Create interface endpoint in a public subnet +If you are using an existing VPC and deploying in a public subnet, then you must add an interface endpoint to one of the public subnets in the VPC. You can check if such an endpoint already exists by navigating to the AWS Portal, selecting **Endpoints**, and filtering by VPC ID for the VPC you are using for deployment. If no such endpoint is present, follow these steps: + +1. Click **Create endpoint**. +1. Provide a name tag for the endpoint. +1. Select **Type** as `AWS services`. +1. In **Services**, select `com.amazonaws.${AWS::Region}.ec2`. The region should match your VPC region. For instance, if your region is US East 1, select `com.amazonaws.us-east-1.ec2`. +1. In **Network settings**, select the VPC you are using for deployment. +1. Ensure that **Enable DNS** is checked to facilitate DNS resolution within the VPC. +1. In **Subnets**, select the public subnet where the endpoint will be configured. +1. In **Security groups**, select the security group to associate with the endpoint network interface. Ensure the following settings are applied to the security group:

      + + + + + + + + + + + + + + + + + +
      Inbound rules
      TypeAll TCP
      ProtocolTCP
      Port Range0 - 65535
      SourceVPC CIDR block range — allows internal VPC communication on any TCP port
      + + + + + + + + + + + + + + + + + +
      Outbound rules
      TypeAll traffic
      ProtocolAll
      Port RangeAll
      DestinationAnywhere (0.0.0.0/0) — allows all outbound traffic to any destination
      + +For detailed information on creating endpoints, see [Access an AWS service using an interface VPC endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html). + # Enhancement Request Provide suggestions for additional features or capabilities using the following link: https://www.mathworks.com/solutions/cloud.html From ec8d9286935c224541123c1370edc7bcc816466a Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Tue, 15 Apr 2025 18:21:55 -0400 Subject: [PATCH 14/19] Update README.md --- releases/R2025a/README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index 5d358ca..e46cc1d 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -16,6 +16,8 @@ The AWS Management Console opens in your web browser. >**NOTE:** Multiple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). >**NOTE:** Creating a stack on AWS can take at least 20 minutes. +### Prerequisites for existing VPC +Before deploying MATLAB Web App Server within an existing Virtual Private Cloud (VPC), you must configure the VPC to enable connectivity. For details, see [Ensure connectivity in an existing VPC](#ensure-connectivity-in-an-existing-vpc). ## Step 2. Configure the Stack 1. Provide values for parameters in the **Create Stack** page: @@ -45,10 +47,6 @@ The AWS Management Console opens in your web browser. >**Note**: If you are deploying to a new VPC, skip this step. -### Prerequisites -Before deploying MATLAB Web App Server within an existing Virtual Private Cloud (VPC), you must configure the VPC to enable connectivity. For details, see [Ensure connectivity in an existing VPC](#ensure-connectivity-in-an-existing-vpc). - -### Deploy to Existing VPC To deploy MATLAB Web App Server onto an existing VPC, select the **Existing VPC** template in [Step 1](#step-1-launch-template). In addition to the parameters listed in Step 2, you must also specify the following parameters. | Parameter | Value | @@ -199,7 +197,7 @@ If you are deploying MATLAB Web App Server to an existing VPC, you must open the | `27000` | Required for communication between the network license manager and MATLAB Web App Server. | | `3389`, `22` | Required for Remote Desktop and Secure Connection functionality. This can be used for troubleshooting and debugging MATLAB Web App Server. | - In addition, in order to allow the MATLAB Web App Server Lambda functions to access the EC2 API within an existing VPC, you must configure connectivity based on whether you choose a public or a private subnet for your deployment. + In addition, in order for Lambda functions present in the MATLAB Web App Server reference architecture to work in an existing Virtual Private Cloud (VPC), you must configure connectivity in your VPC based on whether you choose a public or a private subnet for your deployment. ### Use public NAT gateway in a private subnet If you are using an existing VPC and deploying in a private subnet, consider using a public NAT gateway to ensure that the Lambda functions can communicate within your VPC. In the context of private subnets, ensure that a public NAT Gateway is associated with a public subnet. This setup allows private subnets to leverage the NAT Gateway in their routing configurations, enabling outbound internet access while maintaining their own privacy. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the AWS documentation. From 4d8b64fe9e31f0c278a72909b8375690c5951278 Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Wed, 16 Apr 2025 12:10:13 -0400 Subject: [PATCH 15/19] Update README.md Move prerequisites to above step 1 --- releases/R2025a/README.md | 8 +++++--- releases/release-notes.md | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index e46cc1d..1c20463 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -1,7 +1,11 @@ # MATLAB Web App Server on Amazon Web Services - R2025a # Deployment Steps -Follow these steps to deploy the R2025a MATLAB Web App Server reference architecture on AWS. To deploy reference architectures for other releases, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). +Follow these steps to deploy the R2025a MATLAB Web App Server reference architecture on AWS. To deploy reference architectures for other releases, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). + +### Prerequisites +Before deploying MATLAB Web App Server within an existing Virtual Private Cloud (VPC), you must configure the VPC to enable connectivity. For details, see [Ensure connectivity in an existing VPC](#ensure-connectivity-in-an-existing-vpc). + ## Step 1. Launch Template Before launching the template, make sure that you have selected one of these supported AWS regions from the top navigation:

      • **US East (N. Virginia)**
      • **Europe (Ireland)**
      • **Asia Pacific (Tokyo)**
      @@ -16,8 +20,6 @@ The AWS Management Console opens in your web browser. >**NOTE:** Multiple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). >**NOTE:** Creating a stack on AWS can take at least 20 minutes. -### Prerequisites for existing VPC -Before deploying MATLAB Web App Server within an existing Virtual Private Cloud (VPC), you must configure the VPC to enable connectivity. For details, see [Ensure connectivity in an existing VPC](#ensure-connectivity-in-an-existing-vpc). ## Step 2. Configure the Stack 1. Provide values for parameters in the **Create Stack** page: diff --git a/releases/release-notes.md b/releases/release-notes.md index 13be877..ce1b2a8 100644 --- a/releases/release-notes.md +++ b/releases/release-notes.md @@ -3,5 +3,5 @@ ### R2025a - You can now manage Linux MATLAB Web App Server instances using the MATLAB Web App Server Admin Portal, which is a web-based interface to edit server settings, configure access control for web applications, and view server logs. For more information, see [Manage MATLAB Web App Server Using Admin Portal](https://www.mathworks.com/help/webappserver/ug/manage-matlab-web-app-server-using-admin-portal-on-aws-reference-architecture.html). - + From c3cb5a68e15b52312c9359a9c0f4f68f6c5e8856 Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Thu, 17 Apr 2025 14:35:52 -0400 Subject: [PATCH 16/19] Update README.md --- releases/R2025a/README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index 1c20463..f292ffd 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -3,7 +3,7 @@ # Deployment Steps Follow these steps to deploy the R2025a MATLAB Web App Server reference architecture on AWS. To deploy reference architectures for other releases, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). -### Prerequisites +## Prerequisites Before deploying MATLAB Web App Server within an existing Virtual Private Cloud (VPC), you must configure the VPC to enable connectivity. For details, see [Ensure connectivity in an existing VPC](#ensure-connectivity-in-an-existing-vpc). ## Step 1. Launch Template @@ -29,7 +29,7 @@ The AWS Management Console opens in your web browser. | **Stack name** | Choose a name for the stack. This will be shown in the AWS console.

      *Example*: `Boston`

      | | |**Settings for Hosting MATLAB Web App Server**| | **Name of Existing Amazon EC2 Key Pair** | Choose an existing Amazon EC2 key pair to connect to the EC2 instance hosting MATLAB Web App Server. If you do not have a key pair, create one. For details, see [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair).

      *Example*: `boston-keypair`

      | - | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this field is IP Address/Mask.

      Example: `x.x.x.x/32`

      • This is the public IP address which can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP addresses.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | + | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this field is IP Address/Mask.

      Example: `x.x.x.x/32`

      • Your public IP address can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP address.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range in the next field. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this field only if you selected **No** in the previous field. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this field is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | | **EC2 Instance Type** | Choose the AWS EC2 instance type to use for the server. All AWS instance types are supported. For more information, see [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/).

      *Example*: `m6a.large`

      | @@ -109,8 +109,8 @@ To run applications on MATLAB Web App Server, you need to create web apps using 1. Look for the key named `MATLABWebAppServerAppsS3Bucket`, and click the corresponding URL listed under value. 1. In the S3 console, click **apps**. 1. Click **Upload** > **Add Files** to select and upload web apps (`.ctf` files). ->**NOTE 1:** If you enable OIDC authentication, you can upload web apps from the apps home page. Any apps you upload via the apps home page are not synchronized with S3 bucket. To enable OIDC authentication, see [Configure OIDC Authentication](#configure-oidc-authentication). ->**NOTE 2:** Only folders created within the APPS root level folder are supported. Subfolders within those folders are not supported. +>**NOTE 1:** If you enable OIDC authentication, you can upload web apps from the apps home page. Any apps you upload via the apps home page are not synchronized with S3 bucket. To enable OIDC authentication, see [Configure OIDC Authentication](#configure-oidc-authentication).

      +>**NOTE 2:** Only folders created within the `APPS` root-level folder are supported. Subfolders within those folders are not supported. ## Get Password to EC2 Instance Hosting MATLAB Web App Server 1. In the AWS management console, select the stack you deployed. @@ -129,7 +129,7 @@ To run applications on MATLAB Web App Server, you need to create web apps using 1. Click the value under Instance ID to view the instance summary. 1. Click the **Connect** button at the top. 1. In the *Connect to instance* dialog, click the **RDP client** tab. -1. Click the **Download remote desktop file** button to download a .rdp file. +1. Click the **Download remote desktop file** button to download the .rdp file. 1. Use the .rdp file to remotely connect to EC2 instance using the following credentials: * Username: Administrator * Password: The decrypted password. For details, see [Get Password to EC2 Instance](#get-password-to-ec2-instance-hosting-matlab-web-app-server). @@ -199,13 +199,13 @@ If you are deploying MATLAB Web App Server to an existing VPC, you must open the | `27000` | Required for communication between the network license manager and MATLAB Web App Server. | | `3389`, `22` | Required for Remote Desktop and Secure Connection functionality. This can be used for troubleshooting and debugging MATLAB Web App Server. | - In addition, in order for Lambda functions present in the MATLAB Web App Server reference architecture to work in an existing Virtual Private Cloud (VPC), you must configure connectivity in your VPC based on whether you choose a public or a private subnet for your deployment. + In addition, in order for Lambda functions present in the MATLAB Web App Server reference architecture to work in an existing VPC, you must configure connectivity based on whether you choose a public or a private subnet for your deployment. -### Use public NAT gateway in a private subnet -If you are using an existing VPC and deploying in a private subnet, consider using a public NAT gateway to ensure that the Lambda functions can communicate within your VPC. In the context of private subnets, ensure that a public NAT Gateway is associated with a public subnet. This setup allows private subnets to leverage the NAT Gateway in their routing configurations, enabling outbound internet access while maintaining their own privacy. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the AWS documentation. +### Use public NAT gateway when deploying to a private subnet +If you are using an existing VPC and deploying in a private subnet, consider using a public NAT gateway associated with a public subnet. This setup allows the Lambda functions to communicate with other resources within your VPC. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the AWS documentation. -### Create interface endpoint in a public subnet -If you are using an existing VPC and deploying in a public subnet, then you must add an interface endpoint to one of the public subnets in the VPC. You can check if such an endpoint already exists by navigating to the AWS Portal, selecting **Endpoints**, and filtering by VPC ID for the VPC you are using for deployment. If no such endpoint is present, follow these steps: +### Create interface VPC endpoint when deploying to a public subnet +If you are using an existing VPC and deploying in a public subnet, then you must add an interface VPC endpoint to one of the public subnets in the VPC. You can check if such an endpoint already exists by navigating to the AWS Console, selecting **Endpoints**, and filtering by VPC ID for the VPC you are using for deployment. If no such endpoint is present, follow these steps: 1. Click **Create endpoint**. 1. Provide a name tag for the endpoint. From 188f8a18a9b77365112e0e803c7156f9ee141cef Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Fri, 18 Apr 2025 14:30:28 -0400 Subject: [PATCH 17/19] Update README.md --- releases/R2025a/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index f292ffd..61c6c59 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -202,7 +202,7 @@ If you are deploying MATLAB Web App Server to an existing VPC, you must open the In addition, in order for Lambda functions present in the MATLAB Web App Server reference architecture to work in an existing VPC, you must configure connectivity based on whether you choose a public or a private subnet for your deployment. ### Use public NAT gateway when deploying to a private subnet -If you are using an existing VPC and deploying in a private subnet, consider using a public NAT gateway associated with a public subnet. This setup allows the Lambda functions to communicate with other resources within your VPC. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the AWS documentation. +If you are using an existing VPC and deploying in a private subnet, consider using a public NAT gateway associated with a public subnet. This setup allows the Lambda functions to communicate with AWS services. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the AWS documentation. ### Create interface VPC endpoint when deploying to a public subnet If you are using an existing VPC and deploying in a public subnet, then you must add an interface VPC endpoint to one of the public subnets in the VPC. You can check if such an endpoint already exists by navigating to the AWS Console, selecting **Endpoints**, and filtering by VPC ID for the VPC you are using for deployment. If no such endpoint is present, follow these steps: @@ -210,7 +210,7 @@ If you are using an existing VPC and deploying in a public subnet, then you must 1. Click **Create endpoint**. 1. Provide a name tag for the endpoint. 1. Select **Type** as `AWS services`. -1. In **Services**, select `com.amazonaws.${AWS::Region}.ec2`. The region should match your VPC region. For instance, if your region is US East 1, select `com.amazonaws.us-east-1.ec2`. +1. In **Services**, select `com.amazonaws..ec2`. The region should match your VPC region. For instance, if your region is US East 1, select `com.amazonaws.us-east-1.ec2`. 1. In **Network settings**, select the VPC you are using for deployment. 1. Ensure that **Enable DNS** is checked to facilitate DNS resolution within the VPC. 1. In **Subnets**, select the public subnet where the endpoint will be configured. From 241f119b7b2945c15c832654f6aef70fc9a8c51c Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Wed, 23 Apr 2025 14:47:50 -0400 Subject: [PATCH 18/19] Update README.md Minor typo, formatting fixes --- releases/R2022a/README.md | 14 +++++++------- releases/R2022b/README.md | 16 ++++++++-------- releases/R2023a/README.md | 14 +++++++------- releases/R2023b/README.md | 18 +++++++++--------- releases/R2024a/README.md | 20 ++++++++++---------- releases/R2024b/README.md | 32 ++++++++++++++++---------------- releases/R2025a/README.md | 18 +++++++++--------- 7 files changed, 66 insertions(+), 66 deletions(-) diff --git a/releases/R2022a/README.md b/releases/R2022a/README.md index b68f2af..1e19ea8 100644 --- a/releases/R2022a/README.md +++ b/releases/R2022a/README.md @@ -13,7 +13,7 @@ Then, click the appropriate **Launch Stack** button to launch the stack configur The AWS Management Console opens in your web browser. ->**NOTE:** Mulitple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). +>**NOTE:** Multiple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). >**NOTE:** Creating a stack on AWS can take at least 20 minutes. > @@ -27,9 +27,9 @@ The AWS Management Console opens in your web browser. | **Stack name** | Choose a name for the stack. This will be shown in the AWS console.

      *Example*: `Boston`

      | | |**Settings for Hosting MATLAB Web App Server**| | **Name of Existing Amazon EC2 Key Pair** | Choose an existing Amazon EC2 key pair to connect to the EC2 instance hosting MATLAB Web App Server. If you do not have a key pair, create one. For details, see [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair).

      *Example*: `boston-keypair`

      | - | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this field is IP Address/Mask.The format for this field is IP Address/Mask.

      Example: `x.x.x.x/32`

      • This is the public IP address which can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP addresses.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | - | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range in the next field. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      - | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this field only if you selected **"No"** in the previous field. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this field is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | + | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this parameter is IP Address/Mask.

      Example: `x.x.x.x/32`

      • Your public IP address can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP address.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | + | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range for the next parameter. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      + | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this parameter only if you selected **No** for the previous parameter. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this parameter is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | | **ARN of SSL Certificate** | Specify the Amazon Resource Name (ARN) of the SSL certificate you uploaded to the AWS Certificate Manager. The ARN facilitates connecting to the apps home page using an HTTPS connection.

      *Example*: arn:aws:acm:us-east-1:012345678910:certificate/666abcd6-ab6c-6ab6-a666-a666666bcd66

      To retrieve an ARN:

      • Type "Certificate Manager" in the search box at the top of the web page and hit Enter. This automatically takes you to the AWS Certificate Manager.
      • Select the certificate you uploaded based on Certificate ID, or Domain name, or Name tag .
      • Copy the ARN from the "Certificate status" section at the top.

      For more information, see [Create Self-signed Certificate](#create-self-signed-certificate) and [Upload Self-signed Certificate to AWS Certificate Manager](#upload-self-signed-certificate-to-aws-certificate-manager). | **EC2 Instance Type** | Choose the AWS EC2 instance type to use for the server. All AWS instance types are supported. For more information, see [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/).

      *Example*: `m5.xlarge`

      | | **Operating System** | Choose between Windows (Windows Server) and Linux (Ubuntu). | @@ -54,7 +54,7 @@ To deploy MATLAB Web App Server onto an existing VPC, specify these additional p |----------------------------------|--------------------------------------------------------------------------------| | Existing VPC ID | ID of your existing VPC. | | IP address range of existing VPC | IP address range from the existing VPC. To find the IP address range:
      1. Log in to the AWS Console.
      2. Navigate to the VPC dashboard and select your VPC.
      3. Click the **CIDR blocks** tab.
      4. The **IPv4 CIDR Blocks** gives the IP address range.
      | -|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server". | +|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select "No", you must provide a private subnet in the parameter **Subnet for MATLAB Web App Server**. | | Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. | | Public Subnet 1 ID | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | | Public Subnet 2 ID | ID of an existing public subnet to host server resources. This subnet must be different from Public Subnet 1.| @@ -94,7 +94,7 @@ Click the **Create** button. The CloudFormation service starts creating resource ## Step 5. Upload License File 1. Click **Outputs** in the *Stack details* for your stack. 1. Look for the key named `MATLABWebAppServerLicenseManager` and click the corresponding URL listed under value. This will take you to Network License Manager for MATLAB Dashboard login page. -1. The username is **manager**. For the password, enter the password you entered in the **Password for Network License Manager** field while creating the stack in [Step 2](#step-2-configure-the-stack). +1. The username is **manager**. For the password, enter the password you entered for the **Password for Network License Manager** parameter while creating the stack in [Step 2](#step-2-configure-the-stack). 1. Follow the instructions on the home page of the network license manager to upload your MATLAB Web App Server license. >**Note:** MATLAB Web App Server automatically starts after succesfully uploading a valid license file. @@ -213,7 +213,7 @@ To delete the stack: 3. Click **Delete**. # Enhancement Request -Provide suggestions for additional features or capabilities using the following link: https://www.mathworks.com/cloud/enhancement-request.html +Provide suggestions for additional features or capabilities using the following link: https://www.mathworks.com/solutions/cloud.html # Technical Support If you require assistance or have a request for additional features or capabilities, please contact [MathWorks Technical Support](https://www.mathworks.com/support/contact_us.html). diff --git a/releases/R2022b/README.md b/releases/R2022b/README.md index 8dd546a..3060d25 100644 --- a/releases/R2022b/README.md +++ b/releases/R2022b/README.md @@ -13,7 +13,7 @@ Then, click the appropriate **Launch Stack** button to launch the stack configur The AWS Management Console opens in your web browser. ->**NOTE:** Mulitple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). +>**NOTE:** Multiple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). >**NOTE:** Creating a stack on AWS can take at least 20 minutes. > @@ -27,9 +27,9 @@ The AWS Management Console opens in your web browser. | **Stack name** | Choose a name for the stack. This will be shown in the AWS console.

      *Example*: `Boston`

      | | |**Settings for Hosting MATLAB Web App Server**| | **Name of Existing Amazon EC2 Key Pair** | Choose an existing Amazon EC2 key pair to connect to the EC2 instance hosting MATLAB Web App Server. If you do not have a key pair, create one. For details, see [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair).

      *Example*: `boston-keypair`

      | - | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this field is IP Address/Mask.The format for this field is IP Address/Mask.

      Example: `x.x.x.x/32`

      • This is the public IP address which can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP addresses.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | - | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range in the next field. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      - | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this field only if you selected **"No"** in the previous field. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this field is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | + | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this parameter is IP Address/Mask.

      Example: `x.x.x.x/32`

      • Your public IP address can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP address.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | + | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range for the next parameter. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      + | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this parameter only if you selected **No** for the previous parameter. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this parameter is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | | **ARN of SSL Certificate** | Specify the Amazon Resource Name (ARN) of the SSL certificate you uploaded to the AWS Certificate Manager. The ARN facilitates connecting to the apps home page using an HTTPS connection.

      *Example*: arn:aws:acm:us-east-1:012345678910:certificate/666abcd6-ab6c-6ab6-a666-a666666bcd66

      To retrieve an ARN:

      • Type "Certificate Manager" in the search box at the top of the web page and hit Enter. This automatically takes you to the AWS Certificate Manager.
      • Select the certificate you uploaded based on Certificate ID, or Domain name, or Name tag .
      • Copy the ARN from the "Certificate status" section at the top.

      For more information, see [Create Self-signed Certificate](#create-self-signed-certificate) and [Upload Self-signed Certificate to AWS Certificate Manager](#upload-self-signed-certificate-to-aws-certificate-manager). | **EC2 Instance Type** | Choose the AWS EC2 instance type to use for the server. All AWS instance types are supported. For more information, see [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/).

      *Example*: `m5.xlarge`

      | | **Operating System** | Choose between Windows (Windows Server) and Linux (Ubuntu). | @@ -54,7 +54,7 @@ To deploy MATLAB Web App Server onto an existing VPC, specify these additional p |----------------------------------|--------------------------------------------------------------------------------| | Existing VPC ID | ID of your existing VPC. | | IP address range of existing VPC | IP address range from the existing VPC. To find the IP address range:
      1. Log in to the AWS Console.
      2. Navigate to the VPC dashboard and select your VPC.
      3. Click the **CIDR blocks** tab.
      4. The **IPv4 CIDR Blocks** gives the IP address range.
      | -|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server". | +|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select "No", you must provide a private subnet in the parameter **Subnet for MATLAB Web App Server**. | | Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. | | Public Subnet 1 ID | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | | Public Subnet 2 ID | ID of an existing public subnet to host server resources. This subnet must be different from Public Subnet 1.| @@ -69,7 +69,7 @@ You will also need to open the following ports in your VPC: | `3389`, `22` | Required for Remote Desktop and Secure Connection functionality. This can be used for troubleshooting and debugging MATLAB Web App Server. | ### Use an existing network license manager in an existing VPC -If you want to use an exisiting network license manager: +If you want to use an existing network license manager: - Choose `No` for the *Deploy Network License Manager* step of the deployment. - Specify the IP address of the existing network license manager in the `IP Address of Existing Network License Manager` step of the deployment. @@ -95,7 +95,7 @@ Click the **Create** button. The CloudFormation service starts creating resource ## Step 5. Upload License File 1. Click **Outputs** in the *Stack details* for your stack. 1. Look for the key named `MATLABWebAppServerLicenseManager` and click the corresponding URL listed under value. This will take you to Network License Manager for MATLAB Dashboard login page. -1. The username is **manager**. For the password, enter the password you entered in the **Password for Network License Manager** field while creating the stack in [Step 2](#step-2-configure-the-stack). +1. The username is **manager**. For the password, enter the password you entered for the **Password for Network License Manager** parameter while creating the stack in [Step 2](#step-2-configure-the-stack). 1. Follow the instructions on the home page of the network license manager to upload your MATLAB Web App Server license. >**Note:** MATLAB Web App Server automatically starts after succesfully uploading a valid license file. @@ -214,7 +214,7 @@ To delete the stack: 3. Click **Delete**. # Enhancement Request -Provide suggestions for additional features or capabilities using the following link: https://www.mathworks.com/cloud/enhancement-request.html +Provide suggestions for additional features or capabilities using the following link: https://www.mathworks.com/solutions/cloud.html # Technical Support If you require assistance or have a request for additional features or capabilities, please contact [MathWorks Technical Support](https://www.mathworks.com/support/contact_us.html). diff --git a/releases/R2023a/README.md b/releases/R2023a/README.md index 9e7d5f2..38b881a 100644 --- a/releases/R2023a/README.md +++ b/releases/R2023a/README.md @@ -13,7 +13,7 @@ Then, click the appropriate **Launch Stack** button to launch the stack configur The AWS Management Console opens in your web browser. ->**NOTE:** Mulitple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). +>**NOTE:** Multiple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). >**NOTE:** Creating a stack on AWS can take at least 20 minutes. > @@ -27,9 +27,9 @@ The AWS Management Console opens in your web browser. | **Stack name** | Choose a name for the stack. This will be shown in the AWS console.

      *Example*: `Boston`

      | | |**Settings for Hosting MATLAB Web App Server**| | **Name of Existing Amazon EC2 Key Pair** | Choose an existing Amazon EC2 key pair to connect to the EC2 instance hosting MATLAB Web App Server. If you do not have a key pair, create one. For details, see [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair).

      *Example*: `boston-keypair`

      | - | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this field is IP Address/Mask.The format for this field is IP Address/Mask.

      Example: `x.x.x.x/32`

      • This is the public IP address which can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP addresses.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | - | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range in the next field. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      - | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this field only if you selected **"No"** in the previous field. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this field is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | + | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this parameter is IP Address/Mask.

      Example: `x.x.x.x/32`

      • Your public IP address can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP address.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | + | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range for the next parameter. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      + | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this parameter only if you selected **No** for the previous parameter. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this parameter is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | | **ARN of SSL Certificate** | Specify the Amazon Resource Name (ARN) of the SSL certificate you uploaded to the AWS Certificate Manager. The ARN facilitates connecting to the apps home page using an HTTPS connection.

      *Example*: arn:aws:acm:us-east-1:012345678910:certificate/666abcd6-ab6c-6ab6-a666-a666666bcd66

      To retrieve an ARN:

      • Type "Certificate Manager" in the search box at the top of the web page and hit Enter. This automatically takes you to the AWS Certificate Manager.
      • Select the certificate you uploaded based on Certificate ID, or Domain name, or Name tag .
      • Copy the ARN from the "Certificate status" section at the top.

      For more information, see [Create Self-signed Certificate](#create-self-signed-certificate) and [Upload Self-signed Certificate to AWS Certificate Manager](#upload-self-signed-certificate-to-aws-certificate-manager). | **EC2 Instance Type** | Choose the AWS EC2 instance type to use for the server. All AWS instance types are supported. For more information, see [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/).

      *Example*: `m5.xlarge`

      | | **Operating System** | Choose between Windows (Windows Server) and Linux (Ubuntu). | @@ -54,7 +54,7 @@ To deploy MATLAB Web App Server onto an existing VPC, specify these additional p |----------------------------------|--------------------------------------------------------------------------------| | Existing VPC ID | ID of your existing VPC. | | IP address range of existing VPC | IP address range from the existing VPC. To find the IP address range:
      1. Log in to the AWS Console.
      2. Navigate to the VPC dashboard and select your VPC.
      3. Click the **CIDR blocks** tab.
      4. The **IPv4 CIDR Blocks** gives the IP address range.
      | -|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server".

      **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | +|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select "No", you must provide a private subnet in the parameter **Subnet for MATLAB Web App Server**.

      **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | | Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. | | Public Subnet 1 ID | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | | Public Subnet 2 ID | ID of an existing public subnet to host server resources. This subnet must be different from Public Subnet 1.| @@ -93,7 +93,7 @@ Click the **Create** button. The CloudFormation service starts creating resource ## Step 5. Upload License File 1. Click **Outputs** in the *Stack details* for your stack. 1. Look for the key named `MATLABWebAppServerLicenseManager` and click the corresponding URL listed under value. This will take you to Network License Manager for MATLAB Dashboard login page. -1. The username is **manager**. For the password, enter the password you entered in the **Password for Network License Manager** field while creating the stack in [Step 2](#step-2-configure-the-stack). +1. The username is **manager**. For the password, enter the password you entered for the **Password for Network License Manager** parameter while creating the stack in [Step 2](#step-2-configure-the-stack). 1. Follow the instructions on the home page of the network license manager to upload your MATLAB Web App Server license. >**Note:** MATLAB Web App Server automatically starts after succesfully uploading a valid license file. @@ -212,7 +212,7 @@ To delete the stack: 3. Click **Delete**. # Enhancement Request -Provide suggestions for additional features or capabilities using the following link: https://www.mathworks.com/cloud/enhancement-request.html +Provide suggestions for additional features or capabilities using the following link: https://www.mathworks.com/solutions/cloud.html # Technical Support If you require assistance or have a request for additional features or capabilities, please contact [MathWorks Technical Support](https://www.mathworks.com/support/contact_us.html). diff --git a/releases/R2023b/README.md b/releases/R2023b/README.md index 6952604..8e54fd1 100644 --- a/releases/R2023b/README.md +++ b/releases/R2023b/README.md @@ -13,7 +13,7 @@ Then, click the appropriate **Launch Stack** button to launch the stack configur The AWS Management Console opens in your web browser. ->**NOTE:** Mulitple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). +>**NOTE:** Multiple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). >**NOTE:** Creating a stack on AWS can take at least 20 minutes. > @@ -27,9 +27,9 @@ The AWS Management Console opens in your web browser. | **Stack name** | Choose a name for the stack. This will be shown in the AWS console.

      *Example*: `Boston`

      | | |**Settings for Hosting MATLAB Web App Server**| | **Name of Existing Amazon EC2 Key Pair** | Choose an existing Amazon EC2 key pair to connect to the EC2 instance hosting MATLAB Web App Server. If you do not have a key pair, create one. For details, see [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair).

      *Example*: `boston-keypair`

      | - | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this field is IP Address/Mask.The format for this field is IP Address/Mask.

      Example: `x.x.x.x/32`

      • This is the public IP address which can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP addresses.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | - | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range in the next field. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      - | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this field only if you selected **"No"** in the previous field. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this field is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | + | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this parameter is IP Address/Mask.

      Example: `x.x.x.x/32`

      • Your public IP address can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP address.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | + | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range for the next parameter. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      + | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this parameter only if you selected **No** for the previous parameter. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this parameter is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | | **ARN of SSL Certificate** | Specify the Amazon Resource Name (ARN) of the SSL certificate you uploaded to the AWS Certificate Manager. The ARN facilitates connecting to the apps home page using an HTTPS connection.

      *Example*: arn:aws:acm:us-east-1:012345678910:certificate/666abcd6-ab6c-6ab6-a666-a666666bcd66

      To retrieve an ARN:

      • Type "Certificate Manager" in the search box at the top of the web page and hit Enter. This automatically takes you to the AWS Certificate Manager.
      • Select the certificate you uploaded based on Certificate ID, or Domain name, or Name tag .
      • Copy the ARN from the "Certificate status" section at the top.

      For more information, see [Create Self-signed Certificate](#create-self-signed-certificate) and [Upload Self-signed Certificate to AWS Certificate Manager](#upload-self-signed-certificate-to-aws-certificate-manager). | **EC2 Instance Type** | Choose the AWS EC2 instance type to use for the server. All AWS instance types are supported. For more information, see [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/).

      *Example*: `m6a.large`

      | | **Operating System** | Choose between Windows (Windows Server) and Linux (Ubuntu). | @@ -53,13 +53,13 @@ To deploy MATLAB Web App Server onto an existing VPC, specify these additional p | Parameter | Value | |----------------------------------|--------------------------------------------------------------------------------| | Existing VPC ID | ID of your existing VPC. | -|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server".

      **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | +|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select "No", you must provide a private subnet in the parameter **Subnet for MATLAB Web App Server**.

      **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | | Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. | | Public Subnet 1 ID | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | | Public Subnet 2 ID | ID of an existing public subnet to host server resources. This subnet must be different from Public Subnet 1.| ||**Settings for Network License Manager**| - | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this field blank if you are deploying a new network license manager. | - | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. Leave this field blank if you are deploying a new network license manager. | + | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this parameter blank if you are deploying a new network license manager. | + | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. Leave this parameter blank if you are deploying a new network license manager. | You will also need to open the following ports in your VPC: @@ -95,7 +95,7 @@ Click the **Create** button. The CloudFormation service starts creating resource ## Step 5. Upload License File 1. Click **Outputs** in the *Stack details* for your stack. 1. Look for the key named `MATLABWebAppServerLicenseManager` and click the corresponding URL listed under value. This will take you to Network License Manager for MATLAB Dashboard login page. -1. The username is **manager**. For the password, enter the password you entered in the **Password for Network License Manager** field while creating the stack in [Step 2](#step-2-configure-the-stack). +1. The username is **manager**. For the password, enter the password you entered for the **Password for Network License Manager** parameter while creating the stack in [Step 2](#step-2-configure-the-stack). 1. Follow the instructions on the home page of the network license manager to upload your MATLAB Web App Server license. >**Note:** MATLAB Web App Server automatically starts after succesfully uploading a valid license file. @@ -185,7 +185,7 @@ For information on creating a self-signed certificate, see [Create and Sign an X 7. Review the settings and click the **Import** button. 8. Copy the value of the Amazon Resource Name (ARN) field from the **Details** section of the certificate. -The ARN value that you copied should be pasted into the **ARN of SSL Certificate** parameter of the template in [Step 2](#step-2-configure-the-stack). +The ARN value that you copied should be pasted into the **ARN of SSL Certificate** field of the template in [Step 2](#step-2-configure-the-stack). ## View Logs Logs are available in AWS CloudWatch. diff --git a/releases/R2024a/README.md b/releases/R2024a/README.md index 52f0105..e3ec762 100644 --- a/releases/R2024a/README.md +++ b/releases/R2024a/README.md @@ -13,7 +13,7 @@ Then, click the appropriate **Launch Stack** button to launch the stack configur The AWS Management Console opens in your web browser. ->**NOTE:** Mulitple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). +>**NOTE:** Multiple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). >**NOTE:** Creating a stack on AWS can take at least 20 minutes. > @@ -27,9 +27,9 @@ The AWS Management Console opens in your web browser. | **Stack name** | Choose a name for the stack. This will be shown in the AWS console.

      *Example*: `Boston`

      | | |**Settings for Hosting MATLAB Web App Server**| | **Name of Existing Amazon EC2 Key Pair** | Choose an existing Amazon EC2 key pair to connect to the EC2 instance hosting MATLAB Web App Server. If you do not have a key pair, create one. For details, see [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair).

      *Example*: `boston-keypair`

      | - | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this field is IP Address/Mask.

      Example: `x.x.x.x/32`

      • This is the public IP address which can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP addresses.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | - | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range in the next field. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      - | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this field only if you selected **"No"** in the previous field. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this field is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | + | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this parameter is IP Address/Mask.

      Example: `x.x.x.x/32`

      • Your public IP address can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP address.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | + | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range for the next parameter. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      + | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this parameter only if you selected **No** for the previous parameter. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this parameter is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | | **EC2 Instance Type** | Choose the AWS EC2 instance type to use for the server. All AWS instance types are supported. For more information, see [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/).

      *Example*: `m6a.large`

      | | **Operating System** | Choose between Windows (Windows Server) and Linux (Ubuntu). | ||**Settings for Network License Manager**| @@ -52,12 +52,12 @@ To deploy MATLAB Web App Server onto an existing VPC, specify these additional p | Parameter | Value | |----------------------------------|--------------------------------------------------------------------------------| | Existing VPC ID | ID of your existing VPC. | -|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server".

      **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | -| Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected "Yes" in the previous field for assigning a public IP, choose a public subnet. Otherwise, choose a private subnet. | +|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select "No", you must provide a private subnet in the parameter **Subnet for MATLAB Web App Server**.

      **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | +| Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected `Yes` in the previous parameter for assigning a public IP, choose a public subnet. Otherwise, choose a private subnet. | | Public Subnet 1 | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | ||**Settings for Network License Manager**| - | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this field blank if you are deploying a new network license manager. | - | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. Leave this field blank if you are deploying a new network license manager. If you have an existing license manager and leave this blank, you must add the security group manually using the instructions in [Use an existing network license manager in an existing VPC](#use-an-existing-network-license-manager-in-an-existing-vpc).| + | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this parameter blank if you are deploying a new network license manager. | + | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. Leave this parameter blank if you are deploying a new network license manager. If you have an existing license manager and leave this blank, you must add the security group manually using the instructions in [Use an existing network license manager in an existing VPC](#use-an-existing-network-license-manager-in-an-existing-vpc).| You will also need to open the following ports in your VPC: @@ -75,7 +75,7 @@ If you want to use an existing network license manager in an existing VPC: - Choose `No` for the *Deploy Network License Manager* step of the deployment. - Specify the IP address of the existing network license manager in the `IP Address of Existing Network License Manager` step of the deployment. You can find the private IP address in the *Outputs* tab of the existing network license manager deployment. #### Add security group of the server VMs to the security group of the license manager -If you did not supply a security group in the field **Security Group of Existing Network License Manager** at the time of deployment, you must add the security group of the server VMs to the security group of the license manager. +If you did not supply a security group in the parameter **Security Group of Existing Network License Manager** at the time of deployment, you must add the security group of the server VMs to the security group of the license manager. 1. In the AWS management console, select the external security group that is nested in the network license manager stack you created. If it is not present in the stack list, ensure the **View nested** option is enabled.

      For example: `mluser-nlm-MWSecurityGroupExternal-8JJX66NUZDD8`

      1. In the *Stack details* for the external security group stack, click **Resources**. 1. Look for the **Logical ID** named ```SecurityGroup``` and click the corresponding URL listed under **Physical ID**. This will take you to the security group details. @@ -94,7 +94,7 @@ Click the **Create** button. The CloudFormation service starts creating resource ## Step 5. Upload License File 1. Click **Outputs** in the *Stack details* for your stack. 1. Look for the key named `MATLABWebAppServerLicenseManager` and click the corresponding URL listed under value. This will take you to Network License Manager for MATLAB Dashboard login page. -1. The username is **manager**. For the password, enter the password you entered in the **Password for Network License Manager** field while creating the stack in [Step 2](#step-2-configure-the-stack). +1. The username is **manager**. For the password, enter the password you entered for the **Password for Network License Manager** parameter while creating the stack in [Step 2](#step-2-configure-the-stack). 1. Follow the instructions on the home page of the network license manager to upload your MATLAB Web App Server license. >**Note:** MATLAB Web App Server automatically starts after succesfully uploading a valid license file. diff --git a/releases/R2024b/README.md b/releases/R2024b/README.md index fe245f5..19b30ce 100644 --- a/releases/R2024b/README.md +++ b/releases/R2024b/README.md @@ -13,7 +13,7 @@ Then, click the appropriate **Launch Stack** button to launch the stack configur The AWS Management Console opens in your web browser. ->**NOTE:** Mulitple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). +>**NOTE:** Multiple versions of MATLAB Runtime are supported. For details, see [Deploy Reference Architecture for Your Release](/README.md#deploy-reference-architecture-for-your-release). >**NOTE:** Creating a stack on AWS can take at least 20 minutes. @@ -26,9 +26,9 @@ The AWS Management Console opens in your web browser. | **Stack name** | Choose a name for the stack. This will be shown in the AWS console.

      *Example*: `Boston`

      | | |**Settings for Hosting MATLAB Web App Server**| | **Name of Existing Amazon EC2 Key Pair** | Choose an existing Amazon EC2 key pair to connect to the EC2 instance hosting MATLAB Web App Server. If you do not have a key pair, create one. For details, see [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair).

      *Example*: `boston-keypair`

      | - | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this field is IP Address/Mask.

      Example: `x.x.x.x/32`

      • This is the public IP address which can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP addresses.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | - | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range in the next field. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      - | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this field only if you selected **"No"** in the previous field. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this field is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | + | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this parameter is IP Address/Mask.

      Example: `x.x.x.x/32`

      • Your public IP address can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP address.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | + | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range for the next parameter. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      + | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this parameter only if you selected **No** for the previous parameter. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this parameter is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | | **EC2 Instance Type** | Choose the AWS EC2 instance type to use for the server. All AWS instance types are supported. For more information, see [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/).

      *Example*: `m6a.large`

      | | **Operating System** | Choose between Windows (Windows Server) and Linux (Ubuntu). | ||**Settings for Network License Manager**| @@ -46,17 +46,17 @@ The AWS Management Console opens in your web browser. >**Note**: If you are deploying to a new VPC, skip this step. -To deploy MATLAB Web App Server onto an existing VPC, specify these additional parameters. +To deploy MATLAB Web App Server onto an existing VPC, select the **Existing VPC** template in [Step 1](#step-1-launch-template). In addition to the parameters listed in Step 2, you must also specify the following parameters. | Parameter | Value | |----------------------------------|--------------------------------------------------------------------------------| | Existing VPC ID | ID of your existing VPC. | -|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select "No", you must provide a private subnet in the field "Subnet for MATLAB Web App Server".

      **Note:** Even after you select "No", your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | -| Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected "Yes" in the previous field for assigning a public IP, choose a public subnet. Otherwise, choose a private subnet. | +|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether the deployed EC2 instance must use a public IP address. If you select `No`, you must provide a private subnet for the parameter `Subnet for MATLAB Web App Server`.

      **Note:** Even after you select `No`, your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      | +| Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected `Yes` for the previous parameter for assigning a public IP, choose a public subnet. Otherwise, choose a private subnet. | | Public Subnet 1 | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | ||**Settings for Network License Manager**| - | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this field blank if you are deploying a new network license manager. | - | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. Leave this field blank if you are deploying a new network license manager. If you have an existing license manager and leave this blank, you must add the security group manually using the instructions in [Use an existing network license manager in an existing VPC](#use-an-existing-network-license-manager-in-an-existing-vpc).| + | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this parameter blank if you are deploying a new network license manager. | + | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. Leave this parameter blank if you are deploying a new network license manager. If you have an existing license manager and leave this blank, you must add the security group manually using the instructions in [Use an existing network license manager in an existing VPC](#use-an-existing-network-license-manager-in-an-existing-vpc).| You will also need to open the following ports in your VPC: @@ -74,7 +74,7 @@ If you want to use an existing network license manager in an existing VPC: - Choose `No` for the *Deploy Network License Manager* step of the deployment. - Specify the IP address of the existing network license manager in the `IP Address of Existing Network License Manager` step of the deployment. You can find the private IP address in the *Outputs* tab of the existing network license manager deployment. #### Add security group of the server VMs to the security group of the license manager -If you did not supply a security group in the field **Security Group of Existing Network License Manager** at the time of deployment, you must add the security group of the server VMs to the security group of the license manager. +If you did not supply a security group in the parameter **Security Group of Existing Network License Manager** at the time of deployment, you must add the security group of the server VMs to the security group of the license manager. 1. In the AWS management console, select the external security group that is nested in the network license manager stack you created. If it is not present in the stack list, ensure the **View nested** option is enabled.

      For example: `mluser-nlm-MWSecurityGroupExternal-8JJX66NUZDD8`

      1. In the *Stack details* for the external security group stack, click **Resources**. 1. Look for the **Logical ID** named ```SecurityGroup``` and click the corresponding URL listed under **Physical ID**. This will take you to the security group details. @@ -92,11 +92,11 @@ Click the **Create** button. The CloudFormation service starts creating resource ## Step 5. Upload License File 1. Click **Outputs** in the *Stack details* for your stack. -1. Look for the key named `MATLABWebAppServerLicenseManager` and click the corresponding URL listed under value. This will take you to Network License Manager for MATLAB Dashboard login page. -1. The username is **manager**. For the password, enter the password you entered in the **Password for Network License Manager** field while creating the stack in [Step 2](#step-2-configure-the-stack). +1. Look for the key named `MATLABWebAppServerLicenseManager` and click the corresponding URL listed under value. This opens the Network License Manager for MATLAB Dashboard login page. +1. The username is **manager**. For the password, enter the password you entered for the **Password for Network License Manager** parameter while creating the stack in [Step 2](#step-2-configure-the-stack). 1. Follow the instructions on the home page of the network license manager to upload your MATLAB Web App Server license. ->**Note:** MATLAB Web App Server automatically starts after succesfully uploading a valid license file. +>**Note:** MATLAB Web App Server automatically starts after successfully uploading a valid license file. ## Step 6. Open the MATLAB Web App Server Apps Home Page @@ -115,8 +115,8 @@ To run applications on MATLAB Web App Server, you need to create web apps using 1. Look for the key named `MATLABWebAppServerAppsS3Bucket`, and click the corresponding URL listed under value. 1. In the S3 console, click **apps**. 1. Click **Upload** > **Add Files** to select and upload web apps (`.ctf` files). ->**NOTE 1:** If you enable OIDC authentication, you can upload web apps from the apps home page. Any apps you upload via the apps home page are not synchornized with S3 bucket. To enable OIDC authentication, see [Configure OIDC Authentication](#configure-oidc-authentication). ->**NOTE 2:** Only folders created within the APPS root level folder are supported. Subfolders within those folders are not supported. +>**NOTE 1:** If you enable OIDC authentication, you can upload web apps from the apps home page. Any apps you upload via the apps home page are not synchronized with S3 bucket. To enable OIDC authentication, see [Configure OIDC Authentication](#configure-oidc-authentication).

      +>**NOTE 2:** Only folders created within the `APPS` root-level folder are supported. Subfolders within those folders are not supported. ## Get Password to EC2 Instance Hosting MATLAB Web App Server 1. In the AWS management console, select the stack you deployed. @@ -135,7 +135,7 @@ To run applications on MATLAB Web App Server, you need to create web apps using 1. Click the value under Instance ID to view the instance summary. 1. Click the **Connect** button at the top. 1. In the *Connect to instance* dialog, click the **RDP client** tab. -1. Click the **Download remote desktop file** button to download a .rdp file. +1. Click the **Download remote desktop file** button to download the .rdp file. 1. Use the .rdp file to remotely connect to EC2 instance using the following credentials: * Username: Administrator * Password: The decrypted password. For details, see [Get Password to EC2 Instance](#get-password-to-ec2-instance-hosting-matlab-web-app-server). diff --git a/releases/R2025a/README.md b/releases/R2025a/README.md index 61c6c59..377c18e 100644 --- a/releases/R2025a/README.md +++ b/releases/R2025a/README.md @@ -29,9 +29,9 @@ The AWS Management Console opens in your web browser. | **Stack name** | Choose a name for the stack. This will be shown in the AWS console.

      *Example*: `Boston`

      | | |**Settings for Hosting MATLAB Web App Server**| | **Name of Existing Amazon EC2 Key Pair** | Choose an existing Amazon EC2 key pair to connect to the EC2 instance hosting MATLAB Web App Server. If you do not have a key pair, create one. For details, see [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair).

      *Example*: `boston-keypair`

      | - | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this field is IP Address/Mask.

      Example: `x.x.x.x/32`

      • Your public IP address can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP address.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | - | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range in the next field. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      - | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this field only if you selected **No** in the previous field. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this field is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | + | **IP Address of MATLAB Web App Server Administrator in CIDR Notation** | Specify the IP address of the administrator using CIDR notation. The administrator can remotely connect to the EC2 instance that hosts MATLAB Web App Server and administer it. The IP address can be a single IP address or a range of IP addresses. The format for this parameter is IP Address/Mask.

      Example: `x.x.x.x/32`

      • Your public IP address can be found by searching for **"what is my ip address"** on the web. The mask determines the number of IP addresses to include.
      • A mask of 32 is a single IP address.
      • Use a [CIDR calculator](https://www.ipaddressguide.com/cidr) if you need a range of more than one IP address.
      • You may need to contact your IT administrator to determine which address is appropriate.
      **NOTE:** Restricting access to the server using an IP address is not a form of authentication. MATLAB Web App Server supports authentication using LDAP and OIDC. For details, see [Authentication](https://www.mathworks.com/help/webappserver/ug/authentication.html).

      | + | **Do You Want to Use the Same IP Address Range to Access the MATLAB Web App Server Apps Home Page?**| Select, **Yes** or **No**.
      • If you select **Yes**, the same IP address range specified above is configured to access the MATLAB Web App Server apps homepage. Choose this option if you know that the same set of users will administer the server and access web apps on the apps home page.
      • If you select **No**, you must specify a new IP address range for the next parameter. Choose this option if the users accessing web apps on the apps home page are different from the users administering the server.
      + | **IP Addresses Allowed to Access MATLAB Web App Server Apps Home Page** | Complete this parameter only if you selected **No** for the previous parameter. Specify the range of IP addresses that can access the MATLAB Web App Server apps home page in CIDR notation. The format for this parameter is IP Address/Mask.

      *Example*: `x.x.x.x/24`

      | | **EC2 Instance Type** | Choose the AWS EC2 instance type to use for the server. All AWS instance types are supported. For more information, see [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/).

      *Example*: `m6a.large`

      | | **Operating System** | Choose between Windows (Windows Server) and Linux (Ubuntu). | ||**Settings for Network License Manager**| @@ -54,12 +54,12 @@ To deploy MATLAB Web App Server onto an existing VPC, select the **Existing VPC* | Parameter | Value | |----------------------------------|--------------------------------------------------------------------------------| | Existing VPC ID | ID of your existing VPC. | -|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether to assign a public IP address to the deployed EC2 instance. If you are deploying a new network license manager, the network license manager will be assigned the same type of IP address as the EC2 instance.
      • If you select `Yes`, you must provide a public subnet in the field **Subnet for MATLAB Web App Server**.
      • If you select `No`, you must provide a private subnet in the field **Subnet for MATLAB Web App Server**.

        Even if you select `No`, your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      **Note:** You may need to configure an endpoint or public NAT gateway to ensure MATLAB Web App Server can access AWS services. For details, see [Ensure connectivity in an existing VPC](#ensure-connectivity-in-an-existing-vpc).

      | -| Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected `Yes` in the previous field for assigning a public IP, choose a public subnet. Otherwise, choose a private subnet. | +|Assign Public IP to EC2 Instance Hosting MATLAB Web App Server | Specify whether to assign a public IP address to the deployed EC2 instance. If you are deploying a new network license manager, the network license manager will be assigned the same type of IP address as the EC2 instance.
      • If you select `Yes`, you must provide a public subnet in the parameter **Subnet for MATLAB Web App Server**.
      • If you select `No`, you must provide a private subnet for the parameter **Subnet for MATLAB Web App Server**.

        Even if you select `No`, your MATLAB Web App Server apps home page is still accessible over the Internet. However, you cannot remotely connect to the EC2 instance hosting the server from outside the VPC.

      **Note:** You may need to configure an endpoint or public NAT gateway to ensure MATLAB Web App Server can access AWS services. For details, see [Ensure connectivity in an existing VPC](#ensure-connectivity-in-an-existing-vpc).

      | +| Subnet for MATLAB Web App Server | Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected `Yes` for the previous parameter for assigning a public IP, choose a public subnet. Otherwise, choose a private subnet. | | Public Subnet 1 | ID of an existing public subnet to host server resources. This subnet can be the same as the one hosting MATLAB Web App Server, as long as the subnet hosting the server is public. If the subnet hosting the server is private, then this subnet must be a different public subnet. | ||**Settings for Network License Manager**| - | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this field blank if you are deploying a new network license manager. | - | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. If you have an existing license manager and leave this blank, you must add the security group manually using the instructions in [Use an existing network license manager in an existing VPC](#use-an-existing-network-license-manager-in-an-existing-vpc). Leave this field blank if you are deploying a new network license manager.| + | Port and IP Address of Existing Network License Manager | Optional parameter: Specify the port number and private DNS name or private IP address of the network license manager that has already been deployed to the existing VPC. Specify it in the format port@privateDNSname, for example, `27000@ip-172-30-1-89.ec2.internal` or `27000@172.30.1.89`. By default, the license manager uses port 27000. Leave this parameter blank if you are deploying a new network license manager. | + | Security Group of Existing Network License Manager | Optional parameter: Specify the security group of the network license manager that has already been deployed to the existing VPC. If you have an existing license manager and leave this parameter blank, you must add the security group manually using the instructions in [Use an existing network license manager in an existing VPC](#use-an-existing-network-license-manager-in-an-existing-vpc). Leave this parameter blank if you are deploying a new network license manager.| ### Use an existing network license manager in an existing VPC For complete instructions on deploying the Network License Manager for MATLAB reference architecture, see [Network License Manager for MATLAB on Amazon Web Services](https://github.com/mathworks-ref-arch/license-manager-for-matlab-on-aws). @@ -68,7 +68,7 @@ If you want to use an existing network license manager in an existing VPC: - Choose `No` for the *Deploy Network License Manager* step of the deployment. - Specify the IP address of the existing network license manager in the `IP Address of Existing Network License Manager` step of the deployment. You can find the private IP address in the *Outputs* tab of the existing network license manager deployment. #### Add security group of the server VMs to the security group of the license manager -If you did not supply a security group in the field **Security Group of Existing Network License Manager** at the time of deployment, you must add the security group of the server VMs to the security group of the license manager. +If you did not supply a security group in the parameter **Security Group of Existing Network License Manager** at the time of deployment, you must add the security group of the server VMs to the security group of the license manager. 1. In the AWS management console, select the external security group that is nested in the network license manager stack you created. If it is not present in the stack list, ensure the **View nested** option is enabled.

      For example: `mluser-nlm-MWSecurityGroupExternal-8JJX66NUZDD8`

      1. In the *Stack details* for the external security group stack, click **Resources**. 1. Look for the **Logical ID** named ```SecurityGroup``` and click the corresponding URL listed under **Physical ID**. This will take you to the security group details. @@ -87,7 +87,7 @@ Click the **Create** button. The CloudFormation service starts creating resource ## Step 5. Upload License File 1. Click **Outputs** in the *Stack details* for your stack. 1. Look for the key named `MATLABWebAppServerLicenseManager` and click the corresponding URL listed under value. This opens the Network License Manager for MATLAB Dashboard login page. -1. The username is **manager**. For the password, enter the password you entered in the **Password for Network License Manager** field while creating the stack in [Step 2](#step-2-configure-the-stack). +1. The username is **manager**. For the password, enter the password you entered for the **Password for Network License Manager** parameter while creating the stack in [Step 2](#step-2-configure-the-stack). 1. Follow the instructions on the home page of the network license manager to upload your MATLAB Web App Server license. >**Note:** MATLAB Web App Server automatically starts after successfully uploading a valid license file. From a41c54264fa843565fa728e103c60675d9b8f185 Mon Sep 17 00:00:00 2001 From: Chris Roper Date: Fri, 25 Apr 2025 15:51:41 -0400 Subject: [PATCH 19/19] Update release-notes.md --- releases/release-notes.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/releases/release-notes.md b/releases/release-notes.md index ce1b2a8..cdba236 100644 --- a/releases/release-notes.md +++ b/releases/release-notes.md @@ -1,7 +1,4 @@ ## Release Notes for MATLAB Web App Server on Amazon Web Services ### R2025a - -- You can now manage Linux MATLAB Web App Server instances using the MATLAB Web App Server Admin Portal, which is a web-based interface to edit server settings, configure access control for web applications, and view server logs. For more information, see [Manage MATLAB Web App Server Using Admin Portal](https://www.mathworks.com/help/webappserver/ug/manage-matlab-web-app-server-using-admin-portal-on-aws-reference-architecture.html). - - +- You can now deploy MATLAB Web App Server R2025a using the Amazon Web Services reference architecture. \ No newline at end of file