- EC2 인스턴스 아이디 파악

2.IAM 이동

- 정책으로 이동


JSON을 선택하고 내용을 입력한다
{ "Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"ec2:Start*",
"ec2:Stop*",
"ec2:RebootInstances"
],
"Resource": "*"
}
]
}

- 역할로 이동


아까 만들었던 정책을 찾아서 선택한다

이름과 설명을 입력한다.

- LAMBA로 이동


이름, 런타임, 실행역할, 기존역할을 선택해준다.(아까 만든거 선택)

람다 안에 파이썬 코드를 안에 넣는다.(인스턴스 아이디도 정확히 넣기)
import boto3
region = 'ap-northeast-2'
instances = ['여러분의 인스턴스ID']
ec2 = boto3.client('ec2', region_name=region)
def lambda_handler(event, context):
ec2.reboot_instances(InstanceIds=instances)
print('stopped your instances: ' + str(instances))

구성으로 이동


이제까지 리부트 함수를 만들었습니다.
이거를 eventbridge를 이용해서 주기적으로 재부팅 되게 하면 됩니다.
그리고 재부팅 후에는 systemd를 이용해서 재부팅 시 실행되게 하면 됩니다.
링크텍스트