-
aws 인스턴스 & 도커 자동 시작인프라 2022. 12. 12. 11:01728x90반응형SMALL
이번 포스팅은 서버 인스턴스 실행 시 자동 실행에 관련된 포스팅입니다.
- 서버 인스턴스를 특정 시간대에 자동 실행되고 자동 중지될 수 있도록 해주도록 스케줄링 해주기
- 서버 인스턴스가 실행되면 자동으로 도커가 실행될 수 있도록 해주기
위와 같은 부분을 궁금하신 분들에게 도움이 됐으면 좋겠습니다!
서버 인스턴스 자동으로 키고 끄기
방법 1. cloudformation에서 schedule 스택을 생성해서 dynamoDB에 스케줄 되는 시간을 조정하면 원하는 시간에 인스턴스를 자동적으로 키고 끌 수 있다.
방법 2. lambda에 인스턴스를 키고 끄는 함수를 지정해두고 cloudWatch에서 특정 시간 때에 lambda함수를 해당 인스턴스에 실행해줘서 원하는 시간에 인스턴스를 키고 끌 수 있다.
위 두가지 방법 중에 첫번째 방법을 도입해볼 생각이다.
How do I stop and start my instances using the AWS Instance Scheduler?
AWS CloudFormation메뉴에 들어가 스택을 새로 생성한다.
1. 스택 생성 버튼 클릭
2. 해당 url에서 template을 다운로드 받은 뒤
https://docs.aws.amazon.com/solutions/latest/instance-scheduler-on-aws/templates.html
3. 준비된 템플릿 > 템플릿 파일 업로드 > 파일 업로드
4. 다음 버튼 클릭
5. 세부 정보 입력 (내가 설정해준 부분)
- 스택 이름: EC2instanceScheduler
- Default time zone: Asia/Seoul
- Frequency: 30분(이 빈도마다 시그널을 보내는 것 같다)
- Enable CloudWatch Logs : Yes
- Started tags : state=started
- Stopped tags : state=stopped
- AWS CloudFromation에서 IAM리소스를 생성할 수 있음을 승인합니다. 체크!!!
DYnamoDB에서 설정
1. 왼쪽 메뉴 테이블 > EC2instanceScheduler-ConfigTable > 표 항목 탐색으로 이동
(처음에 테이블 메뉴를 눌러도 아무것도 안 생긴다면, 조금 기다리면 EC2instanceScheduler-{~~} 항목이 생길 것입니다.)
2. 저는 이미 생성되어 있던 항목 중(type=period, name=office-hours) 항목을 수정했습니다.(항목 생성 버튼을 통해 period 항목을 새로 생성해서 사용해도 됩니다.)
3. 설정
- begintime : 시작 시간
- endtime : 종료 시간
- retain-running : 시작 시간보다 일찍 인스턴스를 켤 시, 종료시간에 인스턴스를 꺼지지 않게 한다.
- enforced : 정해진 시간에 켜짐과 꺼짐을 무조건시 한다. (9~18사이에는 무조건 켜지고 그 외에는 꺼지게)
4. schedule 항목 생성
- type : schedule
- name : {사용자 지정}
- period : office-hours -> period 항목을 새로 만들었다면 해당 period의 이름을 입력
- tagname : {사용자 지정}
인스턴스에 Schedule 태그 추가
위에서 생성한 Schedule type의 태그를 인스턴스의 태그에 넣어준다.
- 키 : Schedule
- 값 : {Schedule 항목의 태그}
Reference
https://gentlesark.tistory.com/89
https://dev.classmethod.jp/articles/aws-instance-scheduler-introduction-korean/
반응형LIST'인프라' 카테고리의 다른 글
Ingress를 이용한 쿠버네티스 연결 기본 실습 (0) 2022.12.16 서버 안정화를 위한 조사 (0) 2022.12.12 쿠버네티스 시작 (0) 2022.12.12 dockerfile 관련 정리 (0) 2022.12.09 Nginx Load balancing, 도커 컨테이너 실습 (0) 2022.12.08