Step 1 - Provisioning Hosts v5
Provisioning hosts
The first step in the process of deploying PGD is to provision and configure hosts.
You can deploy to virtual machine instances in the cloud with Linux installed, on-premise virtual machines with Linux installed or on-premise physical hardware also with Linux installed.
Whichever supported Linux operating system and whichever deployment platform you select, the result of provisioning a machine must be a Linux system that can be accessed by you using SSH with a user that has superuser, administrator or sudo privileges.
Each machine provisioned should be able to make connections to any other machine you are provisioning for your cluster.
On cloud deployments, this may be done over the public network or over a VPC.
On-premise deployments should be able to connect over the local network.
Cloud provisioning guides
If you are new to cloud provisioning, these guides may provide assistance:
Vendor | Platform | Guide |
---|---|---|
Amazon | AWS | Tutorial: Get started with Amazon EC2 Linux instances |
Microsoft | Azure | Quickstart: Create a Linux virtual machine in the Azure portal |
GCP | Create a Linux VM instance in Compute Engine |
Configuring hosts
Create an admin user
We recommend that you configure an admin user for each provisioned instance. The admin user must have superuser or sudo (to superuser) privileges. We also recommend that the admin user should be configured for passwordless SSH access using certificates.
Ensure networking connectivity
With the admin user created, ensure that each machine can communicate with the other machines you are provisioning.
In particular, the PostgreSQL TCP/IP port (5444 for EDB Postgres Advanced Server, 5432 for EDB Postgres Extended and Community PostgreSQL) should be open to all machines in the cluster. If you plan to deploy PGD Proxy, its port must be open to any applications which will connect to the cluster. Port 6432 is typically used for PGD Proxy.
Worked example
For the example in this section, we have provisioned three hosts with Red Hat Enterprise Linux 9.
- host-one
- host-two
- host-three
Each is configured with a "admin" admin user.
These hosts have been configured in the cloud and as such each host has both a public and private IP address.
Name | Public IP | Private IP |
---|---|---|
host-one | 172.24.117.204 | 192.168.254.166 |
host-two | 172.24.113.247 | 192.168.254.247 |
host-three | 172.24.117.23 | 192.168.254.135 |
For our example cluster, we have also edited /etc/hosts
to use those private IP addresses: