봄날은 갔다. 이제 그 정신으로 공부하자

node.js로 웹서비스 만들기 (23. Compute Engine 일정 관리) 본문

학습

node.js로 웹서비스 만들기 (23. Compute Engine 일정 관리)

길재의 그 정신으로 공부하자 2023. 8. 27. 11:11

이번 글은 VM 인스턴스를 보다 효율적으로 사용하는 방법에 대해서입니다.

개발 서버로 사용하다보니 사용하지 않는 시간대에는 VM 인스턴스를 내려놓고 필요할 때만 켜는 방식으로 설정해 비용을 절감한다거나 아니면 이전 글에서 작성한 VM 인스턴스 재실행 시 자동 재시작 코드가 정상적으로 동작하는지 확인하고자 할 때에 사용할 수 있습니다.

이번 글은 아래 사이트를 참고하여 작성하였습니다.

 

참고 사이트: 

https://cloud.google.com/compute/docs/instances/schedule-instance-start-stop?hl=ko

 

일정 관리는 크게 세 부분으로 구분됩니다.

  1. 일정 생성
  2. 생성한 일정을 VM 인스턴스와 연결
  3. 서비스 계정에 필요한 권한 추가

 

1. 일정 생성

Compute Engine > VM 인스턴스 > 인스턴스 일정탭을 클릭한 후 상단 “일정 만들기” 버튼을 클릭합니다.

 

새 일정 만들기 화면에서 아래와 같이 일정 정보를 입력 후 하단 제출 버튼을 클릭합니다.

저는 매일 오전 8시 30분에 인스턴스를 시작해서 오후 10시까지만 동작하도록 일정을 작성하였습니다.

 

인스턴스 일정 목록 화면에 아래 그림과 같이 일정이 잘 추가된 것을 확인할 수 있습니다.

 

2. 생성한 일정을 VM 인스턴스와 연결

생성된 일정을 VM 인스턴스와 연결해야지만 해당 일정에 맞게 인스턴스가 실행 및 중지를 할 수 있습니다.

방금전 생성한 일정을 클릭해보면 아직은 일정에 연결된 인스턴스가 없는 것을 확인할 수 있습니다.

“일정에 인스턴스 추가” 버튼을 클릭합니다.

 

"일정에 인스턴스 추가 화면"에서  연결하려는 인스턴스를 체크하고 하단 “추가” 버튼을 클릭합니다.

 

작업 중 아래와 같은 팝업이 뜹니다.

이는 일정을 추가하려는 계정이 권한이 없어 발생하는 문제로 IAM에서 아래 팝업에 언급된 계정에 권한을 compute engine 관리자 권한을 추가해야 합니다.

 

3. 서비스 계정에 필요한 권한 추가

IAM > “엑세스 권한 부여” 버튼을 클릭합니다.

 

엑세스 권한 부여 정보 입력창에 아래와 같이 입력합니다.

  - 새 주 구성원: 권한이 없다고 나온 사용자 계정 입력

  - 역할: “Compute Engine> Compute 인스턴스 관리자(v1)” 선택

하고 “저장” 버튼을 클릭합니다.

이제 권한 부여가 끝났습니다.

 

마무리

이제 다시 Compute Engine > 인스턴스 일정 > 일정 세부 정보 > 일정에 인스턴스 추가를 선택합니다.

방금 전과 달리 인스턴스에 일정이 정상적으로 추가되고 

아래와 같이 일정에 인스턴스가 추가된 것을 확인 할 수 있습니다.

 

이제 VM 인스턴스가 매일 오전 8시 30분에 시작해서 오후 10시까지만 동작하도록 설정하였고 저는 없는 살림에 요금을 조금 더 절약 할 수 있게 되었습니다. ^^

Comments