언제 어디서나 피시방처럼 게임을 하고 싶을 때, GCP의 무료 크레딧을 이용해 무료 원격 피시방을 즐겨보자.
1. 그래픽카드 사용 신청
먼저 그래픽카드 quota를 올려야 한다. IAM > 할당량 > 필터에 all_regions 검색 - all regions GPU클릭 - 할당량 증가 클릭해서 GPU 한도 0에서 1로 늘려달라고 요청하고, 메일로 한도 변경 되었다고 연락 올때까지 기다린다.
메일이 오면 해당 페이지에서 Nvidia T4 GPUs로 필터링한다.
그래픽카드 위치는 asia-northeast3-b나 asia-northeast3-c로 해야 한다.
2. Instance 생성
일단은 gcp에서 NVIDIA Gaming PC - Windows Server 2019를 찾는다.
실행 누른다.
높은 핑을 위해서 asia-northeast3-c(서울) 로 잡고, GPU 사용, Boot Dist는 SSD 250Gb로 여유롭게 잡았다.
그러면 deployment manager가 뜨면서, 위 사진과 같이 나온다면 정상 배포 된 것이다.
원한다면 외부 고정 IP도 할당하자!
3. 해당 vm에 접속
(rdp 접속이 정상적으로 된다면) 바로 접속하면 되고, 그렇지 않다면 google cloud cli client를 설치하고 iap 우회를 할 것이다.
https://cloud.google.com/beyondcorp-enterprise/docs/securing-virtual-machines?hl=ko
IAP로 가상 머신 보안 | BeyondCorp Enterprise | Google Cloud
의견 보내기 IAP로 가상 머신 보안 이 페이지에서는 IAP(Identity-Aware Proxy) TCP 전달을 사용하여 외부 IP 주소가 없거나 인터넷을 통한 직접 액세스를 허용하지 않는 VM 인스턴스에 대한 관리 액세스를
cloud.google.com
위 링크를 참조해 방화벽 규칙을 만들고 gcloud에 명령어를 입력해 iap 터널을 열자.
gcloud compute start-iap-tunnel gs 3389
그러면 이런 식으로 포트 [XXXXX]번이 열렸다고 뜨는데 rdp 앱을 열어 localhost:[해당 포트]로 접속하면 된다.
window 비밀번호는 vm에서 열람할 수 있다.
4. 접속 후 원활한 rdp를 위한 설정
접속하면 window server가 보인다.
바로 뜨는 이 창을 끄고,
Manage - Server Manager Properties를 클릭해서 Do not statr server manager~를 끈다. window를 켤 때마다 이 앱이 실행되지 않게 한다.
비밀번호 설정
비밀번호를 내가 편한 것으로 바꾸자.
이후에는 netplwiz - users must enter~를 클릭해 로그인 시 비밀번호를 입력하지 않아도 되게 하자.
(원한다면 언어도 설치하자.)
프레임 설정
regedit을 검색해서 레지스트리 편집기로 들어간다.
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server로 들어가, DWORD(32 bit value)로 새로 만들기 - 이름은 DWMFRAMEINTERVAL, 값은 f(15)로 설정한다.
이후 서비스에 들어가서
Remote Desktop Services를 다시 시작한다. RDP 연결이 끊기고, 재시작하면 된다.
잘 안된다면, Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations에서 DWMFRAMEINTERVAL를 생성하고 값은 똑같이 f를 입력하자.
이후 재부팅한 후 testufo.com에 들어가서 보면 60fps로 실행되고 있는 것을 볼 수 있다. (나의 경우 잘 안되서 두 번째 레지스트리를 설정하니 잘 되었다. - 그리고 service 종료 해도 안 되면 재부팅도 한 번 해 보자.)
remote FX 설정
다음으로 remoteFX 관련 설정을 전부 켤 것이다.
gpedit(그룹 정책 편집)에 들어가서 관리 템플릿 - 윈도우 구성 요수 - 터미널 서비스 - 원격 데스크톱 세션 호스트 - 원격 세션 환경에 들어가자.
설정 다 꺼져 있다. 다 켜버리자.
모든 원격 데스크톱 서비스에 하드웨어 그래픽 어댑터 사용 - 사용으로 한다.
Use Advance RemoteFX graphics for RemoteApp - 사용으로 한다.
원격 데스크톱 연결에 H.264/AVC 444 그래픽 모드 우선 사용 - 사용으로 한다.
원격 데스크톱 연결에 대한 H.264/AVC 하드웨어 인코딩 구성 - 사용으로 한다.
Configure compression for RemoteFX data - 네트워크 대역폭을 적게 사용하도록 최적화함 한다.
Configure image quality for RemoteFX Adaptive Graphics - 이미지 품질 낮음으로 한다.
Enable RemoteFX encoding for RemoteFX clients designed for Windows Server 2008 R2 SP1 - 사용으로 한다.
Configure RemoteFX Adaptive Graphics - 최소 대역폭으로 한다.
지금까지 이렇다.
다음으로 제일 위에 있는 폴더인 RemoteFX for Windows Server 2008 R2로 들어간다. 여기 옵션도 다 켤 것이다.
Configure RemoteFX - 사용으로 한다.
Optimize visual experience when using RemoteFX - 프레임은 높음, 이미지 품질은 낮음으로 한다.
Optimize visual experience for Remote Desktop Service Sessions - 사용으로 한다.
접속 포트 변경
공식 문서와 동일하다.
다음으로 접속 포트를 3389에서 443으로 바꿀 것이다. 방화벽을 들어가자.
고급 설정을 들어가자.
보이는 inbound rule, outbound rule에 443을 추가하면 된다.
순서는 new rule - port - tcp - 443 - allow the connection - 이름은 적당히 생성
하면 만들어진다. outbound에도 만들자.
이후에는 다시 regedit을 켜서 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP_Tcp로 들어간다.
PortNumber를 내가 들어가고 싶은 포트(앞에서 방화벽을 연) 443으로 들어간다.
바꾸었다. 이제 이 포트로 접속 가능!
5. Moonlight를 사용하는 방법
rdp 너무 귀찮다, 하면 parsec이나 moonlight를 써도 된다.
vm 방화벽 설정
1) 방화벽 설정. TCP 47984, 47989, 48010 / UDP 5353, 47998, 47999, 48000, 48002, 48010로 설정하면 된다.
2) 해당 vm 접속 - server manage - add roles and features - Wireless Lan Service 설치 후 재부팅
3) sign-in option - 비밀번호 변경, newplwiz - 로그인 시 pw요구 없애기
4) 재부팅.
파섹 스크립트 설치
https://github.com/parsec-cloud/Parsec-Cloud-Preparation-Tool
GitHub - parsec-cloud/Parsec-Cloud-Preparation-Tool: Launch Parsec enabled cloud computers via your own cloud provider account.
Launch Parsec enabled cloud computers via your own cloud provider account. - GitHub - parsec-cloud/Parsec-Cloud-Preparation-Tool: Launch Parsec enabled cloud computers via your own cloud provider a...
github.com
에서 스크립트 관리자 모드로 켠 powershell에 복붙.
이후 재부팅 2회, 이후 RDP 대신 parsec으로 해당 vm에 접속한다.
geforce experience 설치.
https://github.com/acceleration3/cloudgamestream
GitHub - acceleration3/cloudgamestream: A Powershell one-click solution to enable NVIDIA GeForce Experience GameStream on a clou
A Powershell one-click solution to enable NVIDIA GeForce Experience GameStream on a cloud machine with a GRID supporting GPU. - GitHub - acceleration3/cloudgamestream: A Powershell one-click soluti...
github.com
에서 스크립트 다운받기
Steps 폴더 안의 1_install_requiresments에 있는 63번줄 if($installVideo) {}부터 끝까지 삭제
관리자 모드로 켠 파워쉘에 아래 명령어 입력, 나오는 건 전부 y로 설치.
Set-ExecutionPolicy Unrestricted; ./Setup.ps1
Moonlight 시작
1) nvidia experience 실행 및 로그인 - 설정 - shields - 프로그램 추가 - C:\windows\system32\mstsc.exe 등록
2) https://github.com/moonlight-stream/Internet-Hosting-Tool/releases에서 최신 툴 다운로드, 실행
3) moonlight client에서 해당 사이트로 접속.
참고
아래 링크 참고해서 구성하면 된다.
https://www.clien.net/service/board/cm_vr/16131785
구글 클라우드 플랫폼 PCVR 환경 구축 따라하기. (1/2) : 클리앙
GCP 안녕하세요. 잘모르시는분들을위해따라하실수있도록구성했습니다. 중간중간옵션이있는데,필수는아니지만참고하시면됩니다. 기본정보:구글에서만든클라우드플랫폼서비스입니다.주로서버
www.clien.net
https://www.clien.net/service/board/cm_vr/16131801
구글 클라우드 플랫폼 PCVR 환경 구축 따라하기. (2/2) : 클리앙
그런다음 저기 ps1 으로 끝나는 텍스트를 붙여넣고 엔터! (Ps1 뒤에 공백이 몇개 있으니 유의) 그러면관리자로실행하겠냐는창이뜨는데YES! 여기서y를누르시고윈도우계정과비번을넣으시면됩니다.
www.clien.net
https://www.clien.net/service/board/cm_vr/16133911
구글 클라우드 서비스 품질을 높여보자 (문라이트 설치 가이드 1/2) : 클리앙
안녕하세요. 지난번 파섹으로 찾아뵈었습니다. 이것저것 추가로 테스트를 해본결과, 파섹보다 문라이트가 훨씬 좋더라구요. 지포스 익스피리언스를 이용하고 엔당 글픽 카드만 쓸 수 있습니다.
www.clien.net
https://www.clien.net/service/board/cm_vr/16133936
구글 클라우드 서비스 품질을 높여보자 (문라이트 설치 가이드 2/2) : 클리앙
이어집니다. 바탕화면에 지포스 익스피리언스를 실행합니다. 처음에 가입한 엔비디아 아이디 패스워드를 넣어주시고. 위에 기어모양 설정으로 가셔서 게임스트림을 켜줍니다. 아래 추가 버튼
www.clien.net
끝!
와! 이제 어디서든 window를 사용할 수 있게 되었다. 시간당 약 2000원이니 계산 잘 해가면서 하자.
'DevOps > Environment Set Up' 카테고리의 다른 글
[GCP Tutorial] Windows RDP through WEB using guacamole + code-server (feat. GCP) (0) | 2022.09.27 |
---|---|
[Node.js Tutorial] Install NVM & typescript-express-starter on Ubuntu (0) | 2022.09.20 |
[GCP Tutorial] RDP through HTTPs connection using guacamole (feat. GCP) (0) | 2022.09.04 |
[Java Tutorial] Ubuntu Java 개발환경 세팅 (0) | 2022.08.17 |
[GCP Tutorial] GCP + Code Server (0) | 2022.06.20 |