Você está na página 1de 28

GCP Fundamentals: Core Infrastructure

Máquinas virtuais na nuvem


Tópicos
Rede de nuvem privada virtual (VPC)

Compute Engine

Recursos importantes de VPC

Teste e laboratório
Redes de nuvem privada virtual

● Cada rede de VPC está contida em


um projeto do GCP.
● Você pode provisionar recursos do Cloud
Platform, que podem ser conectados entre
si e isolados uns dos outros.

Suas redes VPC conectam os recursos do Google Cloud Platform entre si e com a
Internet. Você pode segmentar redes, usar regras de firewall para restringir o acesso
a instâncias e criar rotas estáticas para encaminhar tráfego a destinos específicos.

Muitos usuários usam o GCP para definir a própria nuvem privada virtual dentro do
primeiro projeto do GCP. Ou podem escolher a VPC padrão para começar.
As redes de VPC do Google Cloud são globais
e as sub-redes são regionais
Minha VPC

us-east1

my-subnet1 us-east1-b us-east1-c

10.0.0.0/24

10.0.0.2 10.0.0.3

As redes da nuvem privada virtual do Google têm escopo global. Elas têm sub-redes
em qualquer região do GCP. As sub-redes VPC podem abranger as zonas de uma
região. Essa arquitetura facilita a definição de um layout de rede com escopo global.
Você também pode ter recursos em diferentes zonas na mesma sub-rede.

Você pode aumentar dinamicamente o tamanho de uma sub-rede em uma rede


personalizada se expandir o intervalo de endereços IP alocados a ela. Isso não afeta
as VMs configuradas.

Neste exemplo, sua VPC tem uma rede. Até o momento, ela tem uma sub-rede
definida, na região us-east1 do GCP. Observe que há duas VMs do Compute Engine
anexadas a ela. Elas são vizinhas na mesma sub-rede mesmo que estejam em zonas
diferentes. Você pode usar esse recurso para criar soluções resilientes com layouts
de rede simples.
Tópicos
Rede de nuvem privada virtual (VPC)

Compute Engine

Recursos importantes de VPC

Teste e laboratório
O Compute Engine oferece máquinas virtuais gerenciadas

● Tipos de máquina com alta CPU,


grande quantidade de memória,
núcleo compartilhado e padrão
● Discos permanentes
● Padrão, SSD ou SSD local
● Snapshots
● Redimensionamento de discos
sem inatividade
● Scripts de inicialização
e metadados de instância

Cada máquina virtual tem o poder e a generalidade de um sistema operacional


completo. Configurar uma máquina virtual é muito parecido com a criação de um
servidor físico. Você especifica a quantidade de poder de CPU e memória, o tipo e a
quantidade de armazenamento e o sistema operacional. O Compute Engine permite
criar e executar máquinas virtuais na infraestrutura do Google. Não há investimento
inicial, e você pode executar milhares de CPUs virtuais em um sistema projetado
para ser rápido e oferecer desempenho confiável.

Você tem a flexibilidade de reconfigurar as máquinas virtuais do Compute Engine. E


uma VM executada na nuvem do Google tem conexão de rede mundial inigualável.

Você pode usar o Console do Google Cloud Platform ou a ferramenta de linha de


comando gcloud para criar uma instância de máquina virtual. Uma instância do
Compute Engine pode executar imagens do Linux e Windows Server fornecidas pelo
Google ou qualquer versão personalizada dessas imagens. Você também pode criar
e executar imagens de outros sistemas operacionais.
O Compute Engine oferece preços que cabem
no bolso dos clientes
● Faturamento por segundo, descontos
por uso prolongado, descontos
por uso contínuo
● Instâncias preemptivas
● Capacidade alta de armazenamento
sem custo adicional
● Tipos de máquinas personalizados:
pague apenas pelo hardware de
que você precisa

A cobrança do Compute Engine é por segundo de uso das máquinas virtuais, com
um mínimo de um minuto. Os descontos são aplicados automaticamente para
máquinas virtuais executadas por frações substanciais de um mês. Para cada VM
que você executa por mais que 25% de um mês, o Compute Engine concede
automaticamente um desconto para cada minuto adicional. Você pode ganhar até
30% de desconto líquido em VMs executadas o mês inteiro.

No Compute Engine, é possível fechar contratos de uso contínuo para garantir


grandes descontos na utilização das VMs. Esses descontos são conhecidos como
descontos por uso contínuo. Se sua carga de trabalho for estável e previsível,
compre uma quantidade de vCPUs e de memória com até 57% de desconto em
troca do compromisso de utilização por um ou três anos.

Suponha que você tem uma carga de trabalho que não é executada por pessoas. Por
exemplo, um job em lote de análise de um grande conjunto de dados. Você pode
economizar se usar VMs preemptivas para executar o job. Uma VM preemptiva tem
apenas uma diferença em relação à VM comum do Compute Engine: você recebe
permissão do Compute Engine para encerrá-la se precisar de recursos em outro
lugar. É possível economizar bastante com VMs preemptivas, mas lembre-se de
possibilitar que o job seja interrompido e reiniciado.
Você não precisa selecionar uma opção ou um tipo de máquina específico para ter
alta capacidade entre o processamento e os discos permanentes. Esse é o padrão.

Para escolher as propriedades de máquina das instâncias, como o número e a


quantidade de memória das CPUs virtuais, use um conjunto de tipos de máquina
predefinidos ou crie os próprios tipos de máquina personalizados.
Escalone vertical ou horizontalmente com o Compute Engine

Use VMs grandes para aplicativos que Use o escalonamento automático para
usam muita computação e memória aplicativos escalonáveis e resilientes

Com o Compute Engine, é possível criar VMs muito grandes. Quando esta
apresentação foi criada, o número máximo de CPUs virtuais em uma VM era de 96 e
dependia da zona. O tamanho máximo de memória era de 624 GB (6,5 GB por CPU).

Há também um tipo de máquina com megamemória de até 1,4 TB.

Confira as informações mais atuais sobre esses limites no site do GCP.

Essas VMs enormes são ótimas para cargas de trabalho como bancos de dados na
memória e análises com uso intensivo da CPU. Porém, a maioria dos clientes do GCP
começa com escalonamento horizontal, não vertical. O Compute Engine tem um
recurso chamado de escalonamento automático que permite adicionar e retirar VMs
do seu aplicativo com base em métricas de carregamento. Além disso, é necessário
também balancear o tráfego de entrada entre as VMs. E a VPC do Google é
compatível com vários tipos de balanceamento de carga. Vamos ver esses tipos na
próxima seção.
Tópicos
Rede de nuvem privada virtual (VPC)

Compute Engine

Recursos importantes de VPC

Teste e laboratório
Você controla a topologia da sua rede de VPC

● Use a tabela de rota para encaminhar


tráfego na rede, até mesmo entre
sub-redes.
● Use o firewall para controlar as permissões
de tráfego da rede.
● Use a VPC compartilhada para
compartilhar uma rede ou sub-redes
individuais com outros projetos do GCP.
● Use peering de VPC para interconectar
redes nos projetos do GCP.

Assim como as redes físicas, VPCs têm tabelas de roteamento. Elas são usadas para
encaminhar tráfego de uma instância para outra dentro da mesma rede, mesmo
entre sub-redes e zonas do GCP, sem exigir um endereço IP externo. As tabelas de
roteamento são integradas. Você não precisa provisionar ou gerenciar um roteador.

Além disso, você não precisa provisionar ou gerenciar um firewall. As VPCs


oferecem um firewall global distribuído que pode ser usado para restringir o acesso
às instâncias, tanto do tráfego de entrada quanto o de saída. Um recurso muito
conveniente é poder definir regras de firewall como tags de metadados nas
instâncias do Compute Engine. Por exemplo, você pode marcar todos os seus
servidores da Web como “WEB” e escrever uma regra de firewall para permitir
tráfego com essa tag nas portas 80 ou 443 em todas as VMs, seja qual for o
endereço IP.

Lembre-se de que as VPCs pertencem aos projetos do GCP. E se sua empresa tiver
muitos projetos do GCP, e as VPCs precisarem se comunicar? Se você quiser apenas
estabelecer uma relação de peering entre duas VPCs para troca de tráfego,
configurar peering de VPC é suficiente. Por outro lado, se quiser usar todo o poder
do IAM para controlar quem e o que em um projeto pode interagir com uma VPC em
outro projeto, configure VPC compartilhada.
Com o Cloud Load Balancing global, seu aplicativo apresenta
um único front-end para o mundo

● Os usuários recebem um endereço IP


anycast único e global.
● O tráfego passa pelo backbone do
Google para ir do ponto de presença
Usuário
mais próximo ao usuário.
Tóquio
● Os back-ends são selecionados com
base na carga.
● Apenas back-ends íntegros recebem
tráfego.
● Não é necessário pré-aquecimento.
Usuário Usuário
Nova York Alemanha

Em um slide anterior, conversamos sobre como as máquinas virtuais podem usar o


escalonamento automático para responder às mudanças de carga. Mas como os
clientes acessam seu aplicativo, já que ele pode ser fornecido, dependendo do
momento, por quatro ou por quarenta VMs? O Cloud Load Balancing é a resposta.

O Cloud Load Balancing é um serviço gerenciado totalmente distribuído e definido


por software para todo o seu tráfego. Como os balanceadores de carga não são
executados nas VMs que você precisa gerenciar, não é necessário se preocupar
com escalonamento ou gerenciamento. Você pode colocar o Cloud Load Balancing
na frente de todo o seu tráfego: HTTP(S), outros tráfegos TCP e SSL, além de tráfego
UDP.

Com o Cloud Load Balancing, um único IP anycast serve de front-end para todas as
instâncias de back-end em várias regiões do mundo. Ele oferece balanceamento de
carga entre regiões com failover automático multirregional, que redireciona o
tráfego em frações de modo suave no caso de comprometimento da integridade
dos back-ends. O Cloud Load Balancing reage rapidamente a mudanças de usuários,
tráfego, rede, integridade do back-end e outras condições relacionadas.

E se você prever um grande aumento na demanda? Por exemplo, você tem um jogo
on-line de sucesso. Você precisa abrir um tíquete de suporte para avisar o Google
sobre a carga de entrada? Não. Não é necessário o que chamamos de
pré-aquecimento.
O VPC do Google oferece um pacote de opções de
balanceamento de carga

Balanceamento de Balanceamento de Balanceamento de Balanceamento de Balanceamento de


carga de camada 7 carga de camada 4 de carga de camada 4 de carga de qualquer carga de tráfego
com base na carga tráfego SSL não tráfego TCP não SSL tráfego (TCP, UDP) dentro de uma VPC
HTTPS com base na
carga

Pode rotear URLs Compatível em Compatível em Compatível em Use para camadas


diferentes a back-ends números de porta números de porta qualquer número de internas de aplicativos
diferentes específicos específicos porta de vários níveis

Se você precisar de balanceamento de carga entre regiões para um aplicativo da


Web, use balanceamento de carga HTTP(S). Para tráfego secure socket layer que
não seja HTTP, use o balanceador de carga de proxy SSL global. Se for outro tráfego
que não usa o secure socket layer, use o balanceador de carga de proxy TCP global.

Esses dois serviços de proxy funcionam apenas para TCP em números de porta
específicos. Se quiser balancear tráfego UDP ou em qualquer número de porta, você
poderá usar o balanceador de carga regional em qualquer região do GCP.

Finalmente, o que todos esses serviços têm em comum é que eles são planejados
para tráfego que chega da rede do Google pela Internet. E se você quiser balancear
a carga do tráfego dentro do seu projeto, por exemplo, entre a camada de
apresentação e a camada comercial do seu aplicativo? Nesse caso, use o
balanceador de carga interno. Ele aceita tráfego em um endereço IP interno do GCP
e faz o balanceamento de carga entre VMs do Compute Engine.
O Cloud DNS tem alta disponibilidade e é escalonável

● Crie zonas gerenciadas e depois


adicione, edite e exclua registros de DNS
● Use API RESTful ou interface de linha de
comando para gerenciar zonas e
registros de forma programática

Um dos serviços gratuitos mais famosos do Google é o 8.8.8.8, que oferece um


serviço de nome de domínio (DNS) público para o mundo. O DNS traduz nomes do
host da Internet para endereços e, como você pode imaginar, o Google tem uma
infraestrutura de DNS altamente desenvolvida. O 8.8.8.8 está disponível a todos.

Mas e quanto aos nomes do host e endereços de Internet dos aplicativos criados no
GCP?
Para que eles possam ser encontrados, o GCP oferece o Cloud DNS. Ele é um
serviço de DNS gerenciado executado na mesma infraestrutura do Google. Ele tem
baixa latência e alta disponibilidade, além de ser uma maneira econômica de
disponibilizar seus aplicativos e serviços aos usuários. As informações de DNS
publicadas são disponibilizadas a partir de locais redundantes em todo o mundo.

O Cloud DNS é também programável. Você pode publicar e gerenciar milhões de


zonas e registros de DNS com o Console do GCP, a interface de linha de comando
ou a API.
Cloud CDN (rede de fornecimento de conteúdo)

● Use o armazenamento em cache próximo


dos usuários finais que o Google oferece
● Ou o CDN Interconnect se preferir uma
CDN diferente

O Google tem um sistema global de caches próximos dos usuários finais. Você pode
usar esse sistema para acelerar o envio de conteúdo no seu aplicativo usando o
Google Cloud CDN. Seus clientes terão uma latência de rede menor, as origens do
seu conteúdo terão uma redução de carga e você poderá economizar dinheiro.
Assim que configurar o balanceamento de carga HTTP(S), basta marcar uma caixa
de seleção para ativar o Cloud CDN.

Claro, há muitas outras CDNs disponíveis. Se você já usa uma, provavelmente ela faz
parte do programa de parceria CDN Interconnect do GCP, e você não precisa fazer
nenhuma mudança.
O Google Cloud Platform oferece muitas opções de interconexão

Peering direto Interconexão dedicada


Conexão privada entre você e o Google para Conecte circuitos de transporte 10G N X
cargas de trabalho de nuvem híbrida para tráfego de nuvem privada para
Google Cloud nos POPs do Google
SLAs disponíveis
VPN
Proteja conexões de vários Gbps
em túneis VPN

Peering por operadora Interconexão por parceiro


Conexão pela maior rede de parceiros Conectividade entre sua rede local e a rede da
provedores de serviço VPC com um provedor de serviços
compatível
SLAs disponíveis

Muitos clientes do GCP querem interconectar suas outras redes às VPCs do Google,
como redes locais ou redes em outras nuvens. Há muitas opções boas.

Muitos clientes começam com uma conexão de rede privada virtual pela Internet
usando o protocolo IPsec. Para que ela seja dinâmica, usam um Cloud Router. O
Cloud Router permite que outras redes e sua VPC do Google usem o Border
Gateway Protocol para trocar informações de rota pela VPN. Por exemplo, se você
adicionar uma nova sub-rede à VPC do Google, sua rede local receberá
automaticamente rotas para ela.

Mas alguns clientes não querem usar a Internet por motivos de segurança ou porque
precisam de uma largura de banda mais confiável. Eles podem usar o peering direto
com o Google. Peering significa colocar um roteador no mesmo data center público
de um ponto de presença do Google e fazer a troca de tráfego com ele. O Google
tem mais de 100 pontos de presença em todo o mundo. Clientes que não estiverem
em um ponto de presença podem contratar um parceiro no programa de peering
por operadora para se conectarem.

O peering tem a desvantagem de não estar coberto por um contrato de nível de


serviço do Google. Clientes que quiserem ter o máximo de tempo de atividade na
interconexão com o Google devem usar interconexão dedicada, que oferece
conexões privadas mais diretas com o Google. Se essas conexões cumprirem as
topologias especificadas pelo Google, elas poderão ser cobertas por um SLA de até
99,99%. Para maior confiabilidade, essas conexões podem ser apoiadas por uma
VPN.

A Interconexão por parceiro conecta sua rede local e a rede da VPC com um
provedor de serviços compatível. Ela é útil quando o data center está em um local
físico que não consegue alcançar uma instalação de colocalização da Interconexão
dedicada ou quando os dados não precisam de uma conexão inteira de 10 Gbps. É
possível configurar a Interconexão por parceiro para ser compatível com serviços ou
aplicativos essenciais que tolerem tempo de inatividade. Isso depende das suas
necessidades de disponibilidade. Assim como a Interconexão por parceiro, se essas
conexões tiverem topologias que atendem às especificações do Google, elas
poderão ter uma cobertura de SLA de até 99,99%. No entanto, observe que o
Google não é responsável por qualquer aspecto da Interconexão por parceiro
oferecida pelo provedor de serviços terceirizado nem problemas externos à rede do
Google.
Tópicos
Rede de nuvem privada virtual (VPC)

Compute Engine

Recursos importantes de VPC

Teste e laboratório
Pergunta nº 1
Cite três serviços de rede robustos disponíveis aos seus
aplicativos no Google Cloud Platform.
Pergunta nº 1
Cite três serviços de rede robustos disponíveis aos seus
aplicativos no Google Cloud Platform.

Cloud Virtual Network, Cloud Interconnect, Cloud DNS, Cloud Load Balancing e
Cloud CDN.
Pergunta nº 2
Cite três recursos de preço do Compute Engine.
Pergunta nº 2
Cite três recursos de preço do Compute Engine.

Faturamento por segundo, tipos de máquinas personalizados, descontos por uso contínuo.
Pergunta nº 3
Verdadeiro ou falso: O Google Cloud Load Balancing
permite balancear o tráfego HTTP em várias regiões
do Compute Engine.
Pergunta nº 3
Verdadeiro ou falso: O Google Cloud Load Balancing
permite balancear o tráfego HTTP em várias regiões
do Compute Engine.

Verdadeiro
Laboratório
Neste laboratório, crie
instâncias de máquina virtual
(VM) e se conecte a elas.
Você também fará a conexão
entre as duas instâncias.
Objetivos do laboratório
● Criar uma máquina virtual do Compute
Engine usando o Console do Google
Cloud Platform

● Criar uma máquina virtual do Compute


Engine usando a interface de linha de
comando gcloud

● Fazer a conexão entre as duas instâncias


Mais recursos
Google Compute Engine https://cloud.google.com/compute/docs/
Google Cloud Platform VPC https://cloud.google.com/compute/docs/vpc/
Google Cloud Stackdriver https://cloud.google.com/stackdriver/docs/
Guia da ferramenta gcloud https://cloud.google.com/source-repositories/docs/

Você também pode gostar