Minicurso
Computação em Nuvem
Prática: AWS
Glauber Cassiano Batista
Ricardo Sohn
Membros Colméia
Roteiro Geral
●
●
●
Definições
–
Virtualização
–
Data center
–
Computação em Nuvem
Principais classificações:
–
Modelos de Serviços
–
Modelos de implantação
–
Arquitetura de referência
Soluções de nuvem gratuitas (até certo
uso):
–
●
Amazon Web Services
Soluções de nuvem de código aberto:
–
OpenStack
Amazon Web Services
3
Amazon AWS
●
É o conjunto de web services que constituem uma
plataforma de computação em nuvem
●
Desenvolvida e mantida pela Amazon
●
Os serviços mais populares:
–
–
Amazon EC2 – Permite a criação de servidores virtuais
Amazon S3 – Armazenamento escalável na nuvem
4
5
EC2 – Elastic Compute
Cloud
6
Amazon AWS - EC2
●
●
●
Oferece uma capacidade de computação
redimensionável na nuvem
A interface simples permite criar e configurar
instâncias sem dificuldades
No modo gratuito é possível criar instâncias T1 Micro
com poucos recursos computacionais, mas suficientes
para testes
7
8
Casos de Uso
●
Startups
●
Ciência e pesquisa
●
Gerenciamento e balanceamento de carga
●
Servidores
9
Acessando o AWS
●
●
●
Neste curso é usado uma configuração na qual a partir de uma conta
do AWS são criados vários usuários
Hyperlink para acesso:
–
https://colmeia.signin.aws.amazon.com/console
–
Usuários e senhas fornecidos no inicio do curso
Importante fazer o experimento no GNU/Linux
10
11
Criando uma nova
instância
●
No console de gerenciamento da Amazon Web Services
(AWS), no primeiro grupo de serviços, clique em EC2
12
Criando uma nova
instância
●
●
Na página seguinte é exibido o painel de
gerenciamento do EC2
Para criar uma nova instância, clique no botão “Launch
Instance”
13
Criando uma nova
instância
14
Criando uma nova
instância
●
●
Selecione uma imagem de sua escolha e defina a
arquitetura
Por fim, clique em “Select”
15
Criando uma nova
instância
●
●
Na próxima etapa é escolhido o número de instâncias a
serem criadas, o tipo da instância e a localização.
A instância do tipo T2.Micro está disponível no modo
gratuito por um ano, até 750 horas por mês
16
Criando uma nova
instância
17
Criando uma nova
instância
18
Criando uma nova
instância
19
Criando uma nova
instância
20
Criando uma nova
instância
21
Criando uma nova
instância
22
Criando uma nova
instância
●
●
É necessário criar um Key Pair para acessar a instância
via SSH
Basta escolher o nome e clicar em “Create & Download
you Key Pair ” ou caso você não tenha um par será
solicitado no momento do lançamento da instância
–
Salve o arquivo gerado, preferencialmente em um pendrive
ou em outra partição
●
Lembre-se: os computadores do laboratório apagam todo
o conteúdo do /home a cada inicialização
23
Criando uma nova
instância
24
Criando uma nova
instância
25
26
Criando uma nova
instância
●
Por padrão existe um grupo de segurança configurado
–
Somente está liberado o acesso via SSH
27
Acesso às Instâncias
28
Acesso via SSH
●
●
O único modo de acessar sua instância é pelo SSH
(Secure Shell)
Mesmo que você tente acessar pelo console de
gerenciamento da Amazon, terá de usar um cliente
Java que executa um applet no navegador
29
Acesso via SSH
●
●
●
Para se conectar é necessário usar a chave que foi
criada durante a criação da instância
No GNU/Linux o cliente SSH já está instalado por
padrão
Chave deve possuir permissão 400:
–
●
chmod 400 <arquivo da chave.pem>
Para se conectar basta digitar:
ssh -i <caminho_da_chave.pem>
usuário@dns_publico_da_instancia
30
Nome DNS
31
Acesso via SSH
32
Acesso via SSH
33
Acesso via SSH
●
No acesso via navegador você somente precisará
informar a localização da sua chave de acesso e
executar o aplicativo
34
Acesso via SSH
35
Acesso via SSH
●
Se tudo estiver certo, o aplicativo será aberto e você
terá acesso ao sistema
36
S3 – Simple Storage
Service
37
Amazon AWS - S3
●
●
●
●
Oferece capacidade escalável de armazenamento na
nuvem
Pode ser utilizado para armazenar qualquer quantidade
de dados e recuperá-los de qualquer lugar na web
O nível gratuito permite até 5GB de armazenamento
O armazenamento é realizado por meio de buckets
(depósitos)
38
39
40
Casos de Uso
●
Compartilhamento de mídias
●
Distribuição de softwares/mídias
●
Backup
●
Armazenamento online
●
Armazenamento de aplicativos
41
API Amazon Web
Services
42
API Amazon AWS
●
●
●
●
A Amazon disponibiliza uma API de seus serviços em
várias plataformas e linguagens
Também disponibiliza Toolkits para as IDEs Eclipse e
MS-Visual Studio
No site da Amazon está disponível toda a documentação
da API
As informações das operações da API podem ser
enviadas através de:
–
–
SDK para Java, Visual C#, PHP, Python, entre outras
Um CLI disponível para sistemas Linux
43
API Amazon EC2
44
API Amazon EC2
●
A API do Amazon Elastic Compute Cloud possui mais
funções do que a API do Simple Storage Service
–
Isso se deve ao fato de que o gerenciamento de máquinas
virtuais é mais complexo do que gerenciamento de arquivos
45
API Amazon EC2
Detalhes de algumas ações da API do Amazon EC2:
●
●
●
●
●
Amazon Machine Images: é possível criar, copiar, modificar e
registrar imagens das máquinas
Endereços IP Elásticos: possibilita alocar, associar, descrever,
desassociar e liberar Ips Elásticos
Instâncias: permite iniciar, parar, finalizar, reiniciar e monitorar
instâncias, entre outros
Pares de chaves: permite criar, deletar e importar pares de
chaves de acesso às instâncias
Grupos de segurança: criar, deletar, autorizar e revogar acesso
dos grupos à certas instâncias
46
API Amazon EC2
●
Exemplo:
–
●
Criando uma nova instância (Java)
Requisitos:
–
–
–
–
–
–
ImageID – ID da AMI
InstanceType – Tipo da instância a ser criada
MinCount – Número mínimo de instâncias
MaxCount – Número máximo de instâncias
KeyName – Nome da chave de acesso
SecurityGroup – Grupo de segurança da instância
47
API Amazon EC2
●
●
Para criar uma instância utilizando o SDK para Java é
necessário autenticar o usuário
Crie um arquivo chamado “AwsCredentials.properties”
com a seguinte estrutura:
secretKey=SUA_CHAVE_SECRETA
accessKey=SUA_CHAVE_DE_ACESSO
●
A chave secreta e a chave de acesso devem ser criadas
na seção “Security Credentials” do menu
“Conta/Console”
48
API Amazon EC2
●
Depois disso é necessário definir o local do arquivo e então
inicializar o cliente
AWSCredentials credentials =
new PropertiesCredentials(
AwsConsoleApp.class.getResourceAsStream("AwsCredent
ials.properties"));
amazonEC2Client =
new AmazonEC2Client(credentials);
amazonEC2Client.setEndpoint("ec2.us-west2.amazonaws.com");
49
API Amazon EC2
●
Pedido:
RunInstancesRequest runInstancesRequest = new RunInstancesRequest();
runInstancesRequest.withImageId("ami-e7b8c0d7")
.withInstanceType("m1.small")
.withMinCount(1)
.withMaxCount(1)
.withKeyName(“YourKeyName”)
.withSecurityGroups("YourSecurityGroupName");
RunInstancesResult runInstancesResult =
amazonEC2Client.runInstances(runInstancesRequest);
Fonte:http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/run-instance.html
50
API Amazon EC2
●
Exemplo:
–
●
Criando uma nova instância (CLI GNU/Linux)
Comando:
–
ec2-run-instances ami_id -n numero_de_instancias -k
keypair -g grupo --instance-type tipo_da_instância
Fonte:
http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ApiRefe
rence-cmd-RunInstances.html
51
API Amazon EC2
●
Exemplo:
–
●
Criando uma nova instância (CLI GNU/Linux)
Exemplo:
–
ec2-run-instances ami-e7b8c0d7 -n 1 -k administrador -g
grupo1 --instance-type t2.micro
–
OBS: a ami-e7b8c0d7 é correspondente ao S.O. Ubuntu 14.04 na zona
de disponibilidade us-east-1 (Virgínia do Norte)
–
OBS2: o tipo da instância t2.micro é correspondente ao tamanho de
instância micro (gratuito no período de um ano)
52
API Amazon S3
●
●
A API do Amazon Simple Storage Service é dividida entre a SOAP API e a
REST API
Ambas as APIs permitem manipular os buckets e os objetos, mas o
acesso é realizado de forma diferente entre essas interfaces
53
API Amazon S3
Detalhes da SOAP API:
●
●
●
●
SOAP é um protocolo para troca de informações estruturadas em
uma plataforma descentralizada e distribuída
Operações no serviço: Permite listar todos os buckets criados pelo
usuário
Operações no bucket: Permite criar, excluir, listar, obter e definir a
política de controle de acesso e obter e definir o status de registro
de um bucket
Operações nos objetos: permite colocar objetos, copiá-los, pegá-los,
deletá-los, obter e definir a política de controle dos objetos em um
buckets
54
API Amazon S3
Detalhes da REST API:
●
●
●
●
●
REST é uma arquitetura de comunicação distribuída para sistemas
hipermídia
Possui uma lista de cabeçalhos de pedido e resposta
Operações no serviço: permite fazer uma listagem dos buckets de
propriedade do remetente autenticada no pedido
Operações no bucket: permite manipular os buckets, como criá-los, excluílos, manipular as políticas de acesso, as listas de controle de acesso,
localização, ciclos de vida, etc.
Operações nos objetos: permite manipular os objetos um a um ou vários,
simultaneamente
–
Permite também adicionar objetos divididos em várias partes e então consolidálos depois
55
API Amazon S3
56
API Amazon S3
●
Exemplo:
–
–
Listar todos os buckets
Este exemplo lista todos os buckets (depósitos) alocados na
zona de disponibilidade escolhida
57
API Amazon S3
●
Autenticação
AmazonS3 s3 = new AmazonS3Client(new
ClasspathPropertiesFileCredentialsProvider())
;
Region usWest2 =
Region.getRegion(Regions.US_WEST_2);
s3.setRegion(usWest2); //Região de Oregon
58
API Amazon S3
●
Pedido:
System.out.println("Listing buckets");
for (Bucket bucket : s3.listBuckets()) {
System.out.println(" - " + bucket.getName());
}
Fonte: Retirado dos exemplos do SDK para Java. SDK
disponível em: http://aws.amazon.com/pt/sdkforjava/
59
Casos de Uso utilizando vários
serviços Amazon
●
Servidor de Aplicativos Web
–
Arquiteturas de referência AWS
●
●
●
●
●
●
Amazon EC2
Auto Scaling
Elastic Load Balancing
Amazon Route 53
Amazon CloudFront
Amazon S3
60
61
Casos de Uso utilizando vários
serviços Amazon
●
Processamento Batch
–
Arquitetura de Referência AWS
●
●
●
●
●
●
Amazon EC2
Amazon RDS
Amazon SimpleDB
Amazon S3
Auto Scaling
Amazon SQS
62
63
Casos de Uso utilizando vários
serviços Amazon
●
Serviço de conteúdo e mídia
–
Arquitetura de Referência AWS
●
●
●
●
Amazon EC2
Amazon Route 53
Amazon CloudFront
Amazon S3
64
65
AWS Marketplace
66
AWS Marketplace
●
●
É possível adquirir soluções prontas no AWS
Marketplace
As soluções consistem de pacotes pré-configurados de
serviços Amazon
–
–
Algumas soluções são gratuitas e outras são pagas
Para ambos os casos é necessário pagar as taxas dos
serviços utilizados
67
68
AWS Marketplace
●
●
●
O AWS oferece também algumas soluções e exemplos
que funcionam com base nelas
Os exemplos vão desde hospedagem Web à
mecanismos de busca
Os exemplos estão disponíveis em:
http://aws.amazon.com/pt/solutions/aws-solutions/
69
Perguntas?
●
Site:
www.colmeia.udesc.br
●
e-mail: [email protected]
Obrigado!
Este trabalho está licenciado sob uma licença Creative
Commons
Atribuição-Compartilhamento pela mesma licença 2.0
http://creativecommons.org/licenses/by-sa/2.0/br/
Download

Minicurso Computação em Nuvem Prática: AWS - Colméia