CLI 사용 원격으로 마인크래프트 서버 중지 재 시작하기

이전 글을 보시면 아시겠지만,

https://iothingsmaker.com/%eb%a7%88%ec%9d%b8%ed%81%ac%eb%9e%98%ed%94%84%ed%8a%b8-%ec%9a%b0%eb%b6%84%ed%88%ac-bedrock-%ec%84%9c%eb%b2%84-%ec%97%85%eb%8d%b0%ec%9d%b4%ed%8a%b8-%eb%b0%a9%eb%b2%95/

현재, 아이폰에서 마인크래프트를 하면서, 우분투 서버에 bedrock 서버를 설치해서 사용하고 있는데요.

바로, AWS에 서버를 올려서 작업중입니다. 시간당 과금되는 서버를 사용하고 있어서, 모두 각자의 일들로 바쁜 시간에는 서버를 잠시 내려놓습니다.

바로.. AWS Console을 통해서 작업하고 있는데요. 사실 로그인만 하면 어려운 것은 없지만, 이것도 귀찮아서, CLI로 서버를 중지/시작해보려고 합니다.

그러려면 환경 설정을 해야 하는데요. 언제나 그렇지만 사실 전체 프로세스중 환경설정만 하면 절반은 진행한겁니다.

설치

원격으로 서버 instance를 관리하려면, aws 라는 CLI 명령어가 필요한데요, 저는 맥을 사용하고 있으므로, 아래와 같이 aws를 설치합니다.

먼저 패키지를 다운로드 받습니다.

curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"

다운로드된 패키지를 설치합니다.

sudo installer -pkg AWSCLIV2.pkg -target /

// installer: Package name is AWS Command Line Interface
// installer: Installing at base path /
// installer: The install was successful.

제대로 설치되었는지 확인합니다.

which aws; aws --version

됐습니다. 이제 aws는 설치되었습니다.

환경설정

설치가 되었다면, 아래 명령어로 기본적인 환경설정을 합니다.

aws configure

이때, Key 정보가 필요한데요, IAM Console 에 접속하여, Key를 발급받아야 합니다.

IAM > Users > [해당유저] > Security credentials > Access Keys

IAM Identity Center 에서 관리하면 좋겠지만, 일부지역에서만 서비스 하므로, 부득이하게 IAM Console에서 작업합니다.

key 생성후, csv를 다운로드 받으면 해당 파일에, id 와 key가 기록되어 있습니다.

아래와 같은 질문에 하나씩 입력하시면 됩니다.

사용방법

환경 설정이 끝나면 아래 명령어로 instance를 시작/중지할 수 있습니다.

aws ec2 start-instances --instance-ids [ids]
aws ec2 stop-instances --instance-ids [ids]

처음 실행을 하면, stopped -> pending 상태가 되었다고 json 결과값을 보여주는데요.
시간이 지나면, 자연스럽게 enabled 가 됩니다.

현재 어느 단계인지 궁금하면, monitor-instances 명령어로 확인하실 수 있습니다.

aws ec2 monitor-instances --instance-ids [ids]

FAQ

instance id는 어디에 있나요?

aws EC2 Management Console 에 접속합니다.

Instances 화면에 보면, InstanceID가 있습니다.

aws ec2 를 수행했는데, UnauthorizedOperation 에러가 발생합니다.

해당 user에 인스턴스에 접근할 권한이 없는 경우입니다.

추가로 에러가 encoded 되어 있다면, 아래 명령어로 세부 에러 사항을 확인할 수 있습니다.

aws sts decode-authorization-message --encoded-message [encoded message]

권한 추가를 원하시면, 해당 유저의 권한 추가 메뉴를 사용하시면 됩니다.

일단 저는 AmazonEC2FullAccess 를 선택했는데, 인스턴스 시작/중지만 할 수 있는 권한을 알고 계시다면 댓글 주시면, 본 포스팅 수정하겠습니다.

결론 및 점검

아래와 같이 나오면 정상입니다.

vim startec2.sh
vim stopec2.sh
chmod +x *.sh

쉘로 만들어서 관리하면 더 편리하게 이용할 수 있습니다.

감사합니다.

Leave a Comment