Prerequisites
This document details the minimal requirements that must be met by the VM(s) on which you intend to set up the ScaleGrid Enterprise Server installation. If you have already set the machines up, please proceed to Controller Installation.
If you are looking for a simpler, less verbose guide, please have a look at our Quick Start Guide
Minimum System Requirements
- Architecture: x86_64 only
- RAM: >= 16 GB
- CPU: >= 2 cores
- Disk space: >= 120 GB free on the root volume; the entire 120GB free space must be available in the root partition.
Supported Operating Systems
ScaleGrid Enterprise Server currently supports the following operating systems
- CentOS 7
- RHEL 7
- AWS Linux 2
Network Requirements
- The machines must have outbound internet connection during installation.
- All machines must be able to communicate with each other (preferably via private IPs)
Security Configuration
ScaleGrid server requires ports used by the following services to be opened/enabled:
Port | Notes |
---|---|
TCP 443 | Used for HTTPS access to the web UI. Needs to be open to all clients that wish to access the ScaleGrid UI |
TCP 80 TCP 443 TCP 5671 | All deployed database servers need to be able to reach back to the ScaleGrid Enterprise Server on these ports |
TCP 4369 TCP 5671 TCP 5672 TCP 15672 TCP 25672 TCP 55672 TCP 35672 - 35682 TCP 3306 UDP 5405 | These are needed only for multi-node ScaleGrid controller deployments. These ports need to be open between the controller nodes. |
If your VMs are behind a security group, please ensure to open the relevant ports for ingress in the security group. The ScaleGrid installation process will update iptable/firewalld appropriately on the VMs.
Disable GPG Armour
The ScaleGrid installation scripts need to enable the EPEL repository. Since the EPEL repo does not support GPG Armour on server side yet, please run the following command on all nodes →
sudo sed -i -e '$arepo_gpgcheck=0' /etc/yum.conf
Alternately, you can enable EPEL repo yourself.
Backup Configuration
It is important to take regular backups of your ScaleGrid Enterprise Server, and store them away from the primary system. For this reason, the installation process will set up automated backups that run every night. We strongly recommend these backups be stored on an NFS share. Please create and mount a NFS share before proceeding further.
The backup will be executed on the node where you are running the installation from. If this node goes down/needs to be replaced, please reach out to ScaleGrid Support to ensure uninterrupted backups.
User Configuration
To perform a single-node installation, you will need a user who can
- Acquire sudo privileges on all the VMs, without specifying a password.
To perform a multi-node installation, you will need a user who can
- SSH into all the VMs as themselves (i.e. the user must exist on all the machines with the same user-id)
- Acquire sudo privileges on all the VMs, without specifying a password.
Please note, we do not allow running the script as root, since SSH-access for root should be locked down for security reasons.
SSH Configuration
This is only required for multi-node, HA installation. If you are setting up a standalone system, you can skip this section
For multi-node deployments, each VM must have passwordless SSH set up. If you need help with setting up password-less key-based SSH access, please refer to this tutorial. We recommend using a different key for each node, for maximum security.
The installation scripts depend on automated SSH access, without having to explicitly specify the keys. To enable this, select one node where you will run the installation scripts from. On that node,
-
Copy the private key for each node (including itself) to a file under
~/.ssh
. Each file should contain one key. -
Update the permissions on the file(s), so only the owner has read-access.
For example:
chmod 400 ~/.ssh/key_for_node1
-
Add the files to your SSH configuration, so it is automatically tried during SSH.
For example:
echo "IdentityFile /home/centos/.ssh/key_for_node1" >> ~/.ssh/config
Now you are ready to proceed to installation. Before you jump into it, you might want to take a look through the input parameters that’ll be required.
[Optional] Setting up a subdomain in Route53
ScaleGrid Enterprise Server uses AWS Route53 to automatically assign DNS names to your database servers. For this, we recommend setting up a sub-domain of your main domain on AWS Route-53 for use with your database servers, .e.g dbservers.<mydomain>.com
Using ScaleGrid Enterprise Server without DNS
You can specify the
--noDNS
flag during installation to configure ScaleGrid Enterprise Server to skip DNS entry creation. Some HA deployments would require a virtual IP instead. In such installations, Route-53 details are not required - you can proceed directly to Controller Installation
- Navigate to the Route53 tab in the AWS console
- Create a “Hosted Zone” in Route53 by choosing a name for the subdomain
- Once the zone is created note down the ID of the zone and the 4 dns servers associated with your zone
- Now add a NS record to your main DNS server to point the subdomain to the four DNS servers for the zone hosted in AWS
- Add a dummy DNS record to the new zone and make sure it resolves
Creating an IAM user to edit the newly created DNS subdomain
Create an IAM user with the following policy. This policy gives the user full access to edit only this subdomain
{
"Version": "2018-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"route53:*"
],
"Resource": "arn:aws:route53:::hostedzone/<zoneid>"
},
{
"Effect": "Allow",
"Action": [
"route53:GetChange"
],
"Resource": "arn:aws:route53:::change/*"
}
]
}
Download the IAM keys of the user and enter Access and Secret key when prompted by ScaleGrid setup
And that's it - now you are ready to perform Controller Installation!
Updated over 2 years ago