Programação de Scripts - Atividade 16

Leia com atenção as instruções abaixo.

Preparação do Repositório.

Crie um repositório privado no GitHub. Repositórios públicos levarão nota zero automaticamente. Se seu nome for José Carlos Silva, o repositório deve ter o nome josecarlosscripts20202. Primeiro e segundo nome, sufixo scripts20202, tudo minúsculo. É nele que devem ser colocados os arquivos. Convide o professor (jmarcelo.alencar@gmail.com) para ser colaborador do repositório. Faz parte da avaliação utilizar o GitHub de forma correta.

Dentro do repositório crie uma pasta chamada atividades. Dentro desta pasta você colocará os arquivos de cada atividade. Por exemplo, os arquivos da Atividade 01 devem estar na pasta atividades/atividade01.

Formato da Entrega:

Valor: 1,0 ponto na 3ª Nota.

Data da Entrega Limite: 17/03/2021

Coloque os arquivos na pasta atividades/atividade16.

Questão Única - 1,0 Ponto

O nome do script principal da atividade deve ser instanciaServico.sh.

A maioria dos alunos está entregando os scripts das atividades passada com um problema. Assim que emite o comando de criação da instância, já parte para recuperar o IP da mesma. Na maioria das vezes, não haverá problema, mas o IP pode ter sido atribuído sem que a máquina tenha inicializado.

Dada a explicação acima, o script desta atividade só deve retornar a URL requisitada quando a instância tiver sido inicializada com certeza. Isso significa que seu estado mudou de pending para running, informação contida na saída do describe-instances. Não vale esperar uma quantidade fixa de segundos ou minutos. Você pode até colocar um intervalo entre as verificações, mas precisa recuperar o estado da máquina e ter certeza.

Além do requisito de verificação de estado, você deve refazer a solução da atividade passada, mas no lugar do SystemD, utilizar o CRON para atualizar a página a cada 1 minuto.

A execução deve ser igual a Atividade anterior, mas deixando claro que a instância já está em estado running. Também mantendo a chave caso o professor deseje entrar na instância durante a correção:

$ ./instanciaServico.sh nomedachave
Criando servidor de Monitoramento em CRON...
Instância em estado "running"
Acesse: http://84.74.123.45/