아직 익숙하지 않은 설정 과정을 메모하고 참고 하고자 정리 합니다.
본 내용은 https://youtu.be/mRq0VvXA-j8?t=117 영상을 참고하여 직접 설정해 보고 그 과정을 글로써 정리 하였습니다. 좋은 영상으로 도움이 많이 되었습니다. 감사합니다. ^^
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:*",
"tag:*",
"logs:*"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": "arn:aws:iam::XXXXXXXXXXXX:role/test-server-automation-start-stop-role"
}
]
}
var AWS = require("aws-sdk");
AWS.config.update({
region: "ap-northeast-2"
});
exports.handler = async function(event, context) {
console.log("event:", event);
var ssm = new AWS.SSM();
var params = {
DocumentName: (event.action == "stop") ? 'AWS-StopEC2Instance' : 'AWS-StartEC2Instance',
Parameters: {
'AutomationAssumeRole': [event.rolearn]
},
MaxConcurrency: '10',
MaxErrors: '25%',
TargetParameterName: "InstanceId",
Targets: [{
Key: `tag:${event.key}`,
Values: [event.value]
}]
};
try {
const result = await ssm.startAutomationExecution(params).promise();
console.log(result);
}
catch (e) {
console.log(e);
}
};
{
"key": "auto-start-stop-am9-pm6",
"value": "ok",
"rolearn": "arn:aws:iam::XXXXXXXXXXXX:role/test-server-automation-start-stop-role",
"action": "stop"
}
{"key": "auto-start-stop-am9-pm6","value": "ok","rolearn": "arn:aws:iam::XXXXXXXXXXXX:role/test-server-automation-start-stop-role","action": "stop"}
{"key": "auto-start-stop-am9-pm6","value": "ok","rolearn": "arn:aws:iam::XXXXXXXXXXXX:role/test-server-automation-start-stop-role","action": "start"}