Sie sind auf Seite 1von 18

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

(2+2) Como e quanto custa


colocar seu site no AWS S3

Buscar

Newsletter da CS
Assine a Newsletter quinzenal
da Concrete

Victor Hugo de Oliveira

29/07/2014

Cloud Computing - AWS

Ns utilizamos diversos servios da AWS (Amazon

Email
Subscribe

Web Services), e no apenas para nossos clientes,


pelo contrrio. Comeamos usando dentro da
Concrete para acelerar a disponibilidade dos
ambientes de desenvolvimento e QA, e depois disso,

Cloud Computing AWS (38)

comeamos a utilizar para nossa prpria

Desenvolvimento Web (166)

infraestrutura.
Nossa parceria e prestao de servios e revenda dos

DevOps (5)

servios da Amazon so consequncias.

E-Commerce (2)

Dentre os servios que usamos esto o prprio

Empreendedorismo e Negcios

domnio da Concrete Solutions e este blog. Ambos


rodando em cima de mquinas no EC2.
Tnhamos tambm, na mesma estrutura EC2 em
Apache, a Landing Page sobre nossos servios AWS
(http://aws.concretesolutions.com.br). Mesmo sendo
um gasto pequeno, nossas conversas internas sempre
1 de 18

Categorias:

(131)
Institucional (52)
Metodologias geis (41)
Mobile (104)
QA (8)

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

trazem oportunidade para evoluir, e nos pareceu


desperdcio ter um servidor para pginas que so

UX (6)

essencialmente estticas.
O site da Concrete Solutions foi parar no GitHub. O
hosting do GitHub para projetos pblicos gratuito,
e nem precisa ser totalmente esttico uma vez que
voc pode usar Jekyll nas suas pginas.
Agora vamos deixar o GitHub para outro dia. O
assunto o hosting do S3.
Achamos que seria muito apropriado colocar nossa
landing page sobre AWS na prpria Amazon e,
sendo possvel, foi isso mesmo que zemos.
Movemos a pgina para o S3. Veja como zemos
abaixo.

Passo a passo
O primeiro passo criar um Bucket no S3.
Acesse o console do S3 e clique em Create a Bucket.
Crie o Bucket com o nome do domnio que voc vai
usar. No nosso caso, colocamos
aws.concretesolutions.com.br.

H um motivo duplo para colocar o nome do bucket


igual ao do seu site. O primeiro tem relao com o

2 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

suporte a CNAME do S3, e o segundo com a


utilizao do CloudFront para a entrega do site.
Em ambos os casos, as regras de nome so mais
restritivas que as regras para nomear Buckets.
Ento, que atento a isso.
interessante deixar o log habilitado. As
informaes de acesso, por exemplo, somente
caro acessveis dessa forma.

Tendo criado o Bucket, precisamos habilitar o


hosting. De dentro do console do S3, selecione as
propriedades do seu novo Bucket criado e habilite
o Website Hosting.

Ns marcamos o arquivo da home do site para ser


o index.html, e no nosso caso, no h arquivo
para erros customizado.
Ento, se voc acessar um arquivo que no existe
no nosso site, ver a tela de erro 403 (forbidden)
padro do S3. Por exemplo,

3 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

acessando: http://aws.concretesolutions.com.br
/essearquivonaoexiste.html.
O prximo passo fazer o upload dos seus
arquivos estticos para o site.

Com o site habilitado, e antes de fazer a


mudana do nosso domnio nos servidores de
DNS, j podemos testar.
Nas propriedades do Bucket existe um endpoint
que deixa o seu site acessvel sem um domnio
customizado.

Agora s falta uma coisinha para subir: o site


tem um formulrio em PHP que envia um email
para ns. Ou seja, no esttico! E agora ?

SDK Javascript e SNS


Felizmente, para ns h uma grande variedade
de servios, e h como contornar muitas das
necessidades de pginas dinmicas no nosso
site. Mandar um e-mail de contato em um

4 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

formulrio no deveria ser complicado.


Uma forma de resolver a questo utilizar o
SNS para nos mandar um email e o SDK
Javascript para fazer a comunicao entre o
browser do cliente e o SNS.

Configurando o SNS
Acessando o console do SNS, o primeiro passo
criar um novo Tpico.

O site vai enviar mensagens para este tpico,


ento precisamos subscrever a este tpico de
alguma forma.
O jeito mais simples subscrever com uma
conta de e-mail.

No se esquea de conrmar a subscrio na


caixa de entrada do seu e-mail.
Depois disso, faa um teste publicando uma
mensagem para esse tpico.

5 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

Javascript SDK
Uma vez congurado o tpico, podemos
colocar no site nosso javascript para enviar
mensagens. O javascript vai fazer com que o
browser do cliente envie mensagens para o
tpico que criamos. Assim conseguimos
mandar um e-mail de contato usando um
site totalmente esttico.
O uso do javascript bem fcil.
Comece por incluir na pgina em que voc
quer usar o SDK o seguinte script.
<script src="https://sdk.amazonaws.com
/js/aws-sdk-2.0.9.min.js"></script>

O passo seguinte colocar suas credenciais


de acesso.
claro que voc no quer que todo mundo
possa usar a sua conta, ento, o jeito mais
fcil criar um usurio para isso, com
credenciais de segurana apenas com
direito para publicar no tpico especco j

6 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

criado.
Crie no console do IAM um usurio,
gerando credenciais de acesso no
processo de criao.
No item de segurana, escolha apenas o
acesso ao SNS com a funo Publish, e no
ARN coloque os dados do tpico que voc
criou anteriormente.

Ou seja, a nica funcionalidade que estas


credenciais do acesso a de envio de
mensagem para o tpico que voc criou.
Assim, camos tranquilos de incluir estas
credenciais nos arquivos estticos do site.
Anal, eles no tm grande utilidade alm
de mandar uma mensagem de e-mail.
A seguir, disponibilizamos estas
credenciais para o javascript.
1
2
3
4
5

<script type="text/javascript">
AWS.config.update({accessKeyId: 'IDdoAcce
, secretAccessKey: 'AccessKeyDoUsuario
AWS.config.region = 'us-east-1';
</script>

Agora cou fcil, s pegar os valores


desejados e montar a mensagem!

7 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

1
2
3
4
5
6

http://blog.concretesolutions.com.br/2014/07/22-s...

var sns = new AWS.SNS({params: {TopicArn: 'A


sns.publish({Message: str_var_da_mensagem},
if (!err) {
console.log('Message published');
alert('Biutiful');
});

Veja aqui outros exemplos de como usar


o SDK no Browser.
Agora que resolvemos a parte
dinmica do site e atualizamos os
arquivos no S3, estamos prontos para
apontar o domnio para nosso resultado
nal.

Route 53, why not ?


Agora s falta congurar nosso domnio
no Route 53 para apontar para o novo
site.

Cloudfront
Para garantir uma latncia ainda menor,
nada melhor que habilitar o Cloudfront
para o site.
Acesse o console do Cloudfront e crie
uma nova distribuio.

No nosso caso, vamos fazer uma


distribuio Web. A outra opo RTMP

8 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

vai te ajudar em casos de streaming


para Adobe Flash, utilizando este
protocolo.

A prxima parece complicada, mas


no .

Fique atento para no criar uma


distribuio do seu bucket, e sim do
seu site. O autocomplete vai te
apresentar o endereo do Bucket,
cuidado. Para isso, coloque no
Domain Name o Endpoint que vimos
acima, o endpoint da opo de Static
Website Hosting. E s.
A sua preocupao maior ao usar o
Cloudfront vai ser na verdade a
invalidao de cache quando voc
mudar o seu site. Dvidas sobre o
Cloundfront ? Se houver alguma
insegurana no uso, voc pode deixar
sem no incio e ligar o servio depois.

Isso caro ?
9 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

na verdade uma das solues mais


baratas que voc pode ter para um
site esttico.
Ainda mais considerando a
escalabilidade, latncia e
durabilidade disponvel.
A qualidade nal muito grande
pelo preo pago. No precisa
acreditar em mim. Vamos olhar para
cada servio:

S3
A precicao do S3 leva em conta a
regio. Regies diferentes tem
preos diferentes. No caso deste
site, pagamos $0,03/Gb. H ainda
um valor gratuito para os primeiros
5Gb. Ou seja, para este site o
storage gratuito.
Pagamos tambm pelos requests.
Para os requests de administrao
(PUT, COPY, POST, or LIST Requests)
a cobrana de $0,005/1000
pedidos. Tambm nos encaixamos
no free tier de 2.000 requests/ms.
Para os requests de GET os preos
so de $0,004/10.000 pedidos, e a
faixa gratuita de 20.000 requests.
Duvido que nos custe mais que
alguns centavos/ms para esta
landing page.
O terceiro critrio de cobrana para

10 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

o S3 a tranferncia de dados.
Como o Cloudfront vai se
encarregar da maior parte da
transferncia, nosso eventual
custo deve car l, e no aqui no
S3. De qualquer forma, o custo de
tranferncia para o Cloudfront
de $0,02/GB. E para a Internet, o
custo de tranferncia ca em
$0,12/GB (o 1o Gb gratuito).
Na prtica, com o Cloudfront
congurado, nosso custo em S3
deve car menor que $0,10/ms.

SNS
A precicao do SNS vai
depender muito de quais so as
subscries do seu canal.
O custo do 1o milho de
publicaes 0. A partir da o
custo de $0.50/milho de
publicaes. No nosso caso, as
publicaes vo custar pelo
menos $0.50 centavos
#soquenao, e tambm ca
gratuito.
Para a entrega o custo ser de
$0.50/milho para Push Mobile.
Para SMS o custo de
$0.75/centena.
No caso de email/email-JSON so
$2,00/100.000 envios. A faixa
gratuita de 1.000 emails.

11 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

Ainda h envios via http ou para


o servio SQS.
Talvez seja o mais caro do nosso
novo site, mas $2.00/ms ainda
esto valendo.
H tambm o custo de
transferncia de dados da
mensagem, e que no nosso
caso, certamente ca na quota
gratuita de 1Gb/ms.

Route 53
O servio do Route 53
vai nos cobrar $0.50/ms por
cada hosted zone. As queries
ALIAS para o Cloudfront e para
buckets so gratuitas. As outras
queries, dependendo do tipo,
custam $0.50/milho ou
$0.75/milho. No vou entrar
em detalhes sobre o
funcionamento do DNS em si,
mas na prtica no vamos ter
tantos request para o DNS do
site.

Cloudfront
Agora sim, o cara que vai nos
dar o prejuzo. O Cloudfront
que vai fazer a maior parte do
trabalho e efetivamente servir o

12 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

site esttico para os clientes.


Lembrando que, tipicamente
na AWS, pagamos pelos dados
que saem da infra Amazon, e
no pelos que entram.
No caso do Cloudfront,
pagamos pelos dados que
saem do S3 para cada CDN, e
dos dados que saem dos CDN
para os browsers dos clientes.
De qualquer forma, com CDNs
no Rio de Janeiro e em So
Paulo, a latncia do nosso site
certamente ser baixa para
clientes aqui no Brasil.
A taxa de transferncia do
Brasil a mais cara, mas
mesmo assim, estamos
falando de $0,25 para 10TB de
transferncia. Ok, mais que
o dobro dos $0,12 nos EUA,
mas mesmo assim, acho que
com uma moeda/ms
pagamos essa.
Vamos tambm pagar pelos
requests http e https, so
$0,016 e $0,022 por 10.000
pedidos respectivamente.
Tambm nada que chame
muito a ateno.

Somando tudo
13 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

Temos uns centavos aqui,


outros ali, mas quanto vai
custar tudo ?
Para isso, podemos usar a
calculadora AWS e somar
todos os valores com o uso
que vamos ter.
Veja a calculadora que
zemos para a nossa
landing page
http://aws.concretesolutions.com.br.
Com a estimativa de gastar
no total $1,77/ms
seguimos em frente. E agora
nossa landing page
servida pela infraestrutura
AWS.
Dvidas? S deixar aqui nos
comentrios! At a prxima.

Confira Tambm:
1. Como plugar a Amazon
AWS em grandes
infraestruturas
2. (2+2) Computao mais
barata, um guia rpido
de precicao AWS
EC2
3. Como gerar um
relatrio de preos de
instncias AWS usando
Ruby
4. Plugar o memcached
com WordPress
14 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

usando AWS

2+2

Amazon AWS

como faz

how to

precicao

princing

S3
Did you like this article? Share
it with your friends!
Like
Tweet

9
12

Written
by
Victor
Hugo
de
Oliveira
Empresrio
e
Engenheiro
de
Computao,
Sciofundador
da
Concrete
Solutions,
Conselheiro
da
FFReal,
Trainer
pela
Scrum.org,

15 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

Programador
em
linguagens
LALR,
ou
o
que
houver
para
o
dia

16 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

http://blog.concretesolutions.com.br/2014/07/22-s...

`
Comments Community
1

Login

Recommend
Sort by Best

Join the discussion


Victor Hugo
Oliveira

6 months ago

Oi Thiago, foi o que


citei na seo
Cloudfront, mas no
detalhei acima de
10TB para simplificar
a explicao. O link
para o pricing
completo o primeiro
link da seo.
Uma correo que
vale a pena citar
que o preo das
transferncia do S3
que mudou em
01/12/2014.
https://aws.amazon.com
/blogs/a...
Alm de reduzir de
$0,12 por Gb para
$0,09 por Gb eles
transformaram a
transferncia do S3
para o Cloudfront em
gratuita. Essa foi boa!
Reply

Share

17 de 18

05-08-2015 18:25

(2+2) Como e quanto custa colocar seu site no A...

2015 Blog da Concrete

http://blog.concretesolutions.com.br/2014/07/22-s...

Powered by Pinboard Theme by One Designs and


WordPress

18 de 18

05-08-2015 18:25

Das könnte Ihnen auch gefallen