72
Amazon Elastic Block Store Avançado Bruno França dos Reis, Technical Trainer Amazon Web Services

3 amazon ebs avancado - 2015 - bfreis - v1

Embed Size (px)

Citation preview

Page 1: 3   amazon ebs avancado - 2015 - bfreis - v1

Amazon Elastic Block Store

AvançadoBruno França dos Reis, Technical Trainer – Amazon Web Services

Page 2: 3   amazon ebs avancado - 2015 - bfreis - v1

Tópicos

Visão Geral - Amazon EBS• Volumes

• Snapshots

Performance

Criptografia

Perguntas e Respostas

Page 3: 3   amazon ebs avancado - 2015 - bfreis - v1

Amazon EBS

Page 4: 3   amazon ebs avancado - 2015 - bfreis - v1

Para a maioria, AWS é Plug and Play!

Source: http://www.trucksplanet.com/catalog/model.php?id=1020

Page 5: 3   amazon ebs avancado - 2015 - bfreis - v1

Um HD “normal”

Page 6: 3   amazon ebs avancado - 2015 - bfreis - v1

EBS =

Page 7: 3   amazon ebs avancado - 2015 - bfreis - v1

O que é Amazon EBS?

• Armazenamento de blocos

• Desponível via rede

• Usados em instâncias do Amazon EC2 na

mesma Zona de Disponibilidade (AZ)

• Snapshots point-in-time dos volumes, gravados

no Amazon S3

Page 8: 3   amazon ebs avancado - 2015 - bfreis - v1

O Que é Amazon EBS? (parte 2)

• É um serviço!

• É independente do EC2

• Objetivos de disponibilidade regionais e por AZ– Todos os volumes EBS são projetados para 99.999% de

disponibilidade

• Mais de 1,5 milhões de volumes são criados

todos os dias

Page 9: 3   amazon ebs avancado - 2015 - bfreis - v1

Algumas definições…

• IOPS: operações de E/S por segundo (#)

• Taxa de transferência: taxa de E/S no dispositivo (MB/s)

• Latência: tempo entre início da requisição e fimda operação (ms)

• Capacidade: volume de dados que podem serarmazenados (GB)

• Tamanho do bloco: tamanho de cada E/S (kB)

Page 10: 3   amazon ebs avancado - 2015 - bfreis - v1

Tipos de volumes EBS

• General Purpose (SSD)

• Provisioned IOPS (SSD)

• Magnetic

Quando performance é importante, use volumes SSD.

Page 11: 3   amazon ebs avancado - 2015 - bfreis - v1

Volumes EBS baseados em SSD

• Considerações aplicáveis a General Purpose

(SSD) e Provisioned IOPS (SSD)

• IOPS medidos em blocos de até 256 kB

• Latências esperadas menores que 10 ms

• Projetados para 99,999% de disponibilidade

Page 12: 3   amazon ebs avancado - 2015 - bfreis - v1

Volumes EBS General Purpose (SSD)

• Novo tipo de volume EB padrão

• Podem atingir picos de 3000 IOPS– Volumes maiores seguram o pico por mais

tempo

• Performance: 3 IOPS por GB– Máximo de 10.000 IOPS

• 99% de consistência de performance

• Até 160 MB/s de taxa de transferência

Page 13: 3   amazon ebs avancado - 2015 - bfreis - v1

General Purpose (SSD) – Base & picos

16 KB I/O size

Page 14: 3   amazon ebs avancado - 2015 - bfreis - v1

(2) Máximo de créditos de E/S

acumulados = 5,4 milhões

(1) Sempre acumulando 3

IOPS por GB

Explorando os picos do General Purpose (SSD)

Performance de base: 3 IOPS por GB

(3) É possível gastar até

3.000 créditos de E/S IO

por segundo

Page 15: 3   amazon ebs avancado - 2015 - bfreis - v1

Minutos para gastar todos os créditos de E/S depende da capacidade

Quanto maior o volume, mais tempo leva para gastar os créditos de E/S. Em outras

palavras, o pico dura mais tempo. Volumes de 1+ TB nunca esgotam créditos de E/S.

Page 16: 3   amazon ebs avancado - 2015 - bfreis - v1

Minutos para gastar todos os créditos de E/S depende da capacidade

Quanto maior o volume, mais tempo leva para gastar os créditos de E/S. Em outras

palavras, o pico dura mais tempo. Volumes de 1+ TB nunca esgotam créditos de E/S.

Page 17: 3   amazon ebs avancado - 2015 - bfreis - v1

Exemplo de volume General Purpose (SSD)

Microsoft Windows, volume raíz de 30 GB:

• Começa com 5,4M de créditos de E/S

• Alcança pico de 3000 IOPS por até 30

minutos

• Continuamente acumulando 90 créditos

de E/S por segundo

Page 18: 3   amazon ebs avancado - 2015 - bfreis - v1

Melhora no tempo de inicialização

m3.medium

Volume type Boot time Access time OS

GP2 3:31 4:33 Windows Server

2012

Magnetic 4:30 7:16 Windows Server

2012

GP2 0:36 0:45 CentOS6

Magnetic 0:57 1:16 CentOS6

40% de redução no tempo de boot usando General Purpose (SSD)

Page 19: 3   amazon ebs avancado - 2015 - bfreis - v1

Volumes para Bancos de Dados

Volume de 1 TB PIOPS com 4k IOPS = $526.40 por mês, por volume

Volume de 1 TB volume GP2 com 3k IOPS = $102.40

2 x 500 GB, 3k IOPS, com picos de até 6k = $102.40

80% de redução de custo, 50% mais performance

de pico usando General Purpose SSD

Page 20: 3   amazon ebs avancado - 2015 - bfreis - v1

Orientações para dimensionamento de General

Purpose (SSD)

Discos de boot, desenvolvimento, teste, aplicações web:

Provisione a capacidade necessária (GB) para a aplicação

Bancos de dados:

1. Calcule a quantidade de IOPS necessária em regime permanente

2. Faça o seguinte cálculo: (IOPS em regime permanente) ÷ 3 = GB para provisionar

Nota: Picos de E/S vão suportar:

• Carga de operações “scan”

• Picos sazonais

Page 21: 3   amazon ebs avancado - 2015 - bfreis - v1

Volumes EBS PIOPS (SSD)

• Melhores para aplicações com E/S intensa, bancos de

dados que necessitem consistência de performance

• Taxa de transferência de até 320 MB/s

• Provisione até 20.000 IOPS por volume

(suporta proporção IOPS:GB de 30)

• Projetado para 99,9% de consistência em performance

Page 22: 3   amazon ebs avancado - 2015 - bfreis - v1

Volumes EBS Magnetic

• Melhores para uso “a frio”

• Dados raramente acessados que precisam estar

imediatamente disponíveis

• IOPS: ~100 IOPS em regime permanente

• Eventuais picos de algumas centenas

• Taxa de transferência: variável, cerca de dezenas de MB/s

• Latência: variável, tipicamente ~20-40 ms de leitura, ~2-10

ms de escrita

Page 23: 3   amazon ebs avancado - 2015 - bfreis - v1

Resumo – tipos de volumes EBS

General Purpose (SSD) Provisioned IOPS (SSD) Magnetic

Recommend use cases

Boot volumes

Small to med DBs

Dev and test

I/O-intensive workloads

Large DBsCold storage

Storage media SSD-backed SSD-backed Magnetic-backed

Volume size 1 GB - 16 TB 4 GB - 16 TB 1 GB - 1 TB

Max IOPS per volume 10,000 IOPS 20,000 IOPS ~100 IOPS

Burst < 1 TB to 3000 IOPS baseline baseline

Read and write peak throughput 160 MB/s 320 MB/s ~50-90 MBps

Max IOPS per node (16k) 48,000 48,000 48,000

Peak throughput node 800 MB/s 800 MB/s 800 MB/s

Latency (random read) 1-2 ms 1-2 ms 20-40 ms

API Name gp2 io1 standard

Price* $.10/GB-month$.125/GB-month

$.065/provisioned IOPS

$.05/GB-month

$.05/ 1M I/O

Page 24: 3   amazon ebs avancado - 2015 - bfreis - v1

Por que General Purpose (SSD) é o padrão?

• Elevada performance de base

• Picos para níveis ainda mais elevados de IOPS

• Precificação de dimensão única, baseada em

capacidade

– Projeção de custos simplificada

– Elimina complexidade de dimensionamento

• Densidade de preço atrativa ($/GB, $/IOPS)

Page 25: 3   amazon ebs avancado - 2015 - bfreis - v1

Sempre use General Purpose (SSD) para volumes de boot

Page 26: 3   amazon ebs avancado - 2015 - bfreis - v1

Migração para volumes General Purpose (SSD)

Troque o tipo de volume na inicialização

Use Snapshots do EBS

Você pode conseguir redimensionar o sistema de

arquivos

Use o guia para dimensionamento do General

Purpose (SSD)

Page 27: 3   amazon ebs avancado - 2015 - bfreis - v1

Benefícios do uso de Snapshots EBS

Mais duráveis que um volume EBS• Armazenados no Amazon S3

Diferenciais• Primeiro snapshot é um clone

• Pague apenas pelo que usar

Independente de Zona de Disponibilidade• Clone em qualquer AZ

Podem ser copiados de maneira eficienteentre regiões

Page 28: 3   amazon ebs avancado - 2015 - bfreis - v1

Snapshots e Tags

Use tags para adicionar

metadados a Snapshots:

• Tipo (dinário, semanal)

• Versão

• Id da instância

• Id do volume

• Aplicação

Page 29: 3   amazon ebs avancado - 2015 - bfreis - v1

Performance

Page 30: 3   amazon ebs avancado - 2015 - bfreis - v1

Teoria das filas – Lei de Little

Lei de Little é fundamental para otimização de

performance• Matematicamente provada por John Little em 1961

Q = λ * RQ = Tamanho da fila = # de requisições em espera

λ = Taxa de chegada = requisições chegando (#/s)

R = Tempo de resposta = tempo médio para completar requisições

Performance do EBS está relacionada a essa lei

Page 31: 3   amazon ebs avancado - 2015 - bfreis - v1

Otimização de performance é medida por:

IOPS: Taxa de E/S (IOPS)

Latência: Tempo entre envio de

requisição e confirmação (ms)

Taxa de transferência: taxa de MB/s; taxa de transferência = IOPS × tamanho E/S

Page 32: 3   amazon ebs avancado - 2015 - bfreis - v1

Elementos fundamentais para otimização de

performance

1. Instância EC2

2. Operação de E/S

4. Volume EBS

3. Link de rede

Page 33: 3   amazon ebs avancado - 2015 - bfreis - v1

Ferramentas disponíveis para otimização de

performance:

1. Tipo de instância EC2: Largura de banda de rede (Mbps)

2. Instâncias “EBS-optimized”: Opção da instância (on/off)

3. Aplicação: Tamanho de bloco, proporção E/S, serialização

4. Tamanho da fila: Número de operações E/S em espera

5. RAID: Múltiplos volumes para aumento de performance

6. Pre-aquecimento: Elimina penalidade de primeiro acesso

Page 34: 3   amazon ebs avancado - 2015 - bfreis - v1

1. Tipo de instância EC2

Compute-optimized – C3,C4

Memory-optimized – R3

General-Purpose – M3

EBS

EC2

Selecione o tipo de instância EC2 com as características

de performance necessárias para usa aplicação (CPU,

memória, rede)

Page 35: 3   amazon ebs avancado - 2015 - bfreis - v1

2. Instâncias “EBS-Optimized”

Maioria das famílias de instância suportam “EBS-optimized”

Instâncias “EBS-optimized” suportam até 4 Gbps

• Realize 32.000 IOPS de 16kB, ou 500 MB/s

Instâncias EC2 *.8xlarge suportam rede de 10 Gbps

Máximo IOPS por instância é ~48.000 IOPS de 16kB de E/S

Page 36: 3   amazon ebs avancado - 2015 - bfreis - v1

Use instâncias “EBS-optimized”

para consistência de performance

Page 37: 3   amazon ebs avancado - 2015 - bfreis - v1

3. Aplicação

Tamanho do bloco de E/S:

• 4 KB até 64 MB

Padrão de acesso:

• Sequencial ou aleatório

Tipo de operação:

• Leituras ou escritas

Concorrência de E/S:

• Número de operações

concorrentes

Volumes baseados em SSD medem 1 operação de até 256 KB

Volumes baseados em SSD entregam mesma performance para leituras e

escritas

Page 38: 3   amazon ebs avancado - 2015 - bfreis - v1

Limites de IOPS e taxa de transferência

20,000 IOPS

PIOPS volume

20,000 IOPS

320 MB/s

throughput

Pode-se alcançar até 20.000 IOPS

com operações de E/S menores

Pode-se alcançar até 320 MB/s

com operações de E/S maiores

Page 39: 3   amazon ebs avancado - 2015 - bfreis - v1

Limites de IOPS e taxa de transferência

8,000 IOPS

PIOPS volume

8,000 IOPS

320 MB/s

throughput

8.000 x 64 kB = 512 MB/s

1,250 x 256 kB = 320 MB/s

8.000 x 8 kB = 64 MB/s

8.000 x 16 kB = 128 MB/s

16.000 x 8 kB = 128 MB/s

8.000 x 32 kB = 256 MB/s

Page 40: 3   amazon ebs avancado - 2015 - bfreis - v1

Tamanho do bloco (E/S) determina se a

performance da sua aplicação será limitada por

IOPS ou taxa de transferência

Page 41: 3   amazon ebs avancado - 2015 - bfreis - v1

4. Tamanho da fila

Uma operação de E/S

EBS

Se não usou operação a que tinha direito, perdeu

EC2

Quantidade de operações de E/S pendentes

Page 42: 3   amazon ebs avancado - 2015 - bfreis - v1

Monitorando volumes EBS

Métricas importantes do

CloudWatch:

• IOPS

• Taxa de transferência

• Latência

• Tamanho da fila

Page 43: 3   amazon ebs avancado - 2015 - bfreis - v1

Latência

• Tempo decorrido entre envio da operação de E/S e seu

término

• Requisitos de performance podem ser baseados em:

– IOPS

– latência

– ou ambos

• Existe uma relação entre IOPS, latência e tamanho da fila

Page 44: 3   amazon ebs avancado - 2015 - bfreis - v1

Latência: como seria um gráfico de amostras?

Page 45: 3   amazon ebs avancado - 2015 - bfreis - v1

Latência: usando boxplot

Page 46: 3   amazon ebs avancado - 2015 - bfreis - v1

Latência: base de comparação

Page 47: 3   amazon ebs avancado - 2015 - bfreis - v1

Latência: volume General Purpose (SSD)

Page 48: 3   amazon ebs avancado - 2015 - bfreis - v1

Latência: instâncias de última geração

Page 49: 3   amazon ebs avancado - 2015 - bfreis - v1

EC2: comparação de instâncias

m2.4xlarge

CPU: Intel Xeon

vCPU: 8

Memória: 68.4 GiB

Preço: $0.98/hora

r3.2xlarge

CPU: Intel Xeon E5-2670 v2

vCPU: 8

Memória: 61 GiB

Enhanced Networking

Preço: $0.70/hora

* All pricing from us-east-1

Page 50: 3   amazon ebs avancado - 2015 - bfreis - v1

Latência de leitura aleatória

0.075

35.1

0

5

10

15

20

25

30

35

40

1 4 8 12 16 20 24 28 32

La

ten

cy T

P9

0 (

ms

)

Queue depth

Latência de leitura aleatória para diversos tamanhos de fila

Latency (TP90)

Read latency linearly increases with increase in queue depth

Page 51: 3   amazon ebs avancado - 2015 - bfreis - v1

Latência de leitura aleatória

0.075

35.1

2.09

1,865

4,152

3,851

-

500

1,000

1,500

2,000

2,500

3,000

3,500

4,000

4,500

0

5

10

15

20

25

30

35

1 4 8 12 16 20 24 28 32

La

ten

cy

TP

90

(m

s)

Queue depth

IOPS de 16 kB em leituras aleatórias, latência para diversostamanhos de fila

Latency (TP90) Avg Read IOPS

IOP

S

Tamanho de fila 1 apresenta a menor latência, mas também menor IOPS

Page 52: 3   amazon ebs avancado - 2015 - bfreis - v1

Latência de leitura aleatória

0.075

35.1

2.09

1,865

4,152

3,851

-

500

1,000

1,500

2,000

2,500

3,000

3,500

4,000

4,500

0

5

10

15

20

25

30

35

1 4 8 12 16 20 24 28 32

La

ten

cy

TP

90

(m

s)

Queue depth

IOPS de 16 kB em leituras aleatórias, latência para diversostamanhos de fila

Latency (TP90) Avg Read IOPS

IOP

S

Tamanho de fila entre 4 e 8 apresenta valores otimizados de IOPS e latência

Page 53: 3   amazon ebs avancado - 2015 - bfreis - v1

Latência de leitura aleatória

0.075

35.1

2.09

1,865

4,152

3,851

-

500

1,000

1,500

2,000

2,500

3,000

3,500

4,000

4,500

0

5

10

15

20

25

30

35

1 4 8 12 16 20 24 28 32

La

ten

cy

TP

90

(m

s)

Queue depth

IOPS de 16 kB em leituras aleatórias, latência para diversostamanhos de fila

Latency (TP90) Avg Read IOPS

IOP

S

Filas excessivamente grandes tem impacto negativo em IOPS e latência

Page 54: 3   amazon ebs avancado - 2015 - bfreis - v1

Latência de escrita aleatória

0.08

7.71

845

4,152

0

500

1,000

1,500

2,000

2,500

3,000

3,500

4,000

4,500

0

1

2

3

4

5

6

7

8

9

10

1 4 8 12 16 20 24 28 32

La

ten

cy

TP

90

(m

s)

Queue depth

IOPS de 16 kB em escritas aleatórias, latência para diversostamanhos de fila

Latency (TP90) AvgIOPS

IOP

S

Relação similar para escritas entre IOPS, latência e tamanho de fila

Page 55: 3   amazon ebs avancado - 2015 - bfreis - v1

Tamanho de fila otimizado para alcançar baixa latência e alto IOPS

é tipicamente entre 4-8; ~1 operação em espera por 500 IOPS

Instâncias “EBS-optimized” apresentam consistência nas latências

Use volumes SSD com instâncias EC2 de última geração

Page 56: 3   amazon ebs avancado - 2015 - bfreis - v1

5. RAID

Aumenta performance, capacidade ou ambos

Para mais de 320 MB/s ou 20k IOPS, é necessário

fazer “striping”

Não misture tipos de volumes

Geralmente RAID 0 ou LVM stripe

Evite RAID para redundância

EBS

EC2

Page 57: 3   amazon ebs avancado - 2015 - bfreis - v1

Performance máxima por instância

Snapshots de volumes em RAID?

• Interromper E/S do sistema de arquivos, e criar snapshot; ou

• Desmontar sistema de arquivos, e criar snapshot; ou

• Usar ferramentas específicas de cada SO.

12×400 GB PIOPS, pre-aquecido, RAID 0 LVM, stripe size 128 KB, anexado a instância CR1.8xlarge

Page 58: 3   amazon ebs avancado - 2015 - bfreis - v1

Use stripe size de 128 KB ou 256 KB

Page 59: 3   amazon ebs avancado - 2015 - bfreis - v1

6. Pre-aquecimento

• Elimina penalidade de primeiro acesso

• Tipicamente 5%, pior caso extremo é perda de 50% de performance (IOPS e latência) quando volumes são usados sem pre-aquecimento:

– Performance será conforme provisionada quando todos os blocos tiverem sidoacessados

• Recomendações para benchmarks:

– Para novos volumes:

• Linux: Use DD para escrever no volume todo

• Windows: use “full format” NTFS

– Pre-aquecimento de 1 TB PIOPS/General Purpose (SSD) leva ~1 hora

• Lembre de verificar a documentação: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-prewarm.html

Page 60: 3   amazon ebs avancado - 2015 - bfreis - v1

Use blocos grandes durante pre-aquecimento

Exemplo: sudo dd if=/dev/xvdf

of=/dev/xvdf conv=notrunc bs=1M

Page 61: 3   amazon ebs avancado - 2015 - bfreis - v1

Últimas dicas de performance

• Use sistemas de arquivos modernos (ext4 ou

XFS)

• Alinhamento pode ser importante!

• verifique que ferramentas usam 4k

Page 62: 3   amazon ebs avancado - 2015 - bfreis - v1

Workload/

software

Typical block

size

Random/

Seq?

Max EBS @ 500

MB/s instances

Max EBS @

1 GB/s instances

Max EBS @ 10 GB/s

instances

Oracle DB Configurable:2 KB

–16 KB

Default 8 KB

random ~7,800 IOPS ~15,600 IOPS ~96,000 IOPS

Microsoft SQL

Server

8 KB w/ 64 KB

extents

random ~7,800 IOPS ~15,600 IOPS ~80,000 IOPS

MySQL 16 KB random ~4,000 IOPS ~7,800 IOPS ~48,000 IOPS

PostgreSQL 8 KB random ~7,800 IOPS ~15,600 IOPS ~96,000 IOPS

MongoDB 4 KB serialized ~15,600 IOPS ~31,000 IOPS ~96,000 IOPS

Apache

Cassandra

4 KB random ~15,600 IOPS ~31,000 IOPS ~96,000 IOPS

GlusterFS 128 KB sequential ~500 IOPS ~1,000 IOPS ~6,000 IOPS

Tabela de exemplo: aplicações na AWS

Page 63: 3   amazon ebs avancado - 2015 - bfreis - v1

EBS-optimized instance

Quatro componentes: balanceados (Oh, YEAH!!)

EC2

A “boatload” of I/O

Right-sized EBS

Page 64: 3   amazon ebs avancado - 2015 - bfreis - v1

Ferramentas disponíveis para otimização de

performance:

1. Tipo de instância EC2: Largura de banda de rede (Mbps)

2. Instâncias “EBS-optimized”: Opção da instância (on/off)

3. Aplicação: Tamanho de bloco, proporção E/S, serialização

4. Tamanho da fila: Número de operações E/S em espera

5. RAID: Múltiplos volumes para aumento de performance

6. Pre-aquecimento: Elimina penalidade de primeiro acesso

Page 65: 3   amazon ebs avancado - 2015 - bfreis - v1

Criptografia

Page 66: 3   amazon ebs avancado - 2015 - bfreis - v1

Por que criptografar?

Segurança:

Protege contra alguém que consiga acesso físico não autorizado ao volume

Pode ajudar com compliance:

• Chief Information Security Officer determina uso de criptografia para proteção de

dados sigilosos

• Auditores terceiros querem evidência de que dados sigilosos de clientes se

encontram criptografados

Facilidade de uso e redução de custos:

Criptografia do EBS oferece:

• Criptografia ativada com “checkbox”, sem custos adicionais

• Gerenciamento de chaves seguro e automatizado

Page 67: 3   amazon ebs avancado - 2015 - bfreis - v1

AWS Key Management Service (KMS)

Serviço que simplifica criptografia e gerenciamento de chaves

Permite criação, uso e gerenciamento de chaves de criptografia a partir de

aplicações e outros serviços da AWS (Amazon S3, EBS, Amazon

Redshift)

Funções para gerenciamento de chaves incluem:

• Criar, habilitar, desabilitar, rotacionar, definição de políticas de acesso nas

chaves mestras (customer master key, CMK)

• Geração de chaves de dados (data keys) que podem ser exportadas do

serviços depois de criptografadas pela CMK

• Autidoria do uso das CMK através do AWS CloudTrail

Page 68: 3   amazon ebs avancado - 2015 - bfreis - v1

Uso do KMS na criação de volumes EBS

Page 69: 3   amazon ebs avancado - 2015 - bfreis - v1

Integração de outros serviços com KMS

2-tiered key hierarchy using envelope

encryption

Unique data key encrypts customer data

AWS KMS master keys encrypt data keys

Benefits of envelope encryption:

• Limits risk of a compromised data key

• Better performance for encrypting large data

• Easier to manage a small number of master

keys than millions of data keys

Master key(s)

Data key 1

S3 object EBS

volume

Amazon

Redshift

cluster

Data key 2 Data key 3 Data key 4

Custom

application

KMS

Page 70: 3   amazon ebs avancado - 2015 - bfreis - v1

Resumo

Use criptografia, se

precisarFaça snapshotsSelecione o tipo de

instância adequado

para sua aplicação

Selecione o tipo de

volume adequado

para sua aplicação

Page 71: 3   amazon ebs avancado - 2015 - bfreis - v1

Perguntas?

Page 72: 3   amazon ebs avancado - 2015 - bfreis - v1

Obrigado!