No description
Find a file
Mauritz Uphoff c588e1a2e0
Some checks are pending
CI / TruffleHog Secrets Scan (push) Waiting to run
CI / Terraform Format & Validate (push) Successful in 27s
adjust image size
2025-06-17 11:42:48 +02:00
.forgejo/workflows Initial commit 2025-06-10 16:32:16 +02:00
docs Initial commit 2025-06-10 16:32:16 +02:00
.gitignore clean up repo 2025-06-12 12:26:59 +02:00
.terraform.lock.hcl fmt code 2025-06-17 11:30:56 +02:00
00-provider.tf fmt code 2025-06-17 11:30:56 +02:00
01-config.tf fmt code 2025-06-17 11:30:56 +02:00
02-network.tf fmt code 2025-06-17 11:30:56 +02:00
03-master.tf fmt code 2025-06-17 11:30:56 +02:00
04-backup.tf fmt code 2025-06-17 11:30:56 +02:00
05-ha.tf fmt code 2025-06-17 11:30:56 +02:00
06-outputs.tf fmt code 2025-06-17 11:30:56 +02:00
cloud-init.yaml fmt code 2025-06-17 11:30:56 +02:00
keepalive.conf Initial commit 2025-06-10 16:32:16 +02:00
README.md adjust image size 2025-06-17 11:42:48 +02:00
STACKIT-CLI-GUIDE.md cleanup repository 2025-06-11 15:07:19 +02:00
test-setup.sh fmt code 2025-06-17 11:30:56 +02:00

Basic High Availability (HA) Setup Using VRRP

This guide provides a comprehensive, step-by-step process for setting up a Basic High Availability (HA) cluster using the Virtual Router Redundancy Protocol (VRRP) with the STACKIT CLI. In this HA configuration, one virtual machine (VM) functions as the active primary node while the secondary remains on standby, ready to take over in the event of a failure.

For setup instructions using the STACKIT CLI instead of Terraform, please refer to the STACKIT CLI Guide.

Overview of Core Components

  • Active/Passive VM Configuration: Ensures redundancy, with one active node and a standby failover node.
  • VRRP Synchronization: Maintains state information between nodes, enabling seamless failover.
  • Security Group Rules: Configured to allow VRRP and ICMP traffic.
  • Virtual IP (vIP): A dedicated internal IP address bound to a shared network interface card (NIC) port for seamless failover.
  • Public IP Binding: Enables external access to the HA endpoint.

Testing the Setup

After completing the setup, use the test-setup.sh script to verify that the Apache server is operational on each machine. Executing this script should yield the following results:

Performing curl on IP: 193.148.177.243
<center><h1>example01</h1>

Performing curl on IP: 193.148.161.92
<center><h1>example02</h1>

Performing curl on IP: 193.148.169.230
<center><h1>example01</h1>

The output indicates a successfully functional VRRP setup.

Failover Testing

To test failover, stop the master VM and perform another curl request to the vIP WAN IP:

vip01_wan_ip=$(terraform output -raw vip01-wan-ip)
curl $vip01_wan_ip

<center><h1>example02</h1>

The response confirms that the failover from the master to the backup has occurred successfully, demonstrating the effectiveness of the HA setup.

Diagrams

  • HA Traffic Flow: HA Traffic Flow Diagram

  • vIP Binding Concept: vIP Binding Diagram