Tailscale VPN Setup
Tailscale provides secure, private access to your infrastructure without exposing services to the public internet.Install Tailscale
Connect to Tailscale Network
1
Start Tailscale
2
Verify connection
3
Test VPC connectivity
Creating a Tailscale Auth Key
If you need to create a new auth key for additional subnet routers:1
Open Tailscale Admin Console
Navigate to https://login.tailscale.com/admin/settings/keys
2
Generate new auth key
Click “Generate auth key” and configure:
- Reusable: Allow key to be used multiple times
- Ephemeral: Device will be removed when disconnected
- Pre-authorized: Skip manual approval
- Tags:
tag:aws-router - Expiration: 90 days (or custom)
3
Copy and save the key
Copy the key starting with
tskey-auth- and store it securely.Accessing EKS Cluster
With Tailscale connected, you can access the EKS cluster API directly.Configure kubectl
Verify Access
The EKS API endpoint is private-only and not accessible without Tailscale connection.
Common kubectl Commands
Accessing Vault
HashiCorp Vault is accessible via web UI and CLI.Web UI Access
1
Ensure Tailscale is connected
2
Navigate to Vault URL
Open your browser and go to:
3
Login with root token
Use the root token generated during Vault initialization:Enter this token in the web UI login form.
CLI Access
Port Forward Method
Alternatively, access Vault via kubectl port forwarding:Accessing ArgoCD
ArgoCD provides a web UI for managing GitOps deployments.Web UI Access
1
Get admin password
2
Navigate to ArgoCD URL
With Tailscale connected:
3
Login
- Username:
admin - Password: (from step 1)
4
Change default password (recommended)
- Click “User Info” in top right
- Select “Update Password”
- Enter current and new password
CLI Access
Install ArgoCD CLI:Port Forward Method
Accessing Traefik Dashboard
Traefik provides a dashboard for monitoring routes and services.Port Forward Access
http://localhost:9000/dashboard/
Note the trailing slash in the URL - it’s required.
Service URLs Reference
Once connected to Tailscale, access services at these URLs:Troubleshooting Access
Cannot Connect to Services
Tailscale not connected
Tailscale not connected
Check Tailscale status:If not connected, run:
Subnet routes not approved
Subnet routes not approved
- Go to Tailscale Admin Console
- Find your subnet router
- Check that routes are advertised and approved
- If not approved, check your ACL configuration includes auto-approvers
DNS not resolving
DNS not resolving
If
vault.yourdomain.com doesn’t resolve:- Check Cloudflare DNS records
- Verify external-dns is running:
- Check external-dns logs:
Certificate errors
Certificate errors
If you see SSL/TLS certificate errors:
- Check certificate status:
- Verify cert-manager is running:
- Check certificate details:
kubectl Connection Issues
Vault Unsealed Status
If Vault is sealed:Security Best Practices
Next Steps
Troubleshooting
Common issues and solutions
Destroying Resources
How to safely tear down infrastructure