Configuré una VPN redundante de sitio a sitio entre AWS y GCP con 2 conexiones VPN, 4 túneles y enrutamiento dinámico BGP. Todo funciona, todo bien, los servidores de ambos lados de los túneles pueden comunicarse entre sí.
Lo hice usando Terraform y si en el lado de GCP configuré la publicidad de todas las subredes:
name = "gcp-to-aws-router"
project = google_project.aws_gcp_test.project_id
region = var.gcp_region
network = google_compute_network.gcp_aws_vpc.name
bgp {
asn = var.gcp_bgp_asn
advertise_mode = "CUSTOM"
advertised_groups = ["ALL_SUBNETS"]
}
luego, en AWS no he hecho nada específico para anunciar rutas, solo habilité la propagación de rutas en una tabla de enrutamiento donde se encuentra mi servidor. No he agregado explícitamente ninguna ruta ni anuncio las subredes utilizadas en ambos lados del túnel por mis servidores. Solo habilité la propagación de enrutamiento en el lado de AWS.
resource "aws_vpn_gateway_route_propagation" "this" {
vpn_gateway_id = aws_vpn_gateway.aws_vpg.id
route_table_id = aws_route.internet_gw_route.route_table_id
}
aquí
- https://docs.aws.amazon.com/vpn/latest/s2svpn/VPNRoutingTypes.html
- https://docs.aws.amazon.com/vpn/latest/s2svpn/SetUpVPNConnections.html#vpn-configure-route-tables
la documentación establece que:
Puede habilitar la propagación de rutas para que su tabla de rutas propague automáticamente sus rutas de red a la tabla por usted. Nada sobre publicidad de rutas locales a BGP.
No puedo entender cómo las rutas de AWS terminan en el lado de GCP. ¿Cómo funciona? :)
¡Muchas gracias!
Respuesta1
Cuando conecta una puerta de enlace privada virtual (VGW) a su VPC y tiene una VPN dinámica (la que usa BGP), AWS anunciará todos los CIDR de VPC en su puerta de enlace del cliente (CGW).
AWS anuncia VPC CIDR, no rutas desde una tabla de rutas individual.
Si su VPC tiene CIDR 10.10.0.0/16, su CGW obtendrá este CIDR como la ruta anunciada.
Como puede tener hasta 5 CIDR configurados en su VPC, cada vez que agregue un nuevo CIDR, AWS también lo anunciará.