Galera, abri um tópico do StackOverflow pedindo ajuda também e parece que o problema é que estamos construindo o binário do nosso arquivo main.go em uma arquitetura e depois tentando rodar ele em outra, por isso o erro ./main: ./main: cannot execute binary file que aparece no arquivo nohup.err.
Eu não consegui solucionar, mas fiz um "work around".
- Primeiro passo foi se conectar na nossa máquina através do EC2 e instalar o go na nossa instância do EC2 com o seguinte comando:
sudo yum install golang -y
, depois vale dar um go version
só para validar que deu tudo certo. Fonte: https://medium.com/cloud-security/go-get-go-download-install-8b48a0425717 - Agora para solucionar o problema de fazer o build em uma arquitetura e rodar em outra, eu adicionei o seguinte a seguinte linha
go build -v main.go
no arquivo EC2.yml, logo depois da linha de export PORT=8000
.
Com o go instalado na nossa instância, nós conseguimos fazer o build do main.go na própria máquina sem corrermos o risco de problema com arquitetura diferentes e com isso rodar a aplicação com sucesso. Sei que não soluciona o problema na raíz, mas para mim funcionou.