Lambda 및 EventBridge를 사용하여 사전 정의된 시간에 EC2 인스턴스 중지 및 시작 - STOPINATOR 2.0

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

좋은 웹페이지 즐겨찾기