Publicar projeto Angular na AWS

Publicação de projeto Angular na AWS EC2
Voltar

Material complementar:


Conceito:

Exemplo de publicação de projeto Angular TypeScript na Amazon AWS, via instância EC2. Meu projeto Angular está hospedado no GitHub e será implantado na instância EC2.

  1. Criar conta na AWS (exige cartão de crédito, mas não utilizaremos recursos pagos);
  2. Criar instância EC2 no console AWS:
    
    EC2 / Instâncias / Executar instâncias
    - Nome: maquinaAngular1
    - AMI: Ubuntu Server (nível gratuito)
    - Tipo: t3.small
    
    - Criar par de chaves:
    -- Nome: keyMaquinaAngular1
    -- Tipo: RSA
    -- Formato: conforme SO de sua máquina
    Criar par de chaves / Baixar par de chaves
    
    - Rede (editar):
    -- Atribuir IP público automaticamente: habilitar
    -- Criar grupo de segurança
    -- Nome: grupoSegMaquinaAngular1'
    -- Regras do grupo de segurança de entrada (Adicionar regra de grupo de segurança):
    --- Tipo: SSH, Protocolo: TCP, Intervalo de Portas: 22, Origem: Qualquer lugar
    --- Tipo: HTTP, Protocolo: TCP, Intervalo de Portas: 80, Origem: Qualquer lugar
    --- Tipo: Personalizado, Protocolo: TCP, Intervalo de Portas: 4200 (porta Angular), Origem: Qualquer lugar
    
    - Armazenamento: 8GiB, com gp3 (padrão, nível gratuito)
    Executar instância
    
  3. Conectar à instância EC2:
    
    Selecionar instância 'maquinaAngular1' / Conectar
    - Connection type: IP público
    - Endereço IPv4 público: selecionar
    Conectar (abrirá janela de terminal da máquina)
    
  4. Instalar dependências e projeto Angular (hospedado no GitHub) na instância EC2 (comandos no terminal):
    
    sudo apt update && sudo apt full-upgrade -y
    curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt install git nodejs tmux -y && sudo npm install -g @angular/cli
    git clone https://github.com/mateusschwede/ubsocial.git && cd ubsocial/angular/projeto-angular-aws-ec2 && sudo npm install
    ng serve --host 0.0.0.0 --allowed-hosts
    
  5. Acessar projeto Angular via Browser: http://ipv4-publico-da-instancia:4200
  6. Manter o servidor rodando em segundo plano (opcional):
    
    tmux new -s angular
    cd ~/ubsocial/angular/projeto-angular-aws-ec2
    ng serve --host 0.0.0.0 --allowed-hosts
    FECHAR TMUX, MANTENDO SERVIDOR RODANDO: Ctrl + b, depois d
    

Excluir serviços AWS:

Para evitar cobranças, excluir serviços AWS utilizados:

  1. Excluir instância EC2: EC2 / Instâncias / Selecionar instância / Ações / Estado da instância / Encerrar instância
  2. Excluir par de chaves: EC2 / Chaves / Selecionar par de chaves / Ações / Excluir
  3. Excluir grupo de segurança: EC2 / Grupos de segurança / Selecionar grupo de segurança / Ações / Excluir
  4. Excluir funções: IAM / Funções / Selecionar função / Ações / Excluir
  5. Excluir políticas: IAM / Políticas / Selecionar política / Ações / Excluir

Elaborado por Mateus Schwede
ubsocial.github.io