使用 AWS re:Post 即表示您同意 AWS re:Post 使用條款

Maintaining on-demand servers

0

I have 30 Linux on-demand servers. We only use these server during core business hours (8 to 6 pm). I created Lambda functions to start & stop and configured event bridge rule. We have automated OS patching scheduled on different day & time based on the environment (dev, test, uat, stage). I have many other Lambda functions to start/stop so that these servers can be available during patching. I have to maintain so many Lambda functions and Eventbridge rules. Is there any other effective way to do it?

已提問 4 個月前檢視次數 643 次
3 個答案
1
已接受的答案

You could use the AWS Instance Scheduler to orchestrate the scheduling. You can configure schedules appropriate for each of your workloads in the DynamoDB table that controls the Instance Scheduler, and you can associate each instance with the appropriate schedule with a tag you configure on the instance. You can expose the tag in the EC2 instance view in the console to see easily which schedule is assigned to each instance.

You would need to configure the schedules in Instance Scheduler to include the patching window appropriate for each workload or patching code, depending on how you classify your workloads.

The Instance Scheduler is documented here: https://docs.aws.amazon.com/solutions/latest/instance-scheduler-on-aws/solution-overview.html. The configuration of schedules is explained on this page in the documentation: https://docs.aws.amazon.com/solutions/latest/instance-scheduler-on-aws/schedule-reference.html and tagging instances with schedules is explained here: https://docs.aws.amazon.com/solutions/latest/instance-scheduler-on-aws/operator-guide.html#tag-instances-for-scheduling

Note that if Windows servers are included in your patching process, it often completes rather quickly but sometimes takes substantially longer. If you trigger a power-off via EC2, whether it's with a Lambda function, through the console, or with the Instance Scheduler, EC2 will only wait for some minutes for the instance to finish powering off, and if it doesn't, EC2 will power it off anyway. As you may know, that may corrupt the whole Windows installation. The only safe way to power a Windows server off is to trigger the shutdown from inside Windows, so that the operating system is in control of the power-off. The AWS Instance Scheduler or your custom Lambda would only be responsible for powering the instances on. The Instance Scheduler also supports "start only" types of schedules.

專家
已回答 4 個月前
profile picture
專家
已審閱 4 個月前
1

Hello,

I think for this "Instance Scheduler on AWS" suitable for you.

[+] https://aws.amazon.com/solutions/implementations/instance-scheduler-on-aws/ [+] Instance Scheduler with CloudFormation: https://repost.aws/knowledge-center/stop-start-instance-scheduler

Enter image description here

profile picture
已回答 4 個月前
  • I forgot to mention I cannot use SSM for patching. I have to use Jenkins pipelines.

0

You can power all these off and on with one step function and one or two lambda functions if your code is written in a modular way.

What do all your functions do?

profile picture
專家
已回答 4 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南