# 실습내용
1. IAM 정책과 역할을 생성하자
2. 람다로 코드를 작성하자
3. 클라우드 와치에서 규칙을 생성하자
4. 참고 사이트 : cholol.tistory.com/506
- IAM 설정화면으로 이동한 뒤 정책 → 정책생성을 클릭하여 새로운 정책을 생성하자.
- 위의 화면처럼 EC2에 대한 시작과 종료 작업을 사용 할 수 있도록 설정한 뒤 권한추가를 눌러 추가 권한을 부여하자.
- 클라우드와치에서 트리거역할과 실행 결과를 로그에 담아야 하니 위의 화면처럼 구성을 해주자.
- 다음을 클릭하여 해당 정책의 이름을 정해주자.
- 그 다음으로는 생성한 정책을 역할과 연결해주기 위해 역할을 클릭, 역할 만들기를 클릭하여 역할을 생성하자.
- AWS 서비스, 그리고 람다를 선택한다.
- 이전에 생성한 정책을 찾아 역할과 연결해 준다.
- 역할 이름을 입력하고, 역할을 생성한다.
- 람다함수의 이름과 런타임 버전을 선택하고 함수를 생성한다.
- 코드에서 lambda_function.py 를 선택 후 자동 스타트 파이썬 코드를 넣어준다.
[Start 코드]
import boto3
region = 'ap-northeast-2'
instances = ['인스턴스 ID']
ec2 = boto3.client('ec2', region_name=region)
def lambda_handler(event, context):
ec2.start_instances(InstanceIds=instances)
print('started your instances: ' + str(instances))
- 코드를 입력한 뒤 배포를하고, 구성탭으로 이동한 뒤 권한을 클릭한다.
- 권한설정에서 우리가 이전에 만든 역할을 선택하고 저장을 누른다.
- stop도 동일하게 해준다.
[Stop 코드]
import boto3
region = 'ap-northeast-2'
instances = ['i-0013d1b642951cb56']
ec2 = boto3.client('ec2', region_name=region)
def lambda_handler(event, context):
ec2.stop_instances(InstanceIds=instances)
print('stoped your instances: ' + str(instances))
- 트리거 역할을 할 클라우드 와치를 설정하자.
- 규칙메뉴로 이동한 뒤 규칙생성을 클릭한다.
- 일정탭으로 변경 후 Cron 표현식을 선택 후 스케중을 넣어준다.
- 대상은 람다함수이고, 함수이름을 선택하고 세부 정보구성으로 넘어간다.
- 시작 규칙 이름을 정해주고 규칙을 생성한다.
- 인스턴스 중지도 위에 시작과 동일하게 구성해준다.
- 중지 규칙 이름을 정해준다.
- 모든것이 완료되면 위와같이 규칙이 생성이되며, Cron표현식에 설정된 스케줄에 따라 실행된다.
- 실행 결과는 클라우드와치 → 로그그룹에서 확인이 가능하다.
'AWS Lambda ƛ > Lambda' 카테고리의 다른 글
Lambda Handler란? (0) | 2023.07.21 |
---|---|
AWS Lambda에 API Gateway를 연결하여 간단한 웹 서버 만들기 (0) | 2022.04.25 |
AWS API Gateway - RESTful API 생성하기 with Lambda (0) | 2021.12.24 |
AWS Lambda에서 특정 문장을 출력하기 (0) | 2021.12.24 |
람다란? (0) | 2021.12.24 |