Demonstração: Usar a AWS CLI com o Run Command
A demonstração de exemplo a seguir mostra como usar a AWS Command Line Interface (AWS CLI) para ver informações sobre comandos e parâmetros de comando, como executar comandos e como visualizar o status desses comandos.
Importante
Apenas administradores confiáveis devem ter permissão para usar os documentos pré-configurados do AWS Systems Manager mostrados neste tópico. Os comandos ou scripts especificados em documentos do Systems Manager são executados com permissões administrativas em seus nós. Se um usuário tiver permissão para executar qualquer um dos documentos do Systems Manager predefinidos (qualquer documento que comece com AWS-
), ele também terá acesso de administrador ao nó. Para todos os outros usuários, você deve criar documentos restritivos e compartilhá-los com usuários específicos.
Tópicos
Etapa 1: Conceitos básicos
Você deve ter permissões de administrador sobre o nó gerenciado que deseja configurar ou deve ter recebido a permissão apropriada no AWS Identity and Access Management (IAM). Veja também que o exemplo usa região Leste dos EUA (Ohio) (us-east-2). O Run Command está disponível nas Regiões da AWS listadas em Systems Manager service endpoints no Referência geral da Amazon Web Services. Para ter mais informações, consulte Configurar nós gerenciados para o AWS Systems Manager.
Para executar comandos usando a AWS CLI
Instale e configure a AWS Command Line Interface (AWS CLI), caso ainda não o tenha feito.
Para obter informações, consulte Instalar ou atualizar a versão mais recente da AWS CLI.
-
Liste todos os documentos disponíveis.
Esse comando lista todos os documentos disponíveis para sua conta com base em permissões do IAM.
aws ssm list-documents
-
Verifique se um nó está pronto para receber comandos.
A saída do comando a seguir mostra se os nós gerenciados estão online.
-
Execute o comando a seguir para ver detalhes sobre um nó gerenciado específico.
nota
Para executar os comandos nessa demonstração, substitua os IDs de instância e comando. Para os dispositivos gerenciados principais do AWS IoT Greengrass, use o mi-
ID_number
para o ID da instância. O ID do comando é retornado como uma resposta ao send-command. IDs de instância estão disponíveis em Fleet Manager, um recurso do AWS Systems Manager.
Etapa 2: Executar scripts de shell para exibir detalhes de recursos
Por meio do Run Command e do documento AWS-RunShellScript
, você pode executar qualquer comando ou script em um nó gerenciado, como se estivesse conectado localmente.
Veja a descrição e os parâmetros disponíveis
Use o seguinte comando para visualizar uma descrição do documento JSON do Systems Manager.
Use o comando a seguir para visualizar os parâmetros e detalhes disponíveis sobre esses parâmetros.
Etapa 3: Enviar comandos simples usando o documento AWS-RunShellScript
Execute o comando a seguir para obter informações de IP para um nó do Linux.
Se você estiver segmentando um nó gerenciado do Windows Server, altere o document-name
para AWS-RunPowerShellScript
e altere o command
de ifconfig
para ipconfig
.
Obter informações de comando com dados de resposta
O comando a seguir usa o ID de Comando que foi retornado do comando anterior para obter os detalhes e os dados de resposta da execução do comando. O sistema retorna os dados da resposta se o comando for concluído. Se a execução do comando mostrar "Pending"
ou "InProgress"
, execute esse comando novamente para ver os dados de resposta.
Identificar usuário
O comando a seguir exibe o usuário padrão que executa os comandos.
Obter status do comando
O comando a seguir usa o ID de Comando para obter o status da execução do comando em nós gerenciados. Este exemplo usa o ID de comando que foi retornado no comando anterior.
Obter detalhes do comando
O comando a seguir usa o ID do comando anterior para obter o status da execução do comando por nó gerenciado.
Obter informações de comando com dados de resposta para um nó gerenciado específico
O comando a seguir retorna a saída da solicitação aws ssm
send-command
original para um nó específico.
Exibir versão do Python
O comando a seguir retorna a versão do Python em execução em um nó.
Etapa 4: Executar um script Python simples usando o Run Command
O comando a seguir executa um script simples Python “Hello World” usando o Run Command.
Etapa 5: Rodar um script Bash usandoRun Command
Os exemplos nesta seção demonstram como executar o seguinte script bash usandoRun Command.
Para obter exemplos de uso do Run Command para executar scripts armazenados em locais remotos, consulte Executar scripts no Amazon S3 e Executar scripts do GitHub.
#!/bin/bash yum -y update yum install -y ruby cd /home/ec2-user curl -O https://aws-codedeploy-us-east-2.s3.amazonaws.com/latest/install chmod +x ./install ./install auto
Este script instala o agente do AWS CodeDeploy no Amazon Linux e no Red Hat Enterprise Linux (RHEL), como descrito em Criar uma instância do Amazon EC2 para CodeDeploy no Guia do usuário do AWS CodeDeploy.
O script instala o agente CodeDeploy de um bucket do S3 gerenciado pela AWS na região Leste dos EUA (Ohio) (us-east-2), aws-codedeploy-us-east-2
.
Execute um script bash em umAWS CLIComando da
O exemplo a seguir demonstra como incluir o script bash em um comando da CLI usando o comando--parameters
opção.
Executar um script bash em um arquivo JSON
No exemplo a seguir, o conteúdo do script bash é armazenado em um arquivo JSON e o arquivo é incluído no comando usando o--cli-input-json
opção.
O conteúdo do arquivo installCodeDeployAgent.json
mencionado é mostrado no exemplo a seguir.
{ "Parameters": { "commands": [ "#!/bin/bash", "yum -y update", "yum install -y ruby", "cd /home/ec2-user", "curl -O https://aws-codedeploy-us-east-2.s3.amazonaws.com/latest/install", "chmod +x ./install", "./install auto" ] } }