Os exemplos de código a seguir mostram como usar o SendCommand
.
Exemplos de ações são trechos de código de programas maiores e devem ser executados em contexto. É possível ver essa ação em contexto no seguinte exemplo de código:
- AWS CLI
-
Exemplo 1: executar um comando em uma ou mais instâncias remotas
O exemplo de
send-command
a seguir executa um comandoecho
em uma instância de destino.aws ssm send-command \ --document-name
"AWS-RunShellScript"
\ --parameters 'commands=["echo HelloWorld"]
' \ --targets"Key=instanceids,Values=i-1234567890abcdef0"
\ --comment"echo HelloWorld"
Saída:
{ "Command": { "CommandId": "92853adf-ba41-4cd6-9a88-142d1EXAMPLE", "DocumentName": "AWS-RunShellScript", "DocumentVersion": "", "Comment": "echo HelloWorld", "ExpiresAfter": 1550181014.717, "Parameters": { "commands": [ "echo HelloWorld" ] }, "InstanceIds": [ "i-0f00f008a2dcbefe2" ], "Targets": [], "RequestedDateTime": 1550173814.717, "Status": "Pending", "StatusDetails": "Pending", "OutputS3BucketName": "", "OutputS3KeyPrefix": "", "MaxConcurrency": "50", "MaxErrors": "0", "TargetCount": 1, "CompletedCount": 0, "ErrorCount": 0, "DeliveryTimedOutCount": 0, "ServiceRole": "", "NotificationConfig": { "NotificationArn": "", "NotificationEvents": [], "NotificationType": "" }, "CloudWatchOutputConfig": { "CloudWatchLogGroupName": "", "CloudWatchOutputEnabled": false } } }
Para obter mais informações, consulte Executar comandos usando o Systems Manager Run Command no Guia do usuário do AWS Systems Manager.
Exemplo 2: obter informações de IP sobre uma instância
O exemplo de
send-command
a seguir retorna as informações de IP`sobre uma instância.aws ssm send-command \ --instance-ids
"i-1234567890abcdef0"
\ --document-name"AWS-RunShellScript"
\ --comment"IP config"
\ --parameters"commands=ifconfig"
Consulte a amostra de saída no exemplo 1.
Para obter mais informações, consulte Executar comandos usando o Systems Manager Run Command no Guia do usuário do AWS Systems Manager.
Exemplo 3: executar um comando em instâncias com tags específicas
O exemplo de
send-command
a seguir executa um comando em instâncias que têm a chave de tag "ENV" e o valor "Dev".aws ssm send-command \ --targets
"Key=tag:ENV,Values=Dev"
\ --document-name"AWS-RunShellScript"
\ --parameters"commands=ifconfig"
Consulte a amostra de saída no exemplo 1.
Para obter mais informações, consulte Executar comandos usando o Systems Manager Run Command no Guia do usuário do AWS Systems Manager.
Exemplo 4: executar um comando que envia notificações do SNS
O exemplo de
send-command
a seguir executa um comando que envia notificações do SNS para todos os eventos de notificação e o tipo de notificaçãoCommand
.aws ssm send-command \ --instance-ids
"i-1234567890abcdef0"
\ --document-name"AWS-RunShellScript"
\ --comment"IP config"
\ --parameters"commands=ifconfig"
\ --service-role-arn"arn:aws:iam::123456789012:role/SNS_Role"
\ --notification-config"NotificationArn=arn:aws:sns:us-east-1:123456789012:SNSTopicName,NotificationEvents=All,NotificationType=Command"
Consulte a amostra de saída no exemplo 1.
Para obter mais informações, consulte Executar comandos usando o Systems Manager Run Command no Guia do usuário do AWS Systems Manager.
Exemplo 5: executar um comando que retorna para o S3 e o CloudWatch
O exemplo de
send-command
a seguir executa um comando que envia detalhes do comando para um bucket do S3 e para um grupo de logs do CloudWatch Logs.aws ssm send-command \ --instance-ids
"i-1234567890abcdef0"
\ --document-name"AWS-RunShellScript"
\ --comment"IP config"
\ --parameters"commands=ifconfig"
\ --output-s3-bucket-name
"s3-bucket-name" \ --output-s3-key-prefix"runcommand"
\ --cloud-watch-output-config"CloudWatchOutputEnabled=true,CloudWatchLogGroupName=CWLGroupName"
Consulte a amostra de saída no exemplo 1.
Para obter mais informações, consulte Executar comandos usando o Systems Manager Run Command no Guia do usuário do AWS Systems Manager.
Exemplo 6: executar comandos em várias instâncias com tags diferentes
O exemplo de
send-command
a seguir executa um comando em instâncias com duas chaves e valores de tag diferentes.aws ssm send-command \ --document-name
"AWS-RunPowerShellScript"
\ --parameters commands=["echo helloWorld"] \ --targetsKey=tag:Env,Values=Dev
Key=tag:Role,Values=WebServers
Consulte a amostra de saída no exemplo 1.
Para obter mais informações, consulte Executar comandos usando o Systems Manager Run Command no Guia do usuário do AWS Systems Manager.
Exemplo 7: usar várias instâncias com a mesma chave de tag
O exemplo de
send-command
a seguir executa um comando em instâncias que têm a mesma chave de tag, mas com valores diferentes.aws ssm send-command \ --document-name
"AWS-RunPowerShellScript"
\ --parameters commands=["echo helloWorld"] \ --targetsKey=tag:Env,Values=Dev,Test
Consulte a amostra de saída no exemplo 1.
Para obter mais informações, consulte Executar comandos usando o Systems Manager Run Command no Guia do usuário do AWS Systems Manager.
Exemplo 8: executar um comando que usa um documento compartilhado
O exemplo de
send-command
a seguir executa um comando compartilhado em uma instância de destino.aws ssm send-command \ --document-name
"arn:aws:ssm:us-east-1:123456789012:document/ExampleDocument"
\ --targets"Key=instanceids,Values=i-1234567890abcdef0"
Consulte a amostra de saída no exemplo 1.
Para obter mais informações, consulte Usar documentos do SSM compartilhados no Guia do usuário do AWS Systems Manager.
-
Para obter detalhes da API, consulte SendCommand
na Referência de comandos da AWS CLI.
-
Para ver uma lista completa dos Guias do desenvolvedor e exemplos de código do SDK da AWS, consulte Usar este serviço com um AWS SDK. Este tópico também inclui informações sobre como começar e detalhes sobre versões anteriores do SDK.