← AWS Advanced Networking: redes e produção
21 / 22 · 120 MIN

Cloud WAN e VPC partilhada: governação e mudança

Desenha relações entre segmentos, controla associações e prepara uma mudança com responsáveis e critérios observáveis.

1. Desenhar relações antes de escrever a política

Num exercício fictício, três equipas gerem aplicações de fundos, desenvolvimento e serviços comuns. O requisito é permitir que produção e desenvolvimento consultem serviços comuns, mantendo a separação entre os dois ambientes. Começa por uma matriz de origens, destinos, protocolos e operações permitidas. Um segmento Cloud WAN representa um domínio de encaminhamento; não representa um papel de utilizador da aplicação. Partilhar attachments de serviços comuns com dois segmentos não cria, por transitividade, uma partilha entre estes. A matriz deve incluir tentativas proibidas e o caminho de retorno. Se ambos os ambientes conseguirem chegar a um servidor comum que funciona como proxy, a política de rotas não demonstra que esse servidor impede trânsito aplicacional entre ambientes. Esse controlo precisa de desenho e evidência próprios.

2. Ler associação, partilha e filtragem como decisões distintas

As regras de attachment policy avaliam o attachment, incluindo as suas tags e metadados. Não presumem as tags da VPC associada. A primeira regra correspondente, por ordem numérica crescente, decide a associação; uma regra genérica demasiado cedo pode impedir uma regra específica posterior. Sem correspondência, o attachment fica sem segmento. A aceitação manual acrescenta uma decisão à associação e deve ter um responsável com critérios claros. Na partilha de rotas, allow-filter restringe relações já criadas; sozinho não cria a partilha pretendida. O modo attachment-route não redistribui automaticamente rotas estáticas nem rotas recebidas de outro segmento. Escreve testes para a ausência de rotas e para associações inesperadas, incluindo uma tag mal escrita. A aplicação local no fim da aula demonstra apenas a precedência de regras simplificadas. As routing policies atuais exigem o esquema 2025.11. A associação destas políticas usa labels próprios, geridos pelo owner da core network, e não as tags usadas para escolher segmentos. Numa revisão de IaC, confirma primeiro a versão do esquema e depois os recursos e regras referenciados. Um ficheiro JSON válido pode continuar incompatível com a versão escolhida. A migração do esquema deve entrar na análise de impacto regional.

3. Separar criação, aplicação e aceitação operacional

Uma nova versão pode estar pronta para execução enquanto a política LIVE continua anterior. A aprovação do ficheiro JSON não aplica o change set. Compara valores antigos e novos, confirma as regiões afetadas e executa a alteração segundo a janela aprovada. Acompanha o progresso, mas reserva a aceitação operacional para testes de conectividade e isolamento. O âmbito regional depende dos campos alterados: mudar a versão do esquema afeta todos os core network edges, enquanto descrições não representam uma mudança equivalente. Restaurar uma versão antiga cria uma nova versão a partir dela; continua a ser necessário rever e aplicar a mudança. O rollback pode recuperar a configuração, mas não garante recuperação de sessões ou operações de negócio em curso. Regista como reconciliar instruções cujo resultado ficou incerto.

4. Inserir inspeção com um caminho verificável

Um network function group identifica attachments onde existe uma função de rede ou segurança. A ação send-via encaminha tráfego entre VPCs através dessa função e de volta à core network. Send-to representa um caminho de saída através da função. A seleção exige conhecer origem, destino, região da inspeção e percurso de retorno. No modo dual-hop, a arquitetura precisa dos attachments de inspeção nas duas regiões envolvidas; não basta duplicar nomes na política. A restrição de um attachment por grupo e região também não limita o número de appliances que podem existir dentro da VPC de inspeção. Antes de aceitar o desenho, demonstra que tráfego permitido chega ao serviço, tráfego proibido é bloqueado e os registos permitem atribuir o resultado à função correta. Evita converter sucesso de deployment em prova de inspeção efetiva.

5. Atribuir trabalho ao owner correto numa VPC partilhada

Partilhar uma subnet não transfere a administração de todas as suas dependências. O owner mantém route tables, NACLs e attachments de Transit Gateway; o participante gere recursos seus, como interfaces e security groups. Durante um incidente, a equipa participante pode ver a route table sem a poder alterar. Dar-lhe mais permissões IAM não elimina essa fronteira do modelo de partilha. Define previamente como escalar uma alteração de rede ao owner, com destino, porta, evidência e prazo. Para observabilidade, distingue os flow logs da subnet dos logs de interfaces pertencentes ao participante. O owner pode criar os seus registos, mas não deve presumir que consegue descrever ou apagar flow logs criados pelo participante. A matriz de responsabilidades deve acompanhar a aplicação quando muda de equipa ou de conta.

6. Planear retirada e passagem a RUN

Retirar a partilha de uma subnet impede novos recursos do participante, mas os existentes podem continuar a funcionar. Isso não demonstra que autoscaling ou substituição de nós continuam possíveis: workflows geridos podem precisar da partilha contínua. Num descomissionamento, inventaria recursos, dependências de recuperação e responsáveis pela eliminação antes de fechar o projeto. O owner não consegue apagar a subnet enquanto restarem recursos do participante. O documento de entrega deve identificar versão LIVE, associações aprovadas, fluxos testados, alertas, contactos e critérios de reversão. No exercício local, altera a prioridade da regra genérica e observa a mudança de segmento selecionado. Discute depois o que falta para aceitar uma rede real: aprovação, propagação, rotas, controlos de tráfego e resultado aplicacional. O código não substitui esses testes nem contacta serviços AWS.

def select_segment(rules, attachment_tags):
    for priority, key, value, segment in sorted(rules):
        if key == "*" or attachment_tags.get(key) == value:
            return segment
    return None

rules = [(20, "env", "prod", "production"), (90, "*", "", "sandbox")]
assert select_segment(rules, {"env": "prod"}) == "production"
assert select_segment(rules, {"env": "prodd"}) == "sandbox"
assert select_segment(rules[:1], {"env": "prodd"}) is None
assert select_segment(rules, {}) == "sandbox"  # VPC tags are not an input
broad_first = [(10, "*", "", "sandbox"), rules[0]]
assert select_segment(broad_first, {"env": "prod"}) == "sandbox"
print("five precedence checks passed; no AWS policy evaluated or changed")
NA PRÁTICA

Caso fictício: uma equipa declara a migração concluída porque a versão 12 está Ready to execute. A versão 11 permanece LIVE e um teste proibido ainda passa. A equipa revê o change set, aplica a versão aprovada e repete testes positivos e negativos antes da aceitação.

Armadilhas comuns

Confundir LATEST com LIVE; usar tags da VPC no lugar das do attachment; presumir partilha transitiva; retirar uma subnet sem testar substituição de recursos.

Tópicos relacionados: Inspeção centralizada · Arquitetura entre contas · Mudança e descomissionamento

Leva esta ideia contigo

A política define intenção; a execução, os testes de fluxos e a atribuição de responsabilidades demonstram a entrega.

Criar conta

Referência: Core network policy version parameters · ANS-C01

AWS é uma marca comercial da Amazon.com, Inc. ou das suas afiliadas. A dr.pt é uma plataforma de preparação independente e não está afiliada, associada, patrocinada, autorizada nem aprovada por AWS. Os conteúdos e as perguntas são originais, não são perguntas oficiais de exame, e concluir os nossos testes não atribui nem garante qualquer certificação. Os nomes são usados apenas para identificar o tema. Todas as outras marcas pertencem aos respetivos titulares.