Uso de scripts em runbooks
Runbooks do Automation oferecem suporte à execução de scripts como parte da automação. O Automation é um recurso do AWS Systems Manager. Usando runbooks, você pode executar scripts diretamente na AWS sem precisar criar um ambiente de computação separado para executar os scripts. Como os documentos de automação podem executar etapas de script junto com outros tipos de etapas de automação, como aprovações, você pode intervir manualmente em situações críticas ou ambíguas. Você pode enviar o resultados das ações do aws:executeScript
nos runbooks para o Amazon CloudWatch Logs. Para ter mais informações, consulte Registro de saída de ações do Automation em log com o CloudWatch Logs.
Permissões para usar runbooks
Para usar um runbook, o Systems Manager deve usar as permissões de uma função do AWS Identity and Access Management (IAM). O método usado pelo Automation para determinar quais permissões da função usar depende de alguns fatores e se uma etapa usa a ação aws:executeScript
.
Para runbooks que não usam o aws:executeScript
, o Automation usa uma das duas fontes de permissões:
-
As permissões de uma função de serviço do IAM, ou função assumida, que é especificada no runbook ou transmitida como um parâmetro.
-
Se nenhum perfil de serviço do IAM estiver especificado, as permissões do usuário que iniciou a automação.
Quando uma etapa em um documento do runbook incluir a ação aws:executeScript
, uma função de serviço do IAM (função assumida) sempre será necessária se o script do Python ou PowerShell especificado para a ação estiver chamando quaisquer ações da API da AWS. A automação verifica a existência dessa função na seguinte ordem:
-
As permissões de uma função de serviço do IAM, ou função assumida, que é especificada no runbook ou transmitida como um parâmetro.
-
Se nenhuma função for encontrada, o Automation tentará executar o script do Python ou PowerShell especificado para
aws:executeScript
sem permissões. Se o script estiver chamando uma operação de API da AWS (por exemplo, a operação Amazon EC2CreateImage
), ou tentando agir em um recurso da AWS (como uma instância do EC2), a etapa que contém o script falhará e o Systems Manager retornará uma mensagem de erro relatando a falha.
Adicionar scripts a runbooks
Você pode adicionar scripts aos runbooks, incluindo o script em linha como parte de uma etapa no runbook. Também é possível anexar scripts ao runbook fazendo upload dos scripts de sua máquina local ou especificando um bucket do Amazon Simple Storage Service (Amazon S3) onde os scripts estão localizados. Após a conclusão de uma etapa que executa um script, o resultado do script estará disponível como um objeto JSON, que poderá ser usado como entrada para etapas subsequentes no runbook.
Restrições de script para runbooks
Runbooks impõem um limite de cinco anexos do arquivo. Os scripts podem ser na forma de um script do Python (.py), um script do PowerShell Core (.ps1) ou anexados como conteúdo em um arquivo .zip.