Entendendo a nuvem privada virtual (VPC) padrão no AWS

Kenneth Hui

AWS 201: Understanding the Default Virtual Private Cloud

Na minha publicação anterior no blogue , apresentei as noções básicas da Infraestrutura global da AWS. Compreender esses conceitos é fundamental para entender o AWS Virtual Private Cloud (VPC) e como ele permite recursos avançados de rede para seus recursos do AWS. Um VPC é uma rede virtual logicamente isolada, abrangendo toda uma região do AWS, onde as suas instâncias EC2 são lançadas. Uma VPC tem como principal objetivo permitir as seguintes capacidades:

  • Isolamento dos seus recursos AWS de outras contas
  • Encaminhamento do tráfego de rede de e para as suas instâncias
  • Proteger as suas instâncias contra intrusões na rede

Existem seis componentes principais que são fundamentais para uma VPC e que serão criados por um utilizador ou pelo AWS como parte de uma VPC predefinida. Estes componentes são:

  • Bloco CIDR da VPC
  • Sub-rede
  • Portas de entrada
  • Tabela de rotas
  • Listas de controlo de acesso à rede (ACLs)
  • Grupo de Segurança

Todas as contas AWS criadas após 4 de dezembro de 2013 suportam VPCs e a estas contas é atribuída uma VPC predefinida em cada região AWS. Estas VPCs predefinidas foram concebidas para facilitar aos utilizadores do AWS a configuração da rede para as suas instâncias EC2. No resto deste post, vou mostrar-lhe o aspeto de um VPC predefinido na consola AWS e destacar as definições predefinidas importantes. Começará no "VPC Dashboard" na sua consola AWS, que fornece uma visão geral dos componentes que estão disponíveis como parte da sua pegada VPC. Note que os componentes básicos que mencionei anteriormente já estarão provisionados como parte do VPC padrão que é atribuído a cada conta AWS para cada região. VPC AWS 2

Bloco CIDR da VPC

Selecione "Your VPCs" na barra lateral esquerda e o painel exibirá todos os seus VPCs em uma determinada região da AWS, incluindo o VPC padrão. Uma região só pode ter uma VPC predefinida. Embora possa ter até cinco VPCs numa região, apenas a VPC inicial que o AWS cria para si pode ser a VPC predefinida. VPC AWS 3 Cada VPC está associada a um intervalo de endereços IP que faz parte de um bloco CIDR (Classless Inter-Domain Routing) que será utilizado para atribuir endereços IP privados a instâncias EC2. A AWS recomenda que as VPCs utilizem intervalos privados definidos em RFC 1918. Estes intervalos privados são reservados pela IANA (Internet Assigned Numbers Authority) e não podem ser encaminhados para a Internet. Podem ser atribuídos intervalos de tamanhos diferentes com alocações diferentes de endereços IP a uma VPC, dependendo da necessidade. Todas as VPCs padrão serão associadas a um bloco CIDR IPv4 com um intervalo de endereços 172.31.0.0/16. Isto dar-lhe-á 65.536 endereços IP possíveis, menos alguns endereços reservados da AWS. As VPCs podem ser criadas com blocos CIDR mais pequenos, como um /20, que produziria 4091 endereços possíveis.

Sub-rede

Em seguida, se for ao ecrã "Subnets", verá que já foram atribuídas várias sub-redes predefinidas à sua VPC predefinida, uma sub-rede para cada zona de disponibilidade. VPC AWS 4 Uma sub-rede está sempre associada a uma única zona de disponibilidade e não pode abranger várias zonas. No entanto, uma zona de disponibilidade pode alojar várias sub-redes. Cada sub-rede numa VPC está associada a um bloco CIDR IPv4 que é um subconjunto do bloco CIDR /16 da sua VPC. Numa VPC predefinida, cada sub-rede predefinida está associada a um intervalo de endereços de bloco CIDR /20 que terá 4091 endereços IP possíveis, menos os cinco endereços que o AWS reserva sempre. Note-se que duas sub-redes não podem ter intervalos de endereços sobrepostos. Quando lança uma instância EC2 numa VPC predefinida sem especificar uma sub-rede específica, esta é automaticamente lançada numa das sub-redes predefinidas. Cada instância numa sub-rede predefinida recebe um endereço IP privado do conjunto de endereços associados a essa sub-rede e também um nome de anfitrião DNS privado. Em uma sub-rede padrão, uma instância também receberá um endereço IP público do pool de endereços de propriedade da AWS, juntamente com um nome de host DNS público, que facilitará o acesso à Internet para suas instâncias. VPC AWS 5

Portas de entrada

Frequentemente, as suas instâncias EC2 necessitarão de conetividade fora do AWS para a Internet ou para a rede empresarial de um utilizador através da utilização de gateways. Para a comunicação com a Internet, uma VPC deve estar ligada a um gateway de Internet. Um gateway de Internet é um serviço AWS totalmente gerido que efectua a tradução bidirecional de endereços de rede de origem e destino para as suas instâncias EC2. Opcionalmente, uma VPC pode utilizar uma porta de ligação privada virtual para conceder às instâncias acesso seguro à rede empresarial de um utilizador através de ligações VPN ou de ligação direta. As instâncias numa sub-rede também podem receber apenas acesso à Internet de saída através de um gateway NAT. Uma sub-rede que fornece às suas instâncias uma rota para um gateway da Internet é considerada uma sub-rede pública. Uma sub-rede privada pode estar numa VPC com um gateway de Internet ligado, mas não terá uma rota para esse gateway. Numa VPC predefinida, todas as sub-redes predefinidas são sub-redes públicas e terão uma rota para um gateway predefinido. VPC AWS 6

Tabela de rotas

Mencionei o encaminhamento várias vezes ao falar sobre o gateway da Internet. Cada VPC está ligada a um router implícito. Este router não é visível para o utilizador e é totalmente gerido e dimensionado pelo AWS. O que é visível é a tabela de rotas associada a cada sub-rede, que é utilizada pelo router VPC para determinar as rotas permitidas para o tráfego de rede de saída que sai de uma sub-rede. Observe na captura de tela abaixo que cada tabela de rotas contém uma rota local padrão para facilitar a comunicação entre instâncias na mesma VPC, mesmo entre sub-redes. Esta rota local intra-VPC está implícita e não pode ser alterada. No caso da tabela de rotas principal que está associada a uma sub-rede predefinida, haverá também uma rota para a Internet através do gateway predefinido para a VPC. VPC AWS 7 Note-se também que cada sub-rede deve estar associada a uma tabela de rotas. Se a associação não for explicitamente definida, então uma sub-rede será implicitamente associada à tabela de rotas principal. VPC AWS 8

Segurança da rede

Uma preocupação que poderá ter é a segurança da rede, especialmente se todas as sub-redes predefinidas numa VPC predefinida forem públicas e abertas ao tráfego da Internet. O AWS fornece mecanismos de segurança para suas instâncias na forma de ACLs de rede e grupos de segurança. Estes dois mecanismos podem funcionar em conjunto para fornecer proteção em camadas às suas instâncias EC2. Uma ACL funciona como uma firewall que controla o tráfego de rede que entra e sai de uma sub-rede. Cria regras para permitir ou recusar o tráfego de rede para protocolos específicos, através de portas específicas e para intervalos de endereços IP específicos. As ACLs de rede são stateless e têm regras de entrada e saída separadas. Isto significa que têm de ser criadas regras de entrada e de saída para permitir que determinado tráfego de rede entre na sub-rede e para que as respostas regressem. É atribuído um número a cada regra e todas as regras são avaliadas a partir da regra com o número mais baixo. Quando o tráfego chega à firewall, é avaliado em relação às regras por ordem ascendente. Assim que é avaliada uma regra que corresponde ao tráfego que está a ser considerado, esta é aplicada independentemente do que é indicado numa regra subsequente. VPC AWS 9VPC AWS 10 Como indicado acima, a ACL predefinida numa VPC predefinida é configurada com regras de numeração inferior para o tráfego de entrada e de saída que se combinam para permitir explicitamente a comunicação bidirecional para qualquer protocolo, através de qualquer porta e de e para qualquer origem ou destino. É possível associar uma ACL a várias sub-redes, mas uma única sub-rede só pode ser associada a uma ACL. Se não associar especificamente uma ACL a uma sub-rede, a sub-rede é automaticamente associada à ACL predefinida. Este é o caso das suas VPCs predefinidas que têm todas as sub-redes associadas à ACL predefinida.

Grupos de segurança

Os grupos de segurança são considerados a primeira linha de defesa e consistem numa firewall que é aplicada ao nível da instância. Isto significa que apenas as instâncias explicitamente associadas a um grupo de segurança estarão sujeitas às suas regras, enquanto todas as instâncias numa sub-rede são afectadas pela ACL de rede aplicada a essa sub-rede. À semelhança das ACLs, cria regras de tráfego de entrada e de saída com base no protocolo, na porta e no IP de origem ou de destino. No entanto, existem algumas diferenças:

  • Pode especificar regras para permitir o tráfego de rede, mas não pode criar regras para recusar tipos específicos de tráfego. Essencialmente, todo o tráfego é negado, exceto o tráfego explicitamente permitido.
  • Os grupos de segurança são de estado, pelo que se criar uma regra para permitir a entrada de um determinado tipo de tráfego, o tráfego de saída em resposta também é permitido, mesmo que não exista uma regra de saída explícita para permitir esse tráfego.

Cada instância deve ser associada a um grupo de segurança e, se não for especificado um grupo de segurança no momento do lançamento, essa instância será associada a um grupo de segurança predefinido. VPC AWS 11 Pode ver na captura de ecrã acima que um grupo de segurança predefinido terá uma regra que apenas permite o tráfego de entrada de outras instâncias que estão associadas ao mesmo grupo de segurança predefinido. Não é permitido qualquer outro tráfego de entrada. VPC AWS 12 Observando as regras de saída acima, todo o tráfego de saída da rede é permitido pelo grupo de segurança padrão. Isto inclui o tráfego para a Internet, uma vez que uma VPC predefinida terá uma rota para um gateway de Internet predefinido. Embora o grupo de segurança predefinido possa ser modificado, não recomendamos que sejam efectuadas quaisquer alterações ao mesmo. Em vez disso, a Rackspace recomenda a criação de novos grupos de segurança que podem ser anexados aos recursos. Como pode imaginar, um VPC predefinido pode ser adequado para uma pequena aplicação de camada única não crítica, mas não é ideal para um ambiente de produção robusto. Muitas vezes, é por isso que os utilizadores modificam as suas configurações de VPC predefinidas quando se familiarizam com a tecnologia e até criam VPCs personalizadas para utilização na produção. Fique atento à minha próxima publicação no blogue, onde faremos isso mesmo e analisaremos um caso de utilização comum que apresenta um VPC personalizado com um nível de sub-rede pública e um nível de sub-rede privada. Visite a Rackspace para obter mais informações sobre os nossos especialistas certificados pela AWS e as formas como estão a ajudar os clientes a utilizar a AWS.

Pronto para lançar a sua transformação digital