Enabling DeployR on the Cloud

Applies to: DeployR 8.x (See comparison between 8.x and 9.x)

Looking to deploy with Machine Learning Server? Start here.

You can set up DeployR on Microsoft Azure or AWS. For each instance, be sure to:

  1. Set the server Web context to an external, public IP address and disable IP autodetection.

  2. Open three DeployR external ports by adding Azure endpoints or opening the ports through the AWS console to set the appropriate permissions.

  3. Update the firewall to set the appropriate security permissions on the internal and external ports used by DeployR.

  4. Have the minimum required disk space (or more) for the installation of DeployR. Refer to the installation guide for your DeployR version and operating system.

We highly recommended that you also enable HTTPS support for DeployR to secure the communications to the server.

Enabling DeployR on Azure

You can set up DeployR on Microsoft Azure. For each Azure instance, be sure to:

  1. Set the server Web context to an external, public IP address.

  2. Open three DeployR external ports by adding Azure endpoints to set the appropriate permissions.

  3. Update the firewall to set the appropriate security permissions on the internal and external ports used by DeployR.


### Setting the Server Web Context

The DeployR server Web context must be updated to the Public IP address of the virtual machine.

To update the DeployR server Web context:

You must update the server Web context or else you will not be able to access to the DeployR landing page or other DeployR components after installation.

  1. Log into the Azure portal and take note of the Public IP address.

    Public IP Address in Azure portal

  2. If DeployR was installed on a virtual machine, remote desktop or SSH into that machine.

  3. For DeployR for Microsoft R Server 8.0.5:

    1. Launch the DeployR administrator utility script with administrator privileges:

      • On Windows, run:

        cd %REVODEPLOYR8_1_HOME%\deployr\tools\ 
        adminUtilities.bat 
        
      • On Linux, run:

        cd $DEPLOYR_HOME/deployr/tools/
        sudo ./adminUtilities.sh 
        ```         
        
        
    2. From the main menu, choose option Run Diagnostics. Make sure that the database is running. The database must be running before you can proceed to the next step.

    3. Return to the main menu, choose option Web Context and Security.

    4. From the sub-menu, choose option Specify New IP or Fully Qualified Domain Name (FQDN).

    5. When prompted to specify a new IP or FQDN, enter the new IP or FQDN.

    6. When prompted to confirm the new value, enter Y. This change will also disable Automatic IP detection to prevent the new value you just assigned from being overwritten.

    7. Return to the main menu, choose the option to set a password for the local DeployR admin account.

    8. Enter a password for this account. Passwords must be 8-16 characters long and contain at least 1 or more uppercase character(s), 1 or more lowercase character(s), 1 or more number(s), and 1 or more special character(s).

    9. Confirm the password.

    10. Return to the main menu and choose option Start/Stop Server. You must restart DeployR so that the changes can take effect.

    11. When prompted whether you want to stop (S) or restart (R) the DeployR server, enter R. It may take some time for the Tomcat process to terminate and restart.

    12. Exit the utility.

  4. For DeployR 8.0.0:

    • On Windows:

      1. Make sure that the MongoDB database is running. The database must be running before you can proceed to the next step before you update the Web Context.

      2. Open a Command Window with “Run as Administrator”.

      3. Set the appropriate public IP where <ip_address> is the public IP address of the machine. Learn more about this script.

        cd $DEPLOYR_HOME\deployr\tools\
        setWebContext -ip <ip_address>  -disableauto
        
      4. Confirm the IP address you entered.

      5. Disable any automatic IP detection that might overwrite the IP you just assigned.

        setWebContext -disableauto
        
    • On Linux:

      1. Set the IP using the setWebContext.sh script where <ip_address> is the public IP address of the machine. Learn more about the script arguments.

        cd $DEPLOYR_HOME/deployr/tools/
        ./setWebContext.sh -ip <ip_address>
        
      2. Confirm the IP address you entered.

      3. Disable any automatic IP detection that might overwrite the IP you just assigned.

        ./setWebContext.sh -disableauto
        

    For this change to take effect restart the DeployR 8.0.0 service. Between stopping and starting, be sure to pause long enough for the Tomcat process to terminate.

We highly recommended that you also enable HTTPS support for DeployR to secure the communications to the server.

Configuring Azure Endpoints

When provisioning your DeployR server on Azure, you must open Azure endpoints for several DeployR ports.

If custom ports were defined during installation, enable those instead.

Table: Default Ports by Version

Port Number DeployR for Microsoft R Server 8.0.5 DeployR 8.0.0
DeployR HTTP port 8050 8000
DeployR HTTPS port 8051 8001
DeployR event console port 8056 8006

To configure Azure endpoints for DeployR:

  1. Go to the main Microsoft Azure portal page.

  2. Click the Resource Group name.

    Rules

  3. In the table in the Resource Group page, click the Network Security Group.

  4. In the Network Security Group page, click All Settings option.

  5. Choose Inbound security rules.

  6. Click the Add button to create an inbound security rule for each DeployR port as follows:

  7. In the Add inbound security rule page, enter a unique name the rule.

  8. Set the protocol to Any.

  9. Set the Source Port Range to the * character.

    Rules

  10. Enter the port number to the Destination port range for the DeployR HTTP port, HTTPS port, and event console port.

    See the bullets at the beginning of this section for these default ports for your version of DeployR.

  11. Click OK to save your changes.

  12. Repeat step 6 to add inbound rules for the other DeployR ports. Rules

Don't forget to update the firewall as described below.

Enabling DeployR on AWS

You can set up DeployR on Amazon Web Services (AWS). For each Amazon EC2 instance, be sure to:

Set the Web Context for DeployR on AWS

You must update the server Web context or else you will not be able to access to the DeployR landing page or other DeployR components after installation.

  1. Take note of the correct Public IP address.

    • On Linux, run the following command and take note of the IP returned:
      curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//
      ```NA
      
      
    • On Windows, visit this URL in your browser (http://checkip.dyndns.org/) and take note of the IP returned.
  2. If DeployR was installed on a virtual machine, remote desktop or SSH into that machine.

  3. Set the Web context:

    • For DeployR for Microsoft R Server 8.0.5:

      1. Launch the DeployR administrator utility script with administrator privileges:

        • On Windows, run:

          cd %REVODEPLOYR8_1_HOME%\deployr\tools\ 
          adminUtilities.bat 
          
        • On Linux, run:

          cd $DEPLOYR_HOME/deployr/tools/
          ./adminUtilities.sh 
          
      2. From the main menu, choose option Run Diagnostics. Make sure that the database is running. The database must be running before you can proceed to the next step.

      3. Return to the main menu, choose option Web Context and Security.

      4. From the sub-menu, choose option Specify New IP or Fully Qualified Domain Name (FQDN).

      5. When prompted to specify a new IP or FQDN, enter the new IP or FQDN.

      6. When prompted to confirm the new value, enter Y. This change will also disable Automatic IP detection to prevent the new value you just assigned from being overwritten.

      7. Return to the main menu and choose option Start/Stop Server. You must restart DeployR so that the changes can take effect.

      8. When prompted whether you want to stop (S) or restart (R) the DeployR server, enter R. It may take some time for the Tomcat process to terminate and restart.

      9. Exit the utility.

    • For DeployR 8.0.0:

      • On Windows:

        1. Make sure that the MongoDB database is running. The database must be running before you can proceed to the next step before you update the Web Context.

        2. Open a Command Window with “Run as Administrator”.

        3. Detect the appropriate external IP used for your AWS EC2 instance.

          cd $DEPLOYR_HOME\deployr\tools\
          setWebContext -aws
          
        4. Set the appropriate public IP where <ip_address> is the public IP address of the machine. Learn more about this script.

          setWebContext -ip <ip_address> 
          
        5. Confirm the IP address you entered.

        6. Disable any automatic IP detection that might overwrite the IP you just assigned.

          setWebContext -disableauto
          
      • On Linux:

        1. Detect the appropriate external IP used for your AWS EC2 instance.

          cd $DEPLOYR_HOME/deployr/tools/
          setWebContext -aws
          
        2. Set the IP using the setWebContext.sh script where <ip_address> is the public IP address of the machine. Learn more about the script arguments.

          ./setWebContext.sh -ip <ip_address>
          
        3. Confirm the IP address you entered.

        4. Disable any automatic IP detection that might overwrite the IP you just assigned.

          ./setWebContext.sh -disableauto
          

        For this change to take effect restart the DeployR 8.0.0 service. Between stopping and starting, be sure to pause long enough for the Tomcat process to terminate.

Configuring Ports for AWS

When provisioning your DeployR server on AWS, you must set the appropriate security permissions on both the internal and external ports used by DeployR.

If custom ports were defined during installation, enable those instead.

Table: Default Ports by Version

Port Number DeployR for Microsoft R Server 8.0.5 DeployR 8.0.0
DeployR HTTP port 8050 8000
DeployR HTTPS port 8051 8001
DeployR event console port 8056 8006

Don't forget to update the firewall as described below.

Updating the Firewall

Updating your firewall is the last step.

We highly recommended that you also enable HTTPS support for DeployR to secure the communications to the server.

To update your firewall on Linux:

On Linux, you must disable iptables firewall or equivalent.


To update your firewall on Windows:

In Windows Firewall, you must open the same DeployR ports as you configured as Azure endpoints or in the AWS console.

  1. From the Control Panel, open the Window Firewall.

  2. Click Advanced Settings. The Windows Firewall with Advanced Security dialog appears.

  3. Choose Inbound Rules. The list of inbound rules appears.

  4. For each port in the table below for your version of DeployR, open the associated rule, such as RevoDeployR-Enterprise <VERSION> Tomcat - <PORT NUMBER>.

  5. Go to the Advanced tab.

  6. Select the Public checkbox to enable public for this rule.

  7. Click OK.

  8. Repeat 4-7 for all three rules.


Table: Inbound Rules for DeployR for Microsoft R Server 8.0.5

Port Number Inbound Rule Name
8050 RevoDeployR-Enterprise 8.0.5 Tomcat SSL - 8050
8051 RevoDeployR-Enterprise 8.0.5 Tomcat SSL - 8051
8056 RevoDeployR-Enterprise 8.0.5 Tomcat SSL - 8056

Table: Inbound Rules for DeployR 8.0.0

Port Number Inbound Rule Name
8000 RevoDeployR-Enterprise 8.0.0 Tomcat SSL - 8000
8001 RevoDeployR-Enterprise 8.0.0 Tomcat SSL - 8001
8006 RevoDeployR-Enterprise 8.0.0 Tomcat SSL - 8006