This repository provides Terraform configurations for deploying multi-cluster Istio on AWS using various networking and certificate management patterns.
internet: Cross-cluster communication over internet-facing gateways.peering: Communication via AWS VPC peering.peering-cert-manager: VPC peering with Vault + cert-manager-based certificate management.
- Terraform >= 1.3
- AWS CLI
- kubectl
- Helm
- AWS credentials (via
aws configureor environment variables)
Each pattern folder includes a Makefile to simplify usage.
make init # Initialize Terraform
make plan # Show Terraform plan
make apply # Apply infrastructure
make destroy # Tear down resources
make validate # Validate configuration
make fmt # Format Terraform code
make check-sync # Verify cross-cluster connectivity (if supported)Uses internet-facing Istio east-west gateways with self-managed CA.
cd multi-network/internet
make init applySets up private east-west communication using AWS VPC peering.
cd multi-network/peering
make init applyUses Vault and cert-manager to issue Istio certificates.
cd multi-network/peering-cert-manager
make deployThis script bootstraps the infrastructure and configures Vault.
Run the sync script to validate application connectivity across clusters:
make check-sync- Each cluster deploys a sample helloworld and sleep app.
- Secrets, remote Kubeconfigs, and gateways are auto-managed by Terraform and Helm.