Cloud Computing Isabella Moraes Gomes
Cloud Computing Isabella Moraes Gomes
Estudo de Caso
Tutor(a):Marcel Teixeira
INTRODUÇÃO
1 4
2 Escolha do provedor de serviços em nuvem 5
3 Criando uma máquina virtual 5
4 Configurando a rede 7
4.1 Nginx 7
5 Configurando acesso ao servidor web 9
6 Conectando-nos ao servidor web 11
7 CONSIDERAÇÕES FINAIS 14
REFERÊNCIAS 15
1INTRODUÇÃO
A computação em nuvem permite ao usuário selecionar a potência e recursos que
precisa para rodar seu software, através da aquisição de um computador que, ao invés de
adquirido fisicamente (o que traria as limitações inerentes a talmodelo),estálocalizadono
data center de um provedor de nuvem.
A maior vantagem deste tipo de computação éaflexibilidadedepagarapenaspelos
serviços que o usuário precisará utilizar. Ou seja
Alguns dos mais famosos provedores de serviços em nuvem são Microsoft Azure,
AmazonWebServices,GoogleCloudPlatform,AlibabaCloudeSalesForce.Cadaprovedor
terá sua seleção de serviços disponíveis ao usuário, mas os serviços básicos oferecidospor
todos são computing power e armazenamento.
Computingpowerserefereaonúmerodetarefasexecutadasporumprocessadorpela
unidadedetempo,normalmentecalculadaemsegundos.IstodependerádaCPU,daUnidade
deProcessamentodeGráficos,daMemóriaRAM,davelocidadecomaqualumsistemapode
ler dados oriundos de drives de armazenamento, capacidade do computador de executar
diversas operações simultaneamente, e quão otimizados estão os algoritmos de um
determinado software para a execução das tarefas.
Na vida real, pode ocorrer porexemplodeumaempresaprecisardeumcomputador
com uma CPU capaz de processar uma quantidade muito grande de dadoseumaMemória
RAM de alta capacidade, para uma determinada operação. Tal computador possivelmente
seria muito caro e tornaria a empresa obrigada a pagar por outras funcionalidades, sem a
possibilidade de reduzir tais especificações conforme a demanda.
Aocontratarumserviçodecomputaçãoemnuvem,aempresapodecontratarsomente
os recursos que necessita para suas operações, onde determinadas funcionalidades serão
administradastotalmentepeloprovedordeserviçoseháapossibilidadedefazeralteraçõesna
máquina virtual de acordo com as necessidades atuais da corporação.
2Escolha do provedor de serviços em nuvem
Meu processo de decisão neste caso foi determinado pelo fato de que atualmente
trabalho com Azure, portanto utilizei a oportunidade para me aprofundar mais neste provedor.
Através do site https://azure.microsoft.com/, é possível criar uma conta gratuita de
teste.Emseguidanaopção“Createaresource”,escolhi“Createavirtualmachine”.Escolhi
como sistema operacional o Ubuntu e forma de conexão a chave SSH.
Após a criação do recurso, é necessário criar a máquina virtual através do seguinte
comando (pode ser executado através do CMD, Bash ou Powershell):
Onde “az” refere-se ao conjunto de cmdlets (native powershell commands) criado
especificamente para interagir com o Azure. “--resource-group” refere-se ao recurso que
criamos no portal Azure acima, e “--name” é o nome da máquina virtual.
A linha “--public-ip-sku Standard” determina qual tipo de ip público estamos
configurando. Onde Sku é uma forma universaldedemarcarumtipodeserviço,nestecaso
está demarcando “ou Standard, ou Basic”. O tipo Standard, ao contrário do básico, possui
suporte a zonas de disponibilidade (availability zones). Zonas de disponibilidadesãolocais
físicos separados dentro de uma região Azure que possuem sua própria infraestrutura
independentecomoenergia,resfriamentoerede.Destaformafalhasemumazonaespecífica
não afetam este serviço.
A imagem de sistema é um arquivo que contém umacópiacompletadeumsistema
operacional, arquivos, configurações e em alguns casos aplicativos pré -instalados. Esta
imagempodeserutilizadaparaainstalaçãodeumanovamáquinafísicaounestecasoparaa
configuração de uma máquina virtual. O comando “--image Ubuntu 2024” define que
estamos instalando em nossa máquina virtual a imagem genérica oficialUbuntu,produzida
pelo fabricante contendo apenas o sistema operacional sem nenhum software instalado.
Os comandos seguintes são relacionados ao login na máquina. Onde o nome de
usuário --admin-username é azureus e a forma de autenticaçãoéSSH(--generate-ssh-keys)
mas poderíamos ter optado pela “password” (senha comum).
NginxeApachesãoexemplosdeservidoresproxyqueregulamosdemaisservidores
na rede privada, capazes de distribuir o conteúdo requisitado. Onde Nginx é um servidor
open-source, criado com o intuito declarado de superar o Apache.\
Por esta razão, ao invés de utilizar “apt-get install apache2”, utilizei o comando
abaixo:
Este comando utiliza o Custom Script Extension para acessar o github
(https://raw.githubusercontent.com/MicrosoftDocs/mslearn-welcome-to-azure/master/con
figure-nginx.sh) onde esta localizado o script Bashque instala o Nginx.
Neste comando também já está incluído o apt-get-update pois o mesmo é parte do
script Bash e localiza a última versão do Nginx package.
Por fim, este AZ cmdlet define a página inicial /var/www/html/index.html para
printar uma mensagem com o nome da máquina virtual.
5Configurando acesso ao servidor web
O próximo passo é rodar o seguinte comando:
IPADDRESS="$(az vm list-ip-addresses --resource-group
"learn-f0725428-cd2b-419f-a1c7-56a26fc1d6ee" --name my-vm --query
"[].virtualMachine.network.publicIpAddresses[*].ipAddress" --output tsv)"
OmesmoencontraalistadeendereçosIPrelacionadosaestamáquinaeosarmazena
como comandos Bash.
Emseguida,serodamosocomando“curl--connect-timeout5http://$IPADDRESS”,
onde definimos $IPADDRESS acima, o mesmo ainda não é capaz de conectar, retornando
curl: (28) Failed to connect. Podemos ainda rodar echo $IP ADDRESS para saber qual o
endereço de IP público que devemos utilizar para conectar o servidor web.
Podemosrepetiraquelecomandocomoutputemtabela,paranoscertificarmosdeque
a regra acima foi executada: az network nsg rule list --resource-group
"learn-f0725428-cd2b-419f-a1c7-56a26fc1d6ee" --nsg-name my-vSG --query
'[].{Name:name, Priority:priority, Port:destination Port Range, Access:access}' --output table.
Apóscriarmosnossamáquinavirtual,instalarmosoNginxeconfigurarmosoacesso
à rede, podemos nos conectar.
A conexão padrão neste caso não funciona, pois o padrão Azure é a conexão por
senha e nós optamos por uma conexão via autenticação SSH. Por esta razão, curl
–connect-timeout 5http://$IPADDRESSretorna “Couldn’tconnect to server”.
Paraconfirmarmosseamáquinaestárodandoeestanãoéacausadoerro,podemos
utilizar o comando “az vm list -d –query “[].{Name:name, PowerState:powerState)”. O
mesmo aqui retornou “VM running”.
OpróximocomandopodeserutilizadoparaconfirmaroendereçodeIPpúblicoque
deveserutilizadoparaaconexãocomamáquinae,porfim,podemosconectarutilizandoo
comando “ssh usuário@ip”.
Devidoaestaseraprimeiraconexão,recebemosamensagemdequeaautenticidade
não pôde ser estabelecida e a máquina pergunta se queremos continuar conectando.
Em seguida temos a confirmação de que estamos conectados a máquina Ubuntu
remotamente.
oncluímos que é possível configurar uma máquina virtual Azure e utilizar seus recursos de
C
computação em nuvem, através de uma conexão remota com autenticação SSH.
Tal operação apresenta grandes benefícios para qualquer usuário corporativo ou
pessoal,masprincipalmentecorporativodevidoaocustobenefíciodasmáquinasvirtuaisesua
flexibilidade em relação a aquisição de recursos.
A conexão SSH, incluindo chave local e remota, é a forma mais segura possível de
acessar a máquina virtual e provou-se relativamente simples de realizar com o provedor de
serviços em nuvem Microsoft Azure, pois o mesmo possui seu próprio conjunto decmdlets
que podem ser rodados em um terminalBashouPowerShell,suportandotodaaoperaçãodo
início ao fim.
REFERÊNCIAS