Skip to main content
After deploying all infrastructure layers, you can access your services through Tailscale VPN. This guide covers how to set up access and connect to each service.

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

Follow the authentication prompt in your browser.
2

Verify connection

You should see your devices listed, including the AWS subnet router.
3

Test VPC connectivity

If this works, you have full access to your private infrastructure.

Creating a Tailscale Auth Key

If you need to create a new auth key for additional subnet routers:
1

Open Tailscale Admin Console

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.
This key will only be shown once. Store it in your password manager or .env file.

Accessing EKS Cluster

With Tailscale connected, you can access the EKS cluster API directly.

Configure kubectl

This updates your kubeconfig with the EKS cluster endpoint and authentication details.

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

Save this password for login.
2

Navigate to ArgoCD URL

With Tailscale connected:
3

Login

  • Username: admin
  • Password: (from step 1)
4

Change default password (recommended)

  1. Click “User Info” in top right
  2. Select “Update Password”
  3. Enter current and new password

CLI Access

Install ArgoCD CLI:
Login via CLI:

Port Forward Method

Accessing Traefik Dashboard

Traefik provides a dashboard for monitoring routes and services.

Port Forward Access

Then navigate to: 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

Check Tailscale status:
If not connected, run:
  1. Go to Tailscale Admin Console
  2. Find your subnet router
  3. Check that routes are advertised and approved
  4. If not approved, check your ACL configuration includes auto-approvers
If vault.yourdomain.com doesn’t resolve:
  1. Check Cloudflare DNS records
  2. Verify external-dns is running:
  3. Check external-dns logs:
If you see SSL/TLS certificate errors:
  1. Check certificate status:
  2. Verify cert-manager is running:
  3. Check certificate details:

kubectl Connection Issues

Vault Unsealed Status

If Vault is sealed:

Security Best Practices

Important security considerations:
  • Store Vault root token in a secure password manager
  • Rotate Vault root token after initial setup
  • Change ArgoCD admin password immediately
  • Never share Tailscale auth keys publicly
  • Use short-lived tokens for CI/CD
  • Enable MFA on Tailscale account

Next Steps

Troubleshooting

Common issues and solutions

Destroying Resources

How to safely tear down infrastructure