[OCI] [Windows] 컴퓨팅 인스턴스의 자동 시작/중지를 외부 상시 시작 Windows 기기에서 제어

예를 들어, 낮의 비즈니스 시간에만 컴퓨팅 인스턴스를 실행하고 싶다는 요구가 있다고 생각합니다.
거기서, 가동 장소는 어디에서나 좋지만, 상시 기동하고 있는 Windows기로부터, 태스크 스케줄러를 사용해 자동으로 OCI컴퓨트 인스턴스의 기동 정지를 하는 구조를 만들고 싶습니다.

설정 절차



1. OCI CLI 설정



PowerShell 버전의 OCI CLI가 이미 구성되어 있다고 가정합니다.
htps : // / cs. cぉd. 오 c. 코 m/쟈-jp/아아 s/콘텐 t/아피/SDK도 cs/cぃ인 s타르. htm
등을 참고로 OCI CLI를 Windows에 설치합니다.

2. 인스턴스 시작/중지 명령 생성



제어할 컴퓨팅 인스턴스의 시작 및 중지 명령을 만듭니다.
먼저 제어할 컴퓨팅 인스턴스의 OCID를 확인합니다.



해당 OCID를 사용하여 다음 두 가지 PowerShell 명령을 만듭니다.

startInstance.ps1
$instanceid = "ここに管理対象コンピュートインスタンスOCIDを貼り付ける"
oci compute instance action --instance-id $instanceid --action START


stopInstance.ps1
$instanceid = "ここに管理対象コンピュートインスタンスOCIDを貼り付ける"
oci compute instance action --instance-id $instanceid --action STOP 

3. 인스턴스 시작 중지 명령의 동작 확인



시작 및 중지 명령을 모두 사용할 수 있었으므로 번갈아 시작하여 대상 인스턴스가 움직이거나 중지되었는지 확인합니다.



4. 작업 스케줄러에 등록



Windows 검색 막대에서 “tasks”와 같은 문자열로 작업 스케줄러를 찾아서 시작합니다.
애플리케이션마다 폴더를 만드는 방법이므로 여기에서는 OracleCloud라는 폴더를 만듭니다.



그런 다음 "기본 작업 만들기"의 작업 이름에 "startInstance"(선택 사항)와 설명 "start OCI Instance"(선택 사항)를 등록합니다.



계속해서 시간에 동작하는 트리거의 설정을 합니다.

'태스크 트리거'는 매일
기동 시간은 임의, 처음에는 동작 확인하기 때문에, 현재 시간에 가까운 시간으로 좋다고 생각합니다.
시간대 사이에서 동기화는 확인되지 않습니다.이를 확인하면 UTC 시간으로 간주됩니다.



위와 같이 stopInstance도 등록합니다.



이제 자동으로 Compute Instance의 자동 시작을 중지할 수 있습니다.
인스턴스를 떠나도 밤에는 멈춥니다.

Tips



이 방법 외에도 Loadbalancer의 실행 인스턴스 수를 변경하는 방법도 있습니다.
그래서 여기에 설명한 방법은 단순히 하나의 인스턴스를 관리하고 싶을 때에 적합한 것이라고 생각합니다.

좋은 웹페이지 즐겨찾기