retry_join stanza in each Vault server’s configuration file, nodes will automatically discover and join the Raft-based cluster—eliminating any manual join steps after initialization.
Prerequisites
- Three EC2 instances named vault-1, vault-2, vault-3, each running Vault 1.10.3+ent
- Raft storage backend
- AWS KMS auto-unseal configured
- Vault binary installed and a systemd unit in place
Ensure all nodes can communicate over ports 8200 (API) and 8201 (Raft). Configure your security groups accordingly.
1. Verify a Clean State
On any node (for example, vault-3), stop Vault and clear existing data. Then confirm that Vault is uninitialized:2. Stop Vault on All Nodes
Before updating configuration, stop Vault on each server:3. Configure retry_join on vault-3 (10.1.101.25)
Edit/etc/vault/vault.hcl on vault-3 and add both peer addresses under the Raft storage stanza:
4. Configure retry_join on vault-2 (10.1.101.108)
On vault-2, update/etc/vault/vault.hcl:
5. Configure retry_join on vault-1 (10.1.101.199)
Finally, modify/etc/vault/vault.hcl on vault-1:
6. Start Vault on All Nodes
Bring Vault back online on each server:7. Initialize the Cluster
Pick one node (e.g., vault-1) to initialize Vault:Since AWS KMS auto-unseal is enabled, Vault will automatically unseal itself—no manual unseal commands are needed.
8. Verify Cluster Peers
Authenticate using the root token you received:retry_join configuration.
What’s Next?
- Explore AWS Auto-Join via Tags to replace static IPs with dynamic discovery.
- Review the official Vault HA documentation.