Grupo de Pesquisa em
Software e Hardware Livre
Glauber Cassiano Batista
Membro Colméia
[email protected]
Joinville
Minicurso
Computação em Nuvem
Prática: AWS
Roteiro
●
●
●
●
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 de código aberto:
●
OpenStack
Soluções de nuvem gratuitas (até
certo uso):
●
Amazon Web Services
2
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
Criando uma nova instância
●
No console de gerenciamento da Amazon
Web Services (AWS), no primeiro grupo de
serviços, clique em EC2
10
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”
11
Criando uma nova instância
●
●
Surgirá no navegador um assistente de criação de instâncias
Selecione a opção “Classic Wizard” e então clique no botão
“Continue”
12
Criando uma nova instância
13
Criando uma nova instância
●
●
Na tela seguinte, será apresentada uma lista de imagens
dos sistemas operacionais disponíveis
As imagens que estão marcadas com uma estrela amarela
estão disponíveis no modo gratuito do serviço
14
Criando uma nova Instância
15
Criando uma nova instância
●
●
Selecione uma imagem de sua escolha e
defina a arquitetura
Por fim, clique em “Select”
16
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 T1.Micro está disponível no modo gratuito
por um ano
●
Até 750 horas por mês
17
Criando uma nova instância
18
Criando uma nova instância
●
É hora de configurar o particionamento dos
discos
●
Para isso basta clicar no botão “Edit”
●
Se não for necessário, basta clicar em “Continue”
19
Criando uma nova instância
20
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”
●
Salve o arquivo gerado
21
Criando uma nova instância
22
Criando uma nova instância
●
●
O próximo passo consiste em configurar o Firewall da
instância
Por padrão existe um grupo de segurança configurado
●
Somente está liberado o acesso via SSH
23
Criando uma nova instância
24
Criando uma nova instância
●
●
Na última tela do assistente é possível revisar
a configuração
Se estiver tudo certo, basta clicar em “Launch”
25
Criando uma nova instância
26
Acesso às Instâncias
27
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 roda direto do navegador
28
Acesso via SSH
●
●
●
Para se conectar é necessário usar a chave
RSA que foi criada durante a criação da
instância
Se você estiver no Linux seu cliente SSH já
deve estar instalado por padrão
Para se conectar basta digitar:
ssh -i <caminho_da_chave.pem>
usuário@dns_publico_da_instancia
29
Acesso via SSH
●
●
No acesso via navegador você somente
precisará informar onde sua chave de acesso
está localizada e rodar o aplicativo
Veja a imagem a seguir
30
Acesso via SSH
31
Acesso via SSH
●
Se tudo estiver certo, o aplicativo será aberto
e você terá acesso ao sistema
32
S3 – Simple Storage
Service
33
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)
34
35
Casos de Uso
●
Compartilhamento de mídias
●
Distribuição de softwares/mídias
●
Backup
●
Armazenamento online
●
Armazenamento de aplicativos
36
API Amazon Web Services
37
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
38
API Amazon EC2
39
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
40
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
41
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
42
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”
43
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("AwsCredentials.properties"
));
amazonEC2Client =
new AmazonEC2Client(credentials);
amazonEC2Client.setEndpoint("ec2.us-west-2.amazonaws.com");
44
API Amazon EC2
●
Pedido:
RunInstancesRequest runInstancesRequest = new RunInstancesRequest();
runInstancesRequest.withImageId("ami-4b814f22")
.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
45
API Amazon EC2
●
Exemplo:
Criando uma nova instância (CLI 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/Api
Reference-cmd-RunInstances.html
46
API Amazon EC2
●
Exemplo:
Criando uma nova instância (CLI Linux)
Exemplo:
●
●
●
●
●
ec2-run-instances ami-d0f89fb9 -n 1 -k
administrador -g grupo1 --instance-type t1.micro
OBS: a ami-d0f89fb9 é correspondente ao S.O. Ubuntu 12.04 na
zona de disponibilidade us-east-1 (Virgínia do Norte)
OBS2: o tipo da instância t1.micro é correspondente ao tamanho de
instância micro (gratuito no período de um ano)
47
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
48
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, deletar, 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
49
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, deletá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
50
API Amazon S3
51
API Amazon S3
●
Exemplo:
●
●
Listar todos os buckets
Este exemplo lista todos os buckets
(depósitos) alocados na zona de
disponibilidade escolhida
52
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
53
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/
54
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
55
56
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
57
58
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
59
60
AWS Marketplace
61
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
62
63
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/awssolutions/
64
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