Notice
Recent Posts
Recent Comments
Link
gyeomii
[AWS] EC2 Instance 자동 중지 및 실행 본문
반응형
AWS에서 EC2 자동 종료 & 실행
개요
EC2 Instance를 자동 종료 & 실행하도록 설정한다.
전체적인 순서는 다음과 같다.
- IAM (Identity and Access Management) 생성
- Lamda 적용
- Event Bridge Scheduler 설정
IAM 생성
콘솔 홈에서 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*" ], "Resource": "*" } ] }
정책 생성
IAM > 역할 > 역할 생성
AWS 서비스 > Lamda 선택
전 단계에서 생성한 정책 연결
역할 이름 추가 후 생성
Lamda 적용
Lamda 검색
함수 생성
새로작성 > 함수 이름 > 런타임 설정 (Python 3.12)
코드 작성 > Deploy
import boto3 region = 'ap-northeast-2' instances = ['인스턴스 ID (i-****************)'] ec2 = boto3.client('ec2', region_name=region) def lambda_handler(event, context): ec2.start_instances(InstanceIds=instances) print('start your instances: ' + str(instances))
- 종료 함수는
ec2.start_instances
대신ec2.stop_instances
로 작성하면 됌.
- 종료 함수는
구성 > 권한 > 편집
기존역할 > 전단계에서 생성한 역할 연결
Amazon EventBridge Scheduler 설정
Amazon EventBridge Scheduler 검색
일정이름 입력, 반복일정 > Cron 기반 일정 > Cron 표현
유연한 기간을 선택하면 cron 설정한 시간 + 유연한 시간 범위 내에 실행된다
- ex) 매일 03시 실행 + 유연한 기간 15분 : 3시 ~ 3시 15분 범위 내에 실행
대상선택 > AWS Lamda 선택, Invoke > 전 단계에서 생성한 Lamda 함수 선택
설정
- 일정 완료 후 작업 : DELETE를 선택하면 완료한 일정을 삭제한다.
- 재시도 정책 : 실패한 일정을 24시간 이내 재시도한다.
일정생성
- 설정 내용 확인 후 일정 생성
반응형
'개발' 카테고리의 다른 글
[AWS] EC2 상태이상시 Slack 연동 알림 설정 (0) | 2024.01.22 |
---|---|
AWS 이슈 (java scheduler 사용시) (0) | 2023.12.15 |
📌Web Application Layer (0) | 2023.09.20 |
JAVA에서 웹 크롤링하기(1) (0) | 2023.08.29 |
🕷Data Crawling 3 (0) | 2023.08.23 |