Lambda 및 EventBridge를 사용하여 사전 정의된 시간에 EC2 인스턴스 중지 및 시작 - STOPINATOR 2.0
9227 단어 devopsproductivitywebdevpython
7일차 - 사전 정의된 시간에 EC2 인스턴스 중지 및 시작 Lambda 및 EventBridge 사용 - STOPINATOR 2.0
☁️ 100 days of Cloud- Day Seven
✅
- Read on GitHub - Read On iCTPro.co.nz
Lambda 및 EventBridge를 사용하여 사전 정의된 시간에 EC2 인스턴스 중지 및 시작
EC2를 자동으로 시작 및 중지하여 Amazon Elastic Compute Cloud(Amazon EC2) 사용량을 줄입니다.
1단계 Lambda에 대한 IAM 폴리 및 실행 역할 생성.
IAM 정책 생성
AWS 콘솔에서 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": "*"
}
]
}
정책 이름을 Stopinator-II로 지정하고 만들기를 클릭합니다.
IAM 역할 생성
IAM 콘솔로 이동하여 역할을 선택하고 역할 생성을 클릭합니다.
코멘트
스크린샷
AWS 서비스 선택
그런 다음 Lambda를 선택하고 다음을 클릭합니다.
AWSLambdaBasicExecutionRole을 검색하고 선택합니다.
Stopinator 정책도 추가
역할 이름을 지정하고 역할 생성을 클릭합니다.
Lambda 함수 생성
정지 기능
코멘트
스크린샷
1. 람다 대시보드로 이동하여 함수 생성을 클릭합니다.
2. 처음부터 작성자로 유지하고 함수 이름 지정
3. 런타임 선택
파이썬 3.9
4. 권한, 생성된 역할 선택
Goto 코드 및 붙여넣기
import boto3
region = 'ap-southeast-2'
instances = ['i-xxxxxxxxxxxxxxxxxx,i-xxxxxxxxxxxxxxxxxx']
ec2 = boto3.client('ec2', region_name=region)
def lambda_handler(event, context):
ec2.stop_instances(InstanceIds=instances)
print('stopped your instances: ' + str(instances))
저장 및 배포
인스턴스 이름과 지역을 추가하는 것을 잊지 마십시오.
시작 기능
1~4단계를 반복하고 아래 코드를 추가하십시오.
import boto3
region = 'ap-southeast-2'
instances = ['i-xxxxxxxxxxxxxxxxxx,i-xxxxxxxxxxxxxxxxxx']
ec2 = boto3.client('ec2', region_name=region)
def lambda_handler(event, context):
ec2.start_instances(InstanceIds=instances)
print('started your instances: ' + str(instances))
인스턴스 이름과 지역을 추가하는 것을 잊지 마십시오.
저장 및 배포
람다 함수 테스트
함수를 선택하고 테스트를 클릭하면 람다 함수가 들여쓰기된 대로 작동하는지 확인합니다.
EventBridge를 사용하여 EC2를 켜고 끌 시간 예약
AWS 콘솔에서 EventBridge로 이동하고 규칙 생성을 클릭합니다.
코멘트
스크린샷
규칙 이름 지정
패턴을 정의하고 일정을 선택하고 CRON 시간을 입력하십시오. 나는 매일 오후 6시를 중지 시간으로 유지하고 있습니다. 이것을 사용하십시오. link 당신의 크론을 만들기 위해
중지할 Lambda 함수로 대상 선택
Stopinator-II-Stop 선택
이제 만들기를 클릭합니다.
에 대해 단계를 반복합니다.
스트라이팅 인스턴스
축하합니다. Stopinator 2.0을 성공적으로 구성했습니다.
.ltag__user__id__637154 .follow-action-button {
배경색: #141D2B !중요;
색상: #9FEF00 !중요;
테두리 색상: #141D2B !중요;
}
아누빈드 산카라빌라삼 팔로우
Experienced Cloud Technology Specialist with a demonstrated skillset of working with Emergency, NZ Police & Education industry
Reference
이 문제에 관하여(Lambda 및 EventBridge를 사용하여 사전 정의된 시간에 EC2 인스턴스 중지 및 시작 - STOPINATOR 2.0), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aws-builders/stop-and-start-ec2-instances-at-predefined-times-using-lambda-and-cloudwatch-stopinator-20-day-7-2b0c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)