diff --git a/README.md b/README.md
index 384054f..87f1db5 100644
--- a/README.md
+++ b/README.md
@@ -15,12 +15,12 @@ You are responsible for the cost of the AWS services used when you create cloud
# Introduction
Use this guide to automate running MATLAB Web App Server on the Amazon Web Services (AWS) Cloud using an AWS CloudFormation template. The template is a YAML file that defines the resources required to deploy and manage MATLAB Web App Server on AWS. For information about AWS templates, see [AWS CloudFormation Templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html).
-The default MATLAB Web App Server deployment template uses the Network License Manager for MATLAB reference architecture to manage MATLAB Web App Server licenses. The template for using an exisitng VPC for the deployment provides an option to either deploy the Network License Manager or use your own license server. For more information about 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).
+The default MATLAB Web App Server deployment template uses the Network License Manager for MATLAB reference architecture to manage MATLAB Web App Server licenses. The template for using an existing VPC for the deployment provides an option to either deploy the Network License Manager or use your own license server. For more information about 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).
# 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,13 +28,18 @@ 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 |
| ------- | --------------------------------- |
+| [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 |
-| [R2021b](releases/R2021b/README.md) | R2021b, R2021a, R2020b, R2020a |
-> **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.
+
+> [!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.
+
+**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.
+
# Architecture and Resources
Deploying this reference architecture creates several resources in your
resource group.
@@ -57,4 +62,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).
\ No newline at end of file
+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/README.md b/releases/R2021b/README.md
index 1aa2d40..4f3daff 100644
--- a/releases/R2021b/README.md
+++ b/releases/R2021b/README.md
@@ -3,7 +3,7 @@
# 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:
Example: `x.x.x.x/32`
*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:
For more information, see [Create Self-signed Certificate](/README.md#create-self-signed-certificate) and [Upload Self-signed Certificate to AWS Certificate Manager](/README.md#upload-self-signed-certificate-to-aws-certificate-manager). + | **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:
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**| @@ -202,7 +202,7 @@ 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 detials, see [Network License Manager for MATLAB](https://github.com/mathworks-ref-arch/license-manager-for-matlab-on-aws). +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. diff --git a/releases/R2022a/README.md b/releases/R2022a/README.md index 68f1b7d..b68f2af 100644 --- a/releases/R2022a/README.md +++ b/releases/R2022a/README.md @@ -3,7 +3,7 @@ # Deployment Steps Follow these steps to deploy the R2022a 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:Example: `x.x.x.x/32`
*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:
For more information, see [Create Self-signed Certificate](/README.md#create-self-signed-certificate) and [Upload Self-signed Certificate to AWS Certificate Manager](/README.md#upload-self-signed-certificate-to-aws-certificate-manager). + | **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:
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**| @@ -202,7 +202,7 @@ 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 detials, see [Network License Manager for MATLAB](https://github.com/mathworks-ref-arch/license-manager-for-matlab-on-aws). +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. diff --git a/releases/R2022b/README.md b/releases/R2022b/README.md index 4bafb3c..8dd546a 100644 --- a/releases/R2022b/README.md +++ b/releases/R2022b/README.md @@ -3,7 +3,7 @@ # Deployment Steps Follow these steps to deploy the R2022b 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:Example: `x.x.x.x/32`
*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:
For more information, see [Create Self-signed Certificate](/README.md#create-self-signed-certificate) and [Upload Self-signed Certificate to AWS Certificate Manager](/README.md#upload-self-signed-certificate-to-aws-certificate-manager). + | **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:
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**| @@ -203,7 +203,7 @@ 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 detials, see [Network License Manager for MATLAB](https://github.com/mathworks-ref-arch/license-manager-for-matlab-on-aws). +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. diff --git a/releases/R2023a/README.md b/releases/R2023a/README.md index e1bc61c..9e7d5f2 100644 --- a/releases/R2023a/README.md +++ b/releases/R2023a/README.md @@ -3,7 +3,7 @@ # Deployment Steps Follow these steps to deploy the R2023a 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:Example: `x.x.x.x/32`
*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:
For more information, see [Create Self-signed Certificate](/README.md#create-self-signed-certificate) and [Upload Self-signed Certificate to AWS Certificate Manager](/README.md#upload-self-signed-certificate-to-aws-certificate-manager). + | **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:
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**| @@ -201,7 +201,7 @@ 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 detials, see [Network License Manager for MATLAB](https://github.com/mathworks-ref-arch/license-manager-for-matlab-on-aws). +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. diff --git a/releases/R2023b/README.md b/releases/R2023b/README.md index 109ec7c..6952604 100644 --- a/releases/R2023b/README.md +++ b/releases/R2023b/README.md @@ -3,7 +3,7 @@ # Deployment Steps Follow these steps to deploy the R2023b 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:Example: `x.x.x.x/32`
*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:
For more information, see [Create Self-signed Certificate](/README.md#create-self-signed-certificate) and [Upload Self-signed Certificate to AWS Certificate Manager](/README.md#upload-self-signed-certificate-to-aws-certificate-manager). + | **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:
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). | ||**Settings for Network License Manager**| @@ -203,7 +203,7 @@ 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 detials, see [Network License Manager for MATLAB](https://github.com/mathworks-ref-arch/license-manager-for-matlab-on-aws). +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. diff --git a/releases/R2024a/README.md b/releases/R2024a/README.md index 3737f16..bb763f1 100644 --- a/releases/R2024a/README.md +++ b/releases/R2024a/README.md @@ -3,7 +3,7 @@ # Deployment Steps Follow these steps to deploy the R2024a 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:Example: `x.x.x.x/32`
*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:
For more information, see [Create Self-signed Certificate](/README.md#create-self-signed-certificate) and [Upload Self-signed Certificate to AWS Certificate Manager](/README.md#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). | ||**Settings for Network License Manager**| @@ -171,22 +170,6 @@ To run applications on MATLAB Web App Server, you need to create web apps using * 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. @@ -203,7 +186,7 @@ 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 detials, see [Network License Manager for MATLAB](https://github.com/mathworks-ref-arch/license-manager-for-matlab-on-aws). +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. @@ -213,70 +196,6 @@ To delete the stack: 3. Go to the CloudFormation page and select the stack you created. 3. Click **Delete**. -# FAQ - -## How do I use an existing VPC to deploy MATLAB Web App Server? - -Use the following templates to launch the reference architecture within an existing VPC and subnet. The templates provide an option to deploy the Network License Manager for MATLAB to manage MATLAB Web App Server licenses. - -| Release | Launch Button | Operating Systems | -|---------|---------------|-------------------| -| R2024a |**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 | Specify the ID of a public or private subnet within the existing VPC that will host the server. If you selected "Yes" to assign a public IP, choose a public subnet. Otherwise, choose a private subnet. | -| Public Subnet 2 ID | Specify the 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. | - -### How to 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. 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 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 ```matlab-webapp-server-sg``` security group. -1. Click **Save Rules**. - - -## What versions of MATLAB Runtime are supported? - -| Release | MATLAB Runtime | -|---------------|----------------| -| MATLAB R2024a | R2021b, R2022a, R2022b, R2023a, R2023b, R2024a | -| MATLAB R2023b | R2021b, R2022a, R2022b, R2023a, R2023b | -| MATLAB R2023a | R2020b, R2021a, R2021b, R2022a, R2022b, R2023a | -| MATLAB R2022b | R2020a, R2020b, R2021a, R2021b, R2022a, R2022b | -| MATLAB R2022a | R2019b, R2020a, R2020b, R2021a, R2021b, R2022a | -| MATLAB R2021b | R2020a, R2020b, R2021a, R2021b | - # Enhancement Request Provide suggestions for additional features or capabilities using the following link: https://www.mathworks.com/solutions/cloud.html diff --git a/releases/R2024b/README.md b/releases/R2024b/README.md new file mode 100644 index 0000000..84018bd --- /dev/null +++ b/releases/R2024b/README.md @@ -0,0 +1,203 @@ +# MATLAB Web App Server on Amazon Web Services - R2024b + +# Deployment Steps +Follow these steps to deploy the R2024b 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:*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`
*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: