Inicialização do EC2 - Como saber quando o Windows está pronto?

10

Estou trabalhando com o Amazon EC2 e tenho algumas AMIs do Windows suportadas pelo EBS. Quando inicio uma nova instância a partir de um instantâneo do EBS, o serviço EC2Config prepara a máquina Windows para mim. Sei quando o EC2Config é concluído, porque posso verificar a instância Saída do Console - depois que diz "Windows está pronto", sei que estou bem.

O que estou procurando é uma maneira de dizer que "o Windows está pronto" no próprio sistema operacional. Eu acho que a URL de metadados acessível a partir do sistema operacional me diria isso, mas não encontro nenhum valor apropriado.

http://169.254.169.254/latest/meta-data/

Meu objetivo é executar scripts de configuração assim que o "Windows estiver pronto". Algumas das minhas tarefas de configuração precisam garantir que a máquina esteja totalmente configurada antes de iniciar - especialmente se o EC2Config estiver renomeando o computador e reiniciando. Eu poderia escrever algo usando as ferramentas EC2 ou C # ... mas isso exigiria que eu usasse minhas chaves da AWS nas minhas AMIs (o que não quero fazer). Idealmente, gostaria de ver algo na própria máquina para saber quando posso iniciar a configuração - algo como uma entrada EventLog, assistir a um arquivo de texto, verificar a URL de metadados etc.

Pergunta secundária: eu poderia usar um bom artigo sobre exatamente o que o processo de agrupar / desmontar faz com as máquinas EBS.

Dan
fonte

Respostas:

14

O EC2Config está configurado por padrão para renomear o host na primeira inicialização. Renomear o host no Windows requer uma reinicialização e, portanto, cada instância é reiniciada uma vez após a primeira inicialização. Você pode desativar a renomeação do host se não usar o DNS interno para a instância. Mais detalhes aqui:

Serviço de configuração do Windows: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/appendix-windows-config.html

O serviço EC2Config também possui seu próprio arquivo de log na instância:

C: \ Arquivos de programas \ Amazon \ Ec2ConfigService \ Logs \ Ec2ConfigLog.txt

E esse arquivo deve ter os detalhes relevantes do serviço EC2Config que você está vendo na Amazon Console Output. Aqui está um trecho de uma das minhas instâncias:

===== Iniciando o Ec2RebootInstance em um novo thread =======
Ec2InitializeDrives: Disco encontrado: \. \ PHYSICALDRIVE0
Verificando os volumes atuais para qualquer alteração de nome do dispositivo
C: é montado com o
identificador de porta COM de abertura de nome de volume para gravar no console
Ec2RebootInstance: Aguardando a conclusão de todos os threads.
Ec2InitializeDrives: Inicialização concluída. Plug-in saindo ...
Ec2RebootInstance: Verificando se algum encadeamento solicitou uma reinicialização
Ec2RebootInstance: O Windows está pronto para usar O
envio de janelas de eventos está pronto para uso para todos os

usuários Ec2RebootInstance: Monitorando solicitações de reinicialização.

Ameer Deen
fonte
Perfeito - é exatamente isso que eu precisava. Obrigado.
19409 Dan
Olá Dan, se isso funcionou para você, você se importaria em votar na resposta como sendo útil :)? Sou novo neste site, mas acho que a votação deve aumentar de zero quando o fizer.
Ameer Deen
De onde veio a linha "O envio de janelas de eventos está pronto para ser usado por todos"? Isso não está nos meus registros e eu adoraria esse evento!
Davemyron #