boto3 Как установить cloud watch agent с помощью сервиса AWS SSM с помощью скрипта python

#python #aws-sdk #boto3 #amazon-cloudwatch #aws-ssm

#питон #aws-sdk #бото3 #amazon-cloudwatch #aws-ssm

Вопрос:

Я пытаюсь установить cloud watch agent на несколько экземпляров ec2, а затем настроить показатели памяти для этих экземпляров.Я смог сделать это вручную, перейдя по этой ссылке. Но у меня около 100 экземпляров ec2 в разных регионах, и поэтому я планирую автоматизировать это с помощью пакета python boto3. Ниже приведен код, который я пытаюсь использовать

 import boto3
ssm_client = boto3.client('ssm', region_name=region, aws_access_key_id=AWS_ACCESS_KEY_ID,
                          aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
try:
    ssm_resp = ssm_client.send_command(
        InstanceIds=["i-0bb7f627b65157a5b"],
        DocumentName="AWS-ConfigureAWSPackage",
        Parameters={'action': ['install'], 'name': ['AmazonCloudWatchAgent']},
    )
except Exception as e:
    print(e)
 

Ниже приведена ошибка, которую я получаю при выполнении приведенного выше кода.
An error occurred (InvalidParameters) when calling the SendCommand operation :
Я не уверен, что такое параметр ошибки, я следил за документацией, но мне неясно, какой параметр вызывает эту проблему.

Ответ №1:

Это может быть так же просто, как не использовать прописную букву «I» при установке, но это всего лишь предположение, поскольку я не использовал эту конкретную команду. Это и одинарные и двойные кавычки, которые также могут повлиять, а могут и не повлиять. У меня были ошибки, когда в некоторых экземплярах ec2, созданных из ami, не был установлен ssm, и это также выдает ошибку, но я не думаю, что это были InvalidParameters.

Просматривая документы командной строки: https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor-working-with-packages-deploy.html

 aws ssm send-command 
    --document-name "AWS-ConfigureAWSPackage" 
    --instance-ids "i-00000000000000" 
    --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["ExamplePackage"]}'