quinta-feira, agosto 30, 2018

VPS Google Compute Engine - Instalação do Docker


Este tutorial considera que você já tenha criado uma instancia, máquina virtual no Compute Engine do Google Cloud Plataform.

Você pode saber mais sobre isto nos posts anteriores sobre o assunto:

Sigam este link para conhecer o Docker. Existe também muito material na Internet sobre esta ferramenta disponível nas mais variadas plataformas.

1 - Faça o acesso ao console da sua máquina virtual.

A configuração terá como base uma Máquina VPS tipo g1-small (1 vCPU, 1.7 Gb de memória). Com o Linux Ubuntu LTS Minimal instalado. Mas já consegui rodar o Docker com algumas aplicações mais simples com a instancia gratuita f1-micro (1 vCPU, 0.6 GB de memória).

2 - Atualize a lista de pacotes disponíveis.

sudo apt-get update

3 - Instale os pacotes necessários para que o apt consiga usar repositórios usando HTTPS:

sudo apt-get install \

     apt-transport-https \

     ca-certificates \

     curl \

     software-properties-common

4 - Adicione a chave GPG official do Docker.  (GPG Key)

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

5 - Adicione o repositório estável do Docker.

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \

   $(lsb_release -cs) \

   stable"

6 - Atualize novamente a lista de pacotes disponíveis.

sudo apt-get update

7 - Instale a última versão do Docker CE - Docker Community Edition

sudo apt-get install docker-ce

Quando for solicitada alguma confirmação, é só digitar Y.

8 - Faça uma verificação inicial em relação a instalação do Docker

sudo docker version

9 - Em um outro momento para fazer upgrade para a versão mais recente, use o seguinte comando:

sudo apt-get update

10 - Agora iremos executar a imagem hello-world para testar se o Docker está funcionando corretamente.

sudo docker run hello-world

A resposta esperada é esta:



11 - Para evitarmos ter que usar o comando sudo todas as vezes, vamos seguir os seguintes passos:

a) Criar o grupo docker

sudo groupadd docker

b) Adicionar o usuário atual ao grupo docker

sudo gpasswd -a $USER docker

c) Feche a seção e faça login novamente.

d) Para testar digite

docker ps -> Este comando mostra as imagens que estão em execução no seu docker.








VPS Google Compute Engine - Acesso SSH


O acesso de SSH utilizando a ferramenta de acesso via navegador que o Google disponibiliza é prático em diversos casos, mas as vezes um acesso utilizando um outro cliente SSH é necessário.
Para isto você precisa:
a) Uma máquina no VPS no Google Compute Engine com Linux instalada.  VPSGrátis no Compute Engine - Google Cloud Plataform
b) Um cliente SSH. Para Windows você pode utilizar o PuTTY. Já o Linux e o OSX (iMac) já possuem o cliente SSH nativos.  
c) Um gerador de chaves SSH. PUTTYGEN par Windows ou nativamente ssh-keygen para Linux e OSX.

1.     Gerando as chaves privadas e públicas necessárias

1.1 - Windows
a) Se você baixou o pacote de instalação completa do PuTTY para Windows, você terá instalado também o PuTTYgen. Vá até o Menu Iniciar → Todos os Programas → PuTTY → PuTTYgen

b) Criando um novo par de chaves (KEY PAR) para autenticação
Conforme a imagem anterior escolha os seguintes parâmetros:
Type of key to generate: RSA
Number of bits: 2048 → É suficiente para a maioria das pessoas.
c) Clique no botão “Generate” e comece a movimentar o mouse dentro da janela. Isto é usado para criar dados randômicos para a geração das chaves.
d) Se tudo deu certo você verá a sua chave pública na janela. 


e) É interessante que você crie uma senha para o arquivo da sua chave privada, assim você pode digitar sua senha no campo “Key passphrase” e confirmar no campo “Confirm passphrase”. Em seguida clique nos botões “Save public key” e “Save private key”

1.2 - Linux / OSX

a) Abra um terminal e digite ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
b) As chaves serão gravadas no diretório indicado pelo comando.

2.   Acesso ao Google Cloud Shell

2.1 - No Dashboard do Google Cloud Plataform do Compute Engine, https://console.cloud.google.com/compute, clique no botão para abertura do console do Google Cloud Shell



2.2 - O terminal Cloud Shell será apresentado.




3.   Ativando ou desativando o login do sistema operacional

Existem outras maneiras de permitir o acesso SSH à sua máquina virtual VPS hospedada nos servidores do Google, mas esta maneira foi a que funcionou melhor no meu caso. 

3.1 - Dento do Cloud Shell, digite 

gcloud compute project-info add-metadata --metadata enable-oslogin=TRUE

Você pode escolher também desativar este tipo de login alterando a chave enable-oslogin para FALSE.
É bom lembrar que todas as instâncias, todas as máquinas virtuais, utilizam as mesmas configurações de metadados. 
Não testei ainda, mas para incluir o metadado para apenas uma instância, use o comando:
gcloud compute instances add-metadata [INSTANCE_NAME] --metadata enable-oslogin=TRUE
Onde [INSTANCE_NAME] é o nome da sua VPS.

4.   Enviando a sua chave pública para o Cloud Shell

Como você irá precisar da sua chave pública no Cloud Shell para ser enviado para a sua VPS, faça o seguinte:

4.1  - Digite no terminal do Cloud Shell o comando→  nano id-pub, para abrir o mini editor de texto Nano.

user@projeto-xyz:~$ nano id-pub


4.2 - Copie o texto da sua chave pública no Putty (Windows) ou direto do terminal Linux ou OSX. Cole o texto dentro do terminal do Cloud Shell onde você está rodando o mini editor de texto Nano.

4.3 - Com o texto colado, pressione as teclas CTRL+X para sair do mini editor e escolha Y para gravar o arquivo.cat
4.4 - Para verificar se o arquivo foi gravado, digite o comando →  cat id-pub

5.   Enviando a sua chave pública para sua instância VPS.

5.1 - Com o terminal aberto use o seguinte comando para enviar a chave para o seu servidor VPS.

gcloud compute os-login ssh-keys add --key-file id-pub

5.2 - Se o comando funcionou, você irá ver na sua tela a lista de todas as chaves públicas que estão nos seus servidores.

5.3 - Você também pode usar o comando a seguir para verificar qual é o nome de usuário associado à sua conta.
gcloud compute os-login describe-profile
name: [ACCOUNT_EMAIL] - e-mail da conta
posixAccounts:
:
  username: [USER_NAME] - nome do usuário (Você irá usar este nome de usuário para acesso via SSH.
:


6.   Acesso a sua VPS, usando um outro cliente SSH.


Primeiro você deve verificar qual é o endereço IP externo da sua VPN
6.1 - Windows

a) Abra o PuTTY e coloque no campo Host Name (or IP address) o nome de login do seu usuário juntamente com o IP externo da sua máquina.  O formato é o seguinte:
login_gmail_com@123.123.123.123 - Onde login_gmail_com é o login do seu usuário, que você descobriu no item 5.3 deste tutorial. E 123.123.123.123 é o IP externo da seu VPS.


Em seguida, na janela do PuTTY, do lado esquerdo navegue até categoria (Category) →   SSH →  Auth               
b)  Selecione o arquivo, Private Key, que você criou no item 1 deste tutorial. Em seguida clique no botão OPEN.


6.2 - Linux / OSX / MACOS

                Digite no terminal o comando no seguinte formato:
  ssh -i [PATH_TO_PRIVATE_KEY] [USERNAME]@[EXTERNAL_IP_ADDRESS]
Onde:

[PATH_TO_PRIVATE_KEY]  é o caminho para a chave SSH privada.

[USERNAME] é o nome de usuário da VPS que você descobriu no item 5.3 deste tutorial.
[EXTERNAL_IP_ADDRESS] é o endereço externo da VPS.



quarta-feira, agosto 29, 2018

VPS Grátis no Compute Engine - Google Cloud Plataform




Hoje irei exemplificar uma maneira de como criar uma Máquina Virtual Grátis no Compute Engine do Google Cloud Plataform.

1 - Primeiramente acesse o Dashboard da ferramenta em https://console.cloud.google.com/compute/instances

2 - Caso não tenha acessado ainda, será necessário um breve cadastro e um número de cartão de crédito.   Lembrando que se você escolher o tipo certo de “máquina virtual” ou VPS, conforme informações do Google, você não será cobrado.  Bom, é bom sempre verificar se as regras continuam as mesmas antes de prosseguir.
E tem uma outra coisa legal, caso você tenha interesse, necessidade ou curiosidade de usar uma máquina mais potente, o Google lhe fornece US$300,00 para fazer os testes.
No meu caso usei um cartão com baixo limite, criado pela plataforma de cartões do Banco do Brasil. Caso as regras mudem e eu não fique sabendo, o prejuízo será melhor.
Preços do Google Compute Engine: https://cloud.google.com/compute/pricing

3 - Para começar, clique em Compute Engine -> VM instances -> Create Instance





4 - Nesta etapa você deve escolher as configurações da sua máquina.
Escolhendo a região us-east1 e o tipo da máquina “f1-micro instance” você terá 744 horas grátis no mês.
 
OBS: Ainda não confirmei quantos meses é possível usar a máquina gratuitamente.
 

5 - Na configuração gratuita, consegui instalar o docker e rodar algumas imagens. O problema é que a aplicação que quero fazer o teste foi feita em Java, dependendo assim de uma quantidade maior de processamento e memória. Assim, resolvi fazer um teste com uma máquina maior e para isto irei utilizar os meus créditos para teste gratuitos.


Escolhi uma vCPU compartilhada com 1.7GB de memória. E um HD de 10GB com o Ubuntu 18.04 LTS Minimal.

6 - Para cada VPN criada, o Google disponibiliza um IP Interno e um IP Externo. Sendo que se a máquina for desligada um novo IP Externo pode ser atribuído.

Para iniciar a configuração de sua VPS é só clicar no botão SSH.

7 - Então uma janela do navegador irá se conectar via SSH com sua nova VPS.



8 - Num próximo post irei explicar como instalar o Docker.






Busca do Google

Custom Search