terça-feira, 29 de setembro de 2015
domingo, 20 de setembro de 2015
Criar uma instância EC2 Amazon e conectar via SSH com Ubuntu
Criar uma instância EC2 Amazon e conectar via SSH com Ubuntu
Nos últimos dias venho tentando fazer uma simples conexão SSH com um EC2 e estava com dificuldades para conseguir, pois existe muito tutorial na internet que é antigo e contém alguns erros ou alguns detalhes que foram depreciados pela nova documentação da Amazon, com isto resolvi criar um tutorial para ganharmos tempo em nossas vidas. A intenção ao final dos posts é apresentar o deploy de um app rails usando conexão SSH com ajuda da gem Capistrano.
A maioria dos detalhes neste post foram adquiridos pelas fontes citadas no final do post e pela documentação da Amazon lida em Janeiro de 2013.
1. Criar Instância da Amazon
Selecione o Classic Wizard


Nas próximas 2 telas somente avance e ae encontrar a tela abaixo. Iremos criar a chave de acesso à instância, ou seja, você só poderá se conectar ao servidor que esta criando se obtiver esta chave. Guarde-a com segurança, se você perdê-la esqueça sua instância! Você também tem opção de escolher uma já criada ou não usar nenhuma. Dê um nome para a sua nova chave e clique no link para gerá-la e fazer o download:
Crie uma pasta chamada .ec2 pelo terminal. Essa pasta será útil mais a frente no tutorial e jogue sua chave nesta pasta, após o download. (OBS: Quando você cria uma pasta ou arquivo com “.” na frente ela se torna oculta, você pode mudar isso nas preferências de visualização das pastas. Preferências > Visão Padrão > Mostrar arquivos ocultos e de backup)
Além da chave também devemos criar um grupo de segurança que determina quais portas serão liberadas. Iremos usar o default.

No seu console acesse “Security Groups“, selecione o “default“, depois na aba “Inbound“, selecione em “Create new rule“, Custom TCP rule, onde você vai criar uma porte customizada que permitirá uma conexão com seu servidor de qualquer IP através da porta 22. Coloque na “Port range” , 22 e no “Source” deixe como está (0.0.0.0/0). Clique em “Add Rule” e depois “Apply Rule Changes“.
2. Conexão com o seu server
Clique com o direito na sua instância e em seguida em “Connect” > “Connect with a standalone SSH Client” será apresentado uma linha de comando para você. Ainda na pasta .ec2 pelo terminal, copie e cole esta linha no seu terminal. Como nossa imagem é Ubuntu você troca na linha de comando o root porubuntu.
Se aparecer uma tela semelhante a esta, não apresentando nenhum erro, Parabéns =D … Você está fazendo corretamente e se encontra na sua instância Ubuntu da Amazon.
Agora vamos tornar isso automatizado e com segurança.
3. Instalando EC2-API-TOOLS
Download do Amazon EC2 Command-Line Tools aqui.
Descompate o arquivo dentro a pasta .ec2. Este diretório terá o seguinte:
- minha_chave.pem
- bin
- lib
Agora vamos definir algumas variáveis de ambientes. Você colocará o que é necessário no seu arquivo ~/.bash_profile. Isto vai configurar automaticamente o EC2 todas as vezes que você iniciar uma sessão no terminal.
# Setup Amazon EC2 Command-Line Tools
export EC2_HOME=~/.ec2
export PATH=$PATH:$EC2_HOME/bin
export AWS_ACCESS_KEY=your_AWS_ACCESS_KEY_ID
export AWS_SECRET_KEY=your_AWS_ACCESS_KEY
export JAVA_HOME=/usr
export EC2_HOME=~/.ec2
export PATH=$PATH:$EC2_HOME/bin
export AWS_ACCESS_KEY=your_AWS_ACCESS_KEY_ID
export AWS_SECRET_KEY=your_AWS_ACCESS_KEY
export JAVA_HOME=/usr
Você pode ter alguns problemas aqui como encontrar o caminho do java no seu Ubuntu. Para descobrir isto basta:
Se o endereço foi igual ao da imagem acima, apenas coloque na variavel home até “/usr”, pois o restante do caminho (/bin/java) a própria API do EC2 já coloca automático.
As chaves AWS_ACCESS_KEY e AWS_SECRET_KEY você pode encontrá-las aqui. Caso você não possua as chaves é só você criar uma:
Copie e cole esse ID nos campos referidos do seu ~/.bash_profile.
Como você fez algumas alterações você vai precisar recarregá-lo para ter efeito.
Se não apresentar nenhum erro e aparecer algo parecido como esta abaixo, agora você pode criar novas instâncias via terminal, terminá-las (apagá-las), configurá-las como desejar. =]
IMAGE ami-be5f83d7 amazon/Windows_Server-2003-R2_SP2-English-64Bit-Base-2012.03.13 amazon available public x86_64 machine windows instance-store hvm xen
IMAGE ami-9e5f83f7 amazon/Windows_Server-2003-R2_SP2-English-64Bit-SQL_2005_Express-2012.03.13 amazonavailable public x86_64 machine windows instance-store hvm xen
IMAGE ami-6a5a8603 amazon/Windows_Server-2003-R2_SP2-English-64Bit-SQL_2005_Standard-2012.03.13 amazonavailable public x86_64 machine windows instance-store hvm xen
IMAGE ami-9e5f83f7 amazon/Windows_Server-2003-R2_SP2-English-64Bit-SQL_2005_Express-2012.03.13 amazonavailable public x86_64 machine windows instance-store hvm xen
IMAGE ami-6a5a8603 amazon/Windows_Server-2003-R2_SP2-English-64Bit-SQL_2005_Standard-2012.03.13 amazonavailable public x86_64 machine windows instance-store hvm xen
Espero ter ajudado, qualquer dúvida é só perguntar.
Assinar:
Postagens (Atom)