Para permitir que instâncias em uma VPC no Oregon (us-west-2) entrem em contato com instâncias em outra VPC na Irlanda (eu-west-1), instalei máquinas de gateway OpenSwan em ambas as regiões e estabeleci um túnel IPSEC entre as duas regiões que funciona corretamente.
Details:
Oregon VPC CIDR: 172.31.0.0/16
Ireland VPC CIDR: 172.91.0.0/16
Na Irlanda, usei um modelo do CloudFormation que escrevi para criar uma nova pilha que, entre outras coisas, cria uma nova VPC isolada e uma das tarefas que o CloudFormation está executando é fazer o peering entre a VPC padrão da Irlanda e a recém-criada (isolada ) VPC.
The new isolated VPC CIDR: 172.52.0.0/16.
No momento, se eu executar um comando ping de uma instância que reside na VPC padrão no Oregon (172.31.xx) em direção a uma instância que reside na VPC padrão da Irlanda (172.91.xx), ele funciona como um encanto.
Em seguida, gostaria que as máquinas na nova VPC isolada (172.52.xx) pudessem acessar instâncias na VPC padrão no Oregon (172.31.xx).
A tabela de rotas associada à VPC padrão no Oregon está configurada para rotear o tráfego:
to: 172.52.0.0/16 GW: Interface of the OpenSwan server in Oregon.
to: 172.91.0.0/16 GW: Interface of the OpenSwan server in Oregon.
A tabela de rotas associada à VPC padrão na Irlanda está configurada para rotear o tráfego:
to: 172.31.0.0/16 GW: Interface of the OpenSwan server in Ireland.
to: 172.52.0.0/16 GW: The peering connection ID (between 172.52.x.x and 172.91.x.x)
Grupo de segurança que está anexado à instância do OpenSwan @ Oregon:
Allows all traffic to 172.52.x.x/16, 172.91.x.x/16, 172.31.x.x/16.
Allows UDP 500 and 4500 to the EIP of the OpenSwan instance in Ireland.
Grupo de segurança anexado à instância do OpenSwan @ Irlanda:
Allows all traffic to 172.52.x.x/16, 172.91.x.x/16, 172.31.x.x/16.
Allows UDP 500 and 4500 to the EIP of the OpenSwan instance in Oregon.
ipsec.conf:
version 2.0 # conforms to second version of ipsec.conf specification
# basic configuration
config setup
protostack=netkey
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:172.91.0.0/16,%v4:172.52.0.0/16,%v4:25.0.0.0/8,%v4:172.31.0.0/16,%v4:172.59.0.0/20,%v6:fd00::/8,%v6:fe80::/10
oe=off
include /etc/ipsec.d/*.conf
Consigo pingar uma instância que reside na VPC padrão do Oregon de cada uma das máquinas OpenSwan (Oregon/Irlanda) e vice-versa, mas não consigo pingar essa instância de uma instância que reside na sub-rede 172.52.xx/16 .
Qual rota você acha que estou perdendo? Preciso permitir que instâncias na VPC isolada na Irlanda alcancem a VPC padrão em Oregon.
Sua configuração não funcionará porque o emparelhamento de VPC não é transitivo, consulte: http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html#transitive-peering para o documento oficial em isto. o que isso significa para sua configuração é que apenas o tráfego entre a VPC padrão da Irlanda e a VPC isolada da Irlanda fluirá (172.91.0.0/16 <-> 172.91.0.0/16)
Os pacotes do Oregon destinados à VPC isolada (172.31.0.0/16 <-> 172.52.0.0/16) serão descartados pelo link de peering, mesmo se você colocar rotas nas tabelas de rotas das VPCs isoladas e padrão, o que eu acho você está faltando.
Se você só precisa de conectividade em uma direção (ou seja, servidor em cliente VPN isolado em Oregon. você pode ter a instância openVPN Ireland NAT tráfego de Oregon para a VPC isolada. /16 que é permitido.
SE o NAT não funcionar, você precisará configurar a conectividade direta entre a VPC isolada e a VPC do Oregon, seja com mais túneis VPN ou o novo emparelhamento entre regiões https://aws.amazon.com/about-aws /whats-new/2017/11/announcing-support-for-inter-region-vpc-peering/ (observe que ainda não o usei, então não tenho ideia de quais limitações adicionais ele pode ter)
Ok, parece que a Amazon ouviu minha chamada e estendeu seu comando atual "create-vpc-peering" há apenas alguns dias e agora permite emparelhar VPCs em diferentes regiões.
Também parece que no momento ainda não é suportado pelo AWS Cloud Formation, mas pode ser feito através da interface do usuário e do Cli.
Se você procurar na documentação oficial da Amazon - create-vpc-peering , verá uma nova opção:
Portanto, a necessidade de VPN entre as regiões não é mais porque posso usar esse recurso de emparelhamento entre regiões para atingir meu objetivo de estabelecer uma rede entre minha VPC isolada na Irlanda e a VPC de gerenciamento em Oregon.