#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"]}'