Oficina a cerca de recursos do programa AWS Educate para o SAS do PROCC - Visão do Aluno
Links úteis:
- Introduzir os recursos oferecidos pelo AWS Educate
- Experimentar a condução de prática de laboratório no estilo videoconcerência através dos seguintes recursos:
- EC2 e Cloud9 (AWS)
- GitHub Classroom
- Abrir: https://github.com/login
- Fazer login na sua conta do GitHub
- Procurar e acessar repositório "tarcisiodarocha/OficinaAWSEducateSAS"
- Abrir: https://docs.google.com/spreadsheets/d/1vbQuiA4edvL4aKPGspwJb1nVaINSddnJWwYQ5cq4OLw/edit?usp=sharing
- Preencher seu nome e email
- Abrir e fazer login: https://www.awseducate.com/signin/SiteLogin
- (Exibição da visão do aluno: AWS Educate )
- Seguir passos via conta da AWS Educate
- Abrir aba com EC2
- Abrir aba com Cloud9
- Clicar em "Instances" > "Launch instance"
- Selecionar a imagem "Ubuntu Server 18.04 LTS (HVM), SSD Volume Type"
- Selecionar o tipo da instância "t2.micro"
- Clicar em "Review and launch" e depois "Launch"
- Selecionar "Create a new key pair"
- Dar nome à chave: "chave-rabbitmq"
- Clicar em "Launch Instances" e depois em "View Instances"
- Renomear instância para "RabbitMQ1"
- Copiar IP público da instância
- Abrir nova aba: https://ping.eu/ping/
- Colar o ip da instância em "IP address", entrar código e clicar em "Go"
- Clicar no Security Group da instância. Ex: "launch-wizard1"
- Selecionar "Inbound rules" e "Edit inbloud rules"
- Adicione nova regra "Add rule"
- Na nova regra troque "Custom TCP" por "All ICMP- IPv4" e "Custom" por "Anywhere"
- Adicione nova regra "Add rule"
- Coloque 5672 em "port range" e troque "Custom" por "Anywhere"
- Adicione nova regra "Add rule"
- Coloque 15672 em "port range" e troque "Custom" por "Anywhere"
- Clique em "Save rules"
- No Cloud9 clique em "Create environment"
- Dê nome ao ambiente (ex: "SAS") e clique "Next step"
- Dentre as opções default mude a plataforma de "Amazon Linux" para "Ubuntu Server"
- Clique "Next step" e "Create environment"
- No Cloud9, clique em "File" > "Upload Local Files"
- Clique em "Select files" e na pasta "Downloads" da sua máquina, escolha a chave "chave-rabbit.pem" que foi baixada anteriormente
- No console do Cloud9, mude as permissões da chave com:
chmod 400 chave-rabbit.pem
- Com o IP da sua instância, faça ssh. Exemplo:
ssh -i chave-rabbit.pem [email protected]
Via conexão ssh estabeleciada com a instância "RabbitMQ1" execute:
sudo apt update
sudo apt upgrade
wget https://packages.erlang-solutions.com/erlang/debian/pool/esl-erlang_23.0.2-2~ubuntu~bionic_amd64.deb
sudo dpkg -i esl-erlang_23.0.2-2~ubuntu~bionic_amd64.deb
Pode acontecer um erro de dependência do comando anterior. Instale as dependências com o comando:
sudo apt install -f
E reexecute o comando para instalar o Erlang:
sudo dpkg -i esl-erlang_23.0.2-2~ubuntu~bionic_amd64.deb
Execute:
echo "deb https://dl.bintray.com/rabbitmq/debian bionic main" | sudo tee /etc/apt/sources.list.d/bintray.rabbitmq.list
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
sudo apt update
sudo apt install rabbitmq-server
sudo systemctl start rabbitmq-server.service
sudo systemctl enable rabbitmq-server.service
Obs: Trocar "admin" por seu nome de usuário e "password" por uma senha.
sudo rabbitmqctl add_user admin password
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
sudo rabbitmq-plugins enable rabbitmq_management
- No EC2, vá em "Instances" e selecione a instância "RabbitMQ1"
- Copie o "Public DNS" e cole em uma aba no browser
- Acrescente ":15672" no final da URL e clique "enter"
- Logado na sua conta do GitHub, faça "fork" no repositório "tarcisiodarocha/OficinaAWSEducateSAS"
- No branch criado, clique em "Code" e copie a URL do repositório para clonagem
- No console do Cloud9 (diretório ~/environment/ ) clone o repositório com o seguinte comando (forneça a url do repositório)
git clone <url-do-repositorio>
- Siga os passos a partir dessa URL de assignment: https://classroom.github.com/a/2JnkiXja
- No repositório criado, clique em "Code" e copie a URL do repositório para clonagem
- No console do Cloud9 (diretório ~/environment/ ) clone o repositório com o seguinte comando (forneça a url do repositório)
git clone <url-do-repositorio>
- No console do Cloud9, instale a dependência do emissor Python
go get github.com/streadway/amqp
- Instale a dependência do receptor Go
python -m pip install pika --upgrade
- No console do Cloud9, entre no diretório do repositório do assignment
- Na árvore de diretórios à esquerda, abra o arquivo "Emissor.py"
- Altere "usuário", "senha" e "hostname" com os dados do seu servidor RabbitMQ e salve o arquivo com "CRTL+S"
- No console, execute o emissor com
python Emissor.py
- Abra o arquivo "Receptor.go"
- Altere "usuário", "senha" e "hostname" com os dados do seu servidor RabbitMQ e salve o arquivo com "CRTL+S"
- No console, execute o emissor com
go run Receptor.go
- No diretório do assignment, execute os comandos git
git add .
git commit -m "submissão da tarefa"
git push