У меня есть Document
в Systems Manager
, который успешно работает, когда я запускаю документ, используя Run Command
в консоли aws. Document
имеет несколько строк команд bash, которые я хочу запустить на экземпляре.
Это мой код lambda
, из которого я пытаюсь вызвать документ, используя ssm.sendCommand
.
const AWS = require('aws-sdk');
const ssm = new AWS.SSM();
exports.handler = async (event) => {
// const ec2InstanceId = event.detail.EC2InstanceId;
const ec2InstanceId = "<aws-instance-id>";
console.log(ec2InstanceId);
const documentName = "test_document";
ssm.sendCommand({
DocumentName: documentName,
InstanceIds: [ ec2InstanceId ],
TimeoutSeconds: 60
}, function(err, data) {
if (err) {
console.log(JSON.stringify(err));
} else {
console.log(data);
}
});
console.log("run command successful");
};
Проблема в том, что когда я тестирую эту лямбду с консоли aws, я вижу в журналах, что выполнение команды прошло успешно, но я не всегда получаю желаемые результаты. Иногда команды выполняются, в то время как в большинстве случаев команды не запускаются на экземпляре. Что может быть не так, что вызывает такое прерывистое поведение?