Apresentação do Cloud Ninja - como administrar sua topologia de rede, como automatizar com scripts a topologia, como replicar, ter altíssima disponibilidade. Como representar e administrar a rede na nuvem em um script.
6. Maturidade na Automação de Rede
• Automação Básica
– Automação na construção de VPC e seus respectivos
componentes
• Automação Intermediária
– Sofisticação da automação indo além da construção inicial da
rede
• Automação Avançada
– Configuração Dinâmica
12. Automação Básica de Rede
• Permite que a rede seja:
– Automatizada
– Tracking
– Versionada
• Ótimo Inicio!
– Aspiração de diversos clientes
13. Automação Intermediária de Rede
• Gestão de mudanças da rede
• Gerenciando a extensão da rede
– Peering e VPN
– NAT e VPN
• Automatizar configurações específicas de rede
– EIPs, secondary IP, roteamento de IP’s virtuais (VIPs)
14. Exemplo de Topologia com NAT
Public Subnet 1
SA-east-1
Availability Zone 1 Availability Zone 2
NAT
Public Subnet 2
NAT
Private Subnet 1 Private Subnet 2
17. Automação Intermediária de Rede
• Controlar as mudanças na rede via CloudFormation
– Templates controlados e versionados
– UpdateStack
• Adiciona e remove recursos
• Modifica regras de security group
– Eventos são acompanhados no CloudFormation
18. Automação Intermediária de Rede
• Expansão In-region com VPC peering
– Peering handshake pode ser automatizado via script
– CloudFormation “AWS::EC2::VPCPeeringConnection”
• Expansão Cross-region
– VPC, routes, VPN instances podem ser automatizados
– Vpc2vpc é um exemplo
https://github.com/vinayselvaraj/vpc2vpc
vpc2vpc create 10.1.0.0/16 10.2.0.0/16 10.3.0.0/16
23. Novo Cenário de NAT
Public Subnet 1
SA-east-1
Availability Zone 1 Availability Zone 2
NAT
Public Subnet 2
Private Subnet 1 Private Subnet 2
Auto Scaling Group
24. Automação Avançada Rede
• Automação Dinâmica: Responde dinâmicamente
quando uma condição da aplicação ou rede é
modificada
• Exemplos
– Bootstraping de instâncias
– VIP sendo reassociados com base na resposta do Auto Scaling
– Novas subnets com rotas dinâmicas
– Criar VPN’s quando novas regiões estão online
25. Automação Avançada Rede
• Abordagem Dinâmica
– Armazenamento de informações dinâmicas em um repositório
(external store)
• Repositórios Padrões
– Amazon S3, Amazon DynamoDB, Configuration Management Tool
– Tags
27. Exemplo de Tag com Múltiplos NAT’s
Public Subnet 1
SA-east-1
Availability Zone 1 Availability Zone 2
NAT
Public Subnet 2
NAT
Private Subnet 1 Private Subnet 2
TAG
NATAZ
AZ1
TAG
NATAZ
AZ2
28. Exemplo de TAG com Regiões Diferentes
Public Subnet 1
SA-East-1
Availability Zone 1 Availability Zone 1
Public Subnet 2
Private Subnet 1 Private Subnet 2
US-East-2
TAG
VPN
EIP
TAG
VPN
true
TAG
VPN
true
TAG
VPN
EIP
31. Script para NAT dinâmica
#!/bin/bash
INSTANCE_ID=`/usr/bin/curl --silent http://169.254.169.254/latest/meta-data/instance-id`
AZ=`/usr/bin/curl --silent http://169.254.169.254/latest/meta-data/placement/availability-zone`
REGION="${AZ%?}"
MAC=`curl --silent http://169.254.169.254/latest/meta-data/network/interfaces/macs/`
VPC_ID=`curl --silent http://169.254.169.254/latest/meta-data/network/interfaces/macs/$MAC/vpc-id`
ROUTE_TABLES=`aws ec2 describe-route-tables --region $REGION --output text
--filters "Name=tag:NATAZ,Values=any,$AZ" | grep ROUTETABLES | awk '{print $2}'`
# Parse through RouteTables that need to be modified
for MY_RT_ID in $ROUTE_TABLES; do
aws ec2 replace-route --route-table-id $MY_RT_ID --destination-cidr-block 0.0.0.0/0
--instance-id $INSTANCE_ID` --region $REGION
done
32. Automação Avançada Rede
• Scripts simples podem ser bem poderosos
– Criação dinânica e resiliênte de rede e seus componentes
– Responder as aplicações ou aos seus requisitos de negócio
34. Manipulação de IP
• Endereçamento de Virtual IP (VIP)
– Suporte a casos de uso menos amigáveis ao paradigma de
nuvem
• Multicast
– Suporte ao legado com dependência de Multicast
35. Abordagem tradicional com IP’s virtuais
• Elastic IP
10.0.0.55
72.44.63.250
10.0.1.79
SA-east-1
aws ec2 associate-address –network-interface-id eni-abc123d4
--allocation-id [EIP Allocation ID] --allow-reassociation
Availability Zone Availability Zone
eni-abc123d4
36. Abordagem tradicional com IP’s virtuais
• IP Secundário
10.0.0.55
72.44.63.250
10.0.0.79
SA-east-1
aws ec2 assign-private-ip-addresses --private-ip-addresses 10.0.0.10
--network-interface-id eni-123abcde --allow-reassignment
10.0.0.10
Availability Zone
37. Outra Abordagem com IP’s virtuais
• Roteamento de IP virtual
10.0.0.55
192.168.0.10
10.0.1.79
AWS Region
#ifconfig eth0:1 192.168.0.10/32 up
aws ec2 replace-route --route-table-id [Route Table ID]
--destination-cidr-block 192.168.0.10/32
--instance-id [Instance ID]
Availability Zone Availability Zone
38. Passo-a-Passo
• Configurar sua instância com outro IP
• Desabilitar “SRC/DST checking”
• Usar API replace-route para direcionar tráfego
# ifconfig eth0:1 192.168.0.10/32 up
aws ec2 replace-route --route-table-id [Route Table ID]
--destination-cidr-block 192.168.0.10/32
--instance-id [Instance ID]
aws ec2 modify-instance-attribute --instance-id [Instance ID]
–no-source-dest-check
39. Comparativo das abordagens
Abordagem Pros Contras
EIP Multi-AZ Somente IP Público
Secondary IP IP Público e/ou
Privado
Single AZ
Roteamento do VIP Multi-AZ Somente IP Privado
Acessível somente na VPC
40. Multicast
• Algumas aplicações legadas requerem multicast
– Descoberta de Nós (Node discovery)
– Gerenciamento de Sessão (Session management)
– Failover automático
41. Multicast na AWS
• Não suportado diretamente
• Pode ser implementado com Overlay Network
• Túneis GRE ou L2TP, ou com ferramentas como Ntop’s N2N
10.0.0.54
10.0.0.79
10.0.1.132
Subnet 10.0.0.0/24 Subnet 10.0.1.0/24
10.0.1.183
10.0.0.41
42. Automatizando GRE multicast overlay
• Configuração de GRE pode ser automatizada
– Configuração de Multicast armazenada em tags
• Novos membros checados periodicamente (60
segundos)
172.31.16.124
172.31.28.164
172.31.47.71
Subnet 172.31.16.0/20 Subnet 172.31.32.0/20
TAG: multicast
App1,192.168.0.12/24
TAG: multicast
App1,192.168.0.11/24
TAG: multicast
App1,192.168.0.10/24
192.168.0.0/24 Overlay
Community: App1
44. Considerações sobre Multicast
• Tecnicamente não é multicast
– Pacotes Multicast são empacotados em Unicast
• Não é uma solução para escalar unicast
– Overhead adicional
• GRE adicional 38 bytes (MTU de 1500 irá efetivamente ser 1462)
• Adequado para clusters menores (Legado)
– App server node discover
– Baixo volume de tráfego
45. Scripts Utilizados Nesta Demo
• Disponível para download
https://s3.amazonaws.com/reinvent-arc401/index.html
47. “As soluções da AWS quebraram paradigmas em TI, onde
agora nossos Especialistas pensam não apenas em TI,
mas em como atingir as metas do nosso negócio.”
• Bcash é a solução completa
para quem compra ou vende em
lojas virtuais, blogs e websites,
desenvolvida para transações
rápidas e seguras na internet.
• Mais de 7 milhões de
compradores ativos
• Sistema Anti-fraude com Rede
Neurais da Fcontrol integrado
“A AWS simplificou
como implementar uma
solução de Alta
Disponibilidade e
CUSTOS baixos.”
- Fábio Alves Moreira,
Head of IT
48. Ter uma infraestrutura que suporte meu
crescimento rapido, disponibilidade e ROI baixo.
• Escalabilidade para suportar a
expansão dos negócios;
• Segurança é essencial para nosso
mercado.
• Ter um ambiente de rede
complexo, com implementação
simples.
• Alta Disponibilidade e Custos que
são condizentes com minha
realidade.