AnyLogic
Expand
Font size

Installing Private Cloud

Before installing AnyLogic Private Cloud, consider checking the system requirements.

Make sure that the external 80 or 443 (for HTTPS only) ports are open and available. Your internal network configuration should allow for connecting to external interfaces from the host itself, specifically from the following ports: 22, 80, 5000, 5432, 5672, 9000, 9042, 9050, 9080, 9101, 9102, 9103, 9200, 9201, and 9202.

Your primary server (the one you plan to serve Private Cloud) must have a static IP address. If you want your instance to have a dynamic IP address, configure a DNS server for domain name resolving accordingly.

You should execute all commands described below in your Linux terminal.

Downloading the Private Cloud installation package

  1. Create a directory to which you will download Private Cloud, or choose an existing one:
    • mkdir directory — to create a directory
    • cd directory — to navigate to an existing directory
  2. Download Private Cloud:
    • To download the latest version of Private Cloud Lite, execute the following command:
      sudo wget https://cloud.anylogic.com/files/anylogic-private-cloud-lite.tar.gz
    • To download the latest version of Private Cloud Pro, execute the following command:
      sudo wget https://cloud.anylogic.com/files/anylogic-private-cloud-pro.tar.gz
    • To download a specific version or an individual shipment of Private Cloud Enterprise, use the link provided by the AnyLogic support team.

Installing Private Cloud

  1. Unzip the installation file:
    Lite: tar -xf anylogic-private-cloud-lite.tar.gz
    Pro: tar -xf anylogic-private-cloud-pro.tar.gz
    Enterprise: tar -xf anylogic-private-cloud-enterprise.tar.gz
  2. Navigate to the resulting folder:
    cd anylogic_private_cloud
  3. Run the installer script:
    sudo ./install.sh
    If you want the Private Cloud instance to reside in a non-default directory, use the alc_home flag:
    sudo ./install.sh --alc_home /somedirectory
    The installation script of Private Cloud supports a selection of options. For more information, see Installer reference.
    During the installation, you will need to specify the Private Cloud external address.
    Enter Cloud external address :
    Type in a valid hostname or IP address, and press Enter.
    The hostname or IP address you use should be the same address the end-users will use to connect.
    You should not use loopback addresses like localhost or 127.0.0.1.
    Next, you will be asked whether you would like to specify the License Server address during installation. You need a properly configured License Server to continue using AnyLogic Cloud after the evaluation period.
    Enter Y to configure license server address [y/n]:
    You may specify this address later using the administrator panel.
    If you have chosen to specify the License Server address, type in the valid License Server address and press Enter.
    Enter License Server address :
    Next, you will need to specify whether you plan to enable HTTPS support in Cloud.
    Enter Y to enable HTTPS support [y/n]:
    To proceed with HTTPS configuration, you need a valid SSL key and certificate pair. If you are not sure whether you have them, contact your system administrator for assistance, or enter n to use the HTTP protocol.
    It is impossible to properly host a Private Cloud instance with a self-signed SSL certificate — the desktop installation of AnyLogic won’t be able to upload models to it. You can, however, complete the installation process to ensure the Private Cloud instance works properly in your network. Nonetheless, it is strongly recommended to avoid enabling HTTPS support in case you do not have the certificate signed by a trusted provider.
    Specify the full path to your SSL key.
    Enter HTTPS key file path :
    Specify the full path to your SSL certificate.
    Enter HTTPS certificate file path :
    To simplify the installation process, provide the installer script with appropriate flags manually. To view the full list of supported flags, execute the following command:
    sudo ./install.sh --help
  4. Upon completing the installation, navigate to the address you have specified for your Private Cloud instance using a browser of your choice. Click Guest in the top right corner of the screen, then select Log in. The Sign-in page, demonstrated on the screenshot below, will open up. The default credentials of the administrator account are as follows:
    • User name: admin
    • Password: admin123

    Private Cloud: Administrator sign-in

    Make sure to change the default password of the administrator account. To do that, log in as the administrator, click admin in the top right corner of the screen, then select Profile. After that, modify the password using the Change Password form.
    It is also recommended to change the default user name of the administrator account to a valid email. You can do that on the administrator panel.
  5. Users of Private Cloud will also need to create their accounts to begin uploading models. Alternatively, the Cloud administrator can create user accounts in the administrator panel.

To learn how to configure AnyLogic desktop installations to connect to your freshly installed Private Cloud instance, see Exporting a model to AnyLogic Cloud.

Setting up additional nodes for Private Cloud Enterprise

  1. Upon completing the installation, you will need to prepare your secondary nodes — additional machines that your Private Cloud Enterprise instance will use to run models. The following steps must be performed on each secondary node.
    • Create an administrator user account (we recommend to use alcadm) and add it to the Docker group:
      sudo useradd -m alcadm
      sudo passwd alcadm # Input a new password for the alcadm user here — you will need it later
      sudo usermod -a -G docker alcadm
    • Open a text editor with the sudo configuration:
      sudo visudo -f /etc/sudoers.d/alc
    • Add the following line to the end of the file:
      alcadm ALL=(ALL) NOPASSWD:ALL
      If you have problems while exiting visudo, try executing the :wq command to save and exit, or execute :q! to exit without saving.
    • Install the openssh-server package (if not installed yet) and modify sshd_config to allow for password authentication if it is not enabled by default:
      nano /etc/ssh/sshd_config
      PasswordAuthentication yes
    • Restart sshd to apply changes:
      systemctl restart sshd
  2. After that, you need to distribute the necessary certificates from your primary node (the one that has Private Cloud installed):
    • Copy the SSH key to every secondary node:
      sudo ssh-copy-id -i /home/alcadm/alc/controller/keys/id_rsa.pub alcadm@the internal IP address of the secondary node
      This command should be executed for each secondary node in your cluster.
    • Copy the registry certificate of Docker to each secondary node:
      scp -r /etc/docker/certs.d/ alcadm@%the internal IP address of the secondary node%:./
  3. Next, you have to properly install the freshly acquired certificates on each secondary node:
    • Copy certs.d to the /etc/docker directory:
      sudo cp -r /home/alcadm/certs.d /etc/docker
    • Open /etc/hosts for editing:
      sudo nano /etc/hosts
    • Add the following line to the file:
      primary node ip local.cloud.registry
      An example of such file is as follows:

  4. Now, inform the primary node about the nodes. To do that, edit nodes.json in the /home/alcadm/alc/controller directory.
    This file contains information about all nodes of a Private Cloud cluster.
    • host — the IP-address or FQDN of the node.
    • sshAccess.method — Use PRIVATE_KEY or PASSWORD (PRIVATE_KEY is the recommended option.)
    • sshAccess.user — The default user created earlier (alcadm).
    • sshAccess.key — The name of the private key file. This file is generated upon installing the primary node. You can find it in the /home/alcadm/alc/controller/keys directory. You need this file for authorization via the PRIVATE_KEY method (see sshAccess.method above). In case you use PASSWORD, specify the password there. If unsure, use id_rsa.
    • labels — A list of services running on this node. These services are described in the application.json file. Put executor there.

    The following is the example JSON object that represents a secondary node:
    {
      "host" : "10.0.0.1",
      "sshAccess" : {
        "method" : "PRIVATE_KEY",
        "user" : "alcadm",
        "key" : "id_rsa"
      },
      "volumeRoot" : "/home/alcadm/alc/cache",
      "labels" : [ "executor" ],
      "stoppable" : false,
      "manageable" : true
    }
    For more information about Private Cloud configuration files, see the corresponding article.
  5. Restart the controller service component to apply changes by running the following command on the primary node:
    sudo docker restart controller
    After these changes, the additional nodes running executor service components should be visible in the controller state report. To access this report, open the browser of your choice and go to http://Private Cloud address:9000/main.html (for older versions of Cloud) or http://cloud address/admin/controller?tab=NODES (for Cloud 2.2.0 and later).
How can we improve this article?