본문 바로가기
기술 단어장/🎸

[Isaac Sim] GCP에서 Isaac Sim 5.1.0 구동하기

by MFDO 2026. 1. 9.

 

 

 

GCP에서 Isaac Sim을 돌리고 싶은 나는

설정을 알아보고 있었다

 

 

자료에 따르면 GCP 구동을 위해서는 T4, L4를 권장한다.

이미지는 Ubuntu 22.04 LTS를 이용하면 좋다고 한다.

 

혹여 여기서 Ubuntu 최신 버전을 쓰고자 하는 분들이 있을 수 있는데

이 이후 버전에서는 불안정한 것들과 공식적으로 미지원하는 부분이 있기에

22.04를 쓰는것을 추천한다.

 

 

 

 

또다른 이용 방법으로는 GCP 마켓 플레이스에서 Isaac Sim Workstation을 지원하고 있다.

이를 이용하면 아주 간단히 Isaac Sim을 사용할 수 있다.

 

Google Cloud console

Google Cloud 콘솔에서 www.gstatic.com의 자바스크립트 소스를 로드할 수 없습니다. 가능한 원인은 다음과 같습니다. 네트워크 관리자가 www.gstatic.com 또는 IP 주소를 차단합니다.과도한 자동 요청으로

console.cloud.google.com

 

나는 가격 보고 직접 비교적 저렴한 구성으로 직접 구축하기로 결정했다...

 

 


 

GCP Compute Engine 구성

 

 

위에서 언급한 자료에 의하면 GPU는 T4나 L4를 이용할 수 있다.

NVIDIA에선 이를 기준으로 하여 각 권장 사양 명령어를 제공하고 있다.

개인적으로 최소 사양과 넉넉사양도 명시해봤다

GUI에서 옵션으로 금액 보고 적당한 타협을 찾아가면 될 것이다.

 

T4

gcloud compute \
--project "<project_name>" \
instances create "<instance_name>" \
--zone "us-central1-a" \
--machine-type "n1-standard-8" \
--subnet "default" \
--metadata="install-nvidia-driver=True" \
--maintenance-policy "TERMINATE" \
--accelerator type=nvidia-tesla-t4,count=1 \
--image "ubuntu-2204-jammy-v20230919" \
--image-project "ubuntu-os-cloud" \
--boot-disk-size "100" \
--boot-disk-type "pd-ssd"

1) CPU

 - n1-standard-4 : 최소사양 ( 4 vCPU / 15GB / 1 L4 )

 - n1-standard-8 : 권장사양 ( 8 vCPU / 30GB / 1 L4 )

 - n1-standard-16: 넉넉사양 (16 vCPU / 60GB / 1 L4 )

 

2) Image: Ubuntu 22.04 LTS

 

3) Disk : SSD 100GB 

 

 

gcloud compute \
--project "<project_name>" \
instances create "<instance_name>" \
--zone "us-central1-a" \
--machine-type "g2-standard-4" \
--subnet "default" \
--metadata="install-nvidia-driver=True" \
--maintenance-policy "TERMINATE" \
--accelerator type=nvidia-l4,count=1 \
--image "ubuntu-2204-jammy-v20230919" \
--image-project "ubuntu-os-cloud" \
--boot-disk-size "100" \
--boot-disk-type "pd-ssd"

1) CPU

 - g2-standard-4 : 최소사양 ( 4 vCPU / 15GB / 1 L4 )

 - g2-standard-8 : 권장사양 ( 8 vCPU / 30GB / 1 L4 )

 - g2-standard-16: 넉넉사양 (16 vCPU / 60GB / 1 L4 )

 

2) Image: Ubuntu 22.04 LTS

 

3) Disk : SSD 100GB 

 

 

사진으로 보는 권장 사양

나는 일단 초급자기 때문에 아래와 같이 T4 권장 사양으로 맞추었다

 

 

 

하지만 디스크는 150GB로 조금 더 용량을 할당했다.

이것도 이후 모자랄 것으로 예상된다..

 

 

 

만들어졌다!

 

 


 

NVIDIA Driver 설치

가이드에 나온 대로 드라이브를 설치한다.

 

1) 습관성 업데이트

vm을 처음 키면 습관적으로 하는 루틴을 진행해준다.

sudo apt update

 

 

2) 설치용 python 코드 다운로드

curl https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-installation/main/linux/install_gpu_driver.py --output install_gpu_driver.py

 

 

3) 드라이버 설치

sudo python3 install_gpu_driver.py

 

 

 

 

 


Docker 및 Nvidia Toolkit 설치

아래 문서를 따라 Container Toolkit 설치를 해달라하니 따라보자

 

 

Container Installation — Isaac Sim Documentation

Container Installation The container installation of Isaac Sim is recommended for deployment on remote headless servers or the Cloud using a Docker container running Linux. Container Setup Ensure your system meets the System Requirements for running NVIDIA

docs.isaacsim.omniverse.nvidia.com

 

 

 

1) Docker 설치

이 과정은 대부분 익숙할 것이라 생각한다.

도커를 설치하고 Docker 그룹에 나를 추가하는 과정이다.

# Docker installation using the convenience script
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# Post-install steps for Docker
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

# Verify Docker
docker ps

 

 

 

2) NVIDIA Container Toolkit 설치

docker가 GPU를 사용할 수 있도록 container toolkit을 설치해주는 과정이다.

# Configure the repository
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
    && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list \
    && \
    sudo apt-get update

# Install the NVIDIA Container Toolkit packages
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

# Configure the container runtime
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

# Verify NVIDIA Container Toolkit
docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

 

 


 

Isaac Sim Container 배포

눈에 보이다싶이 현재 CLI 환경으로 돌아가고 있는데

이를 Headless 환경으로,

즉 화면을 띄우는 리소스를 아껴 GPU 랜더링이나 물리 연산에 집중시키고

결과물을 비디오 스트림으로 압축해  내 PC로 전송 시킬 수 있도록 구성해볼 것이다.

 

그리고 물론 이 내용도 문서로 제공하고 있다.

 

Container Installation — Isaac Sim Documentation

Container Installation The container installation of Isaac Sim is recommended for deployment on remote headless servers or the Cloud using a Docker container running Linux. Container Setup Ensure your system meets the System Requirements for running NVIDIA

docs.isaacsim.omniverse.nvidia.com

 

 

1) Docker Image Pull

Isaac Sim 5.1.0 버전을 가져온다.

(2026.01.09 기준 최신)

docker pull nvcr.io/nvidia/isaac-sim:5.1.0

 

 

 

 

2) Docker Volume Mount

VM 워낙 비싸서 껐다 켰다 할거라 필수 과정이다

마운트 폴더 생성하고 권한 설정해주고 있다.

mkdir -p ~/docker/isaac-sim/cache/main/ov
mkdir -p ~/docker/isaac-sim/cache/main/warp
mkdir -p ~/docker/isaac-sim/cache/computecache
mkdir -p ~/docker/isaac-sim/config
mkdir -p ~/docker/isaac-sim/data/documents
mkdir -p ~/docker/isaac-sim/data/Kit
mkdir -p ~/docker/isaac-sim/logs
mkdir -p ~/docker/isaac-sim/pkg
sudo chown -R 1234:1234 ~/docker/isaac-sim

 

 

 

 

3) Docker 컨테이너 환경 진입

Isaac Sim 실행 전, 컨테이너 내부 쉘로 먼저 진입한다.

뭔가 할게 있었나보다.

docker run --name isaac-sim --entrypoint bash -it --gpus all -e "ACCEPT_EULA=Y" --rm --network=host \
    -e "PRIVACY_CONSENT=Y" \
    -v ~/docker/isaac-sim/cache/main:/isaac-sim/.cache:rw \
    -v ~/docker/isaac-sim/cache/computecache:/isaac-sim/.nv/ComputeCache:rw \
    -v ~/docker/isaac-sim/logs:/isaac-sim/.nvidia-omniverse/logs:rw \
    -v ~/docker/isaac-sim/config:/isaac-sim/.nvidia-omniverse/config:rw \
    -v ~/docker/isaac-sim/data:/isaac-sim/.local/share/ov/data:rw \
    -v ~/docker/isaac-sim/pkg:/isaac-sim/.local/share/ov/pkg:rw \
    -u 1234:1234 \
    nvcr.io/nvidia/isaac-sim:5.1.0

 

1) --entrypoint bash -it:
Isaac Sim 자동 실행을 멈추고, 내가 직접 명령어를 칠 수 있는 터미널 상태로 입장
2) --gpus all / --network=host:
VM의 모든 GPU 성능과 네트워크 IP/포트를 복잡한 설정 없이 그대로 끌어다 쓰겠다
3) -e "ACCEPT_EULA=Y" / --rm:
필수 약관에 동의하고, 작업이 끝나고 나오면 컨테이너(껍데기)를 즉시 삭제해 깔끔하게 정리
4) -v (Volume Mount):

컨테이너의 데이터(캐시, 로그)를 아까 만들었던 폴더에 연결해 컨테이너가 종료되어도 데이터 유지
5) -u 1234:1234:

파일 권한 에러를 막기 위해 Root가 아닌, 아까 폴더 주인을 맞춰둔 특정 사용자 ID(1234)로 실행하겠다


 

 

 

4) GPU 여부 점검

컨테이너 내부에서 GPU가 잡히는지 테스트를 진행한다.

현재 진입한 컨테이너 내부에서 아래 명령어를 입력하자

 

./isaac-sim.compatibility_check.sh --/app/quitAfter=10 --no-window

이리저리 열심히 알아봐주는데 일단 당연하게도 모니터가 없기에 GLFW는 실패한다

 

힝이다.

 

원인은 램이었는데, 최소 사양이 32 GB인데

내가 31.54 GB라서 0.46 GB 모자라 오류가 났다

무시하기로 했다.

 

 

중요했던 GPU는 통과했기에 다음 단계를 진행하려고한다.

 

 

5) Isaac Sim 실행

이제 실제로 실행을 해보는 단계다

실행하면 -v 옵션 넣어서 신나게 로그가 출렁인다.

./runheadless.sh -v

 

이렇게 "Isaac Sim Full Streaming App is loaded."가 뜨면 완료된 것이다.

 

 


Isaac Sim Live Streaming Client 설치

 

이제 GUI를 연결하기 위해

클라이언트 프로그램을 다운받아보자

 

Livestream Clients — Isaac Sim Documentation

See Workstation Installation for full installation instructions. cd ~/isaacsim ./isaac-sim.streaming.sh See Workstation Installation for full installation instructions. cd C:\isaacsim isaac-sim.streaming.bat See Container Installation for full installation

docs.isaacsim.omniverse.nvidia.com

 

 

1) 포트개방

접속을 위해선 해당 vm의 포트를 열어주어야한다.

현재 UDP 47998, TCP 49100을 개방해야 한다고 명시되어 있다.

 

 

 

 

 

2) VPC 방화벽 오픈

 

 

 

 

2-1) UDP 47998 허용

isaac-sim자꾸 issac-sim이라 쓰는 내가 밉다

 

 

2-2) TCP 47998 허용

 

 

 

 

3) 스트리밍 재실행

이전 runheadless.sh 하던건 ctrl+c해서 취소하고

아래 명령어를 통해 외부 노출 IP와 포트를 명시해 재실행한다.

PUBLIC_IP=$(curl -s ifconfig.me) && ./runheadless.sh --/app/livestream/publicEndpointAddress=$PUBLIC_IP --/app/livestream/port=49100

 

 

 

 

 

 

4) 클라이언트 다운로드

아래 주소에서 자신의 운영체제에 맞는 클라이언트를 다운로드 하자.

 

Download Isaac Sim — Isaac Sim Documentation

Omniverse Launcher, Nucleus Workstation, and Nucleus Cache will be deprecated and will no longer be available starting October 1, 2025.

docs.isaacsim.omniverse.nvidia.com

 

 

 

 

 

 

4) 접속 시도

외부 IP를 넣고 connect버튼을 눌러 연결한다.

 

 

 

 

 

얏호!

 

 


 

다음에 다시 켤 때는?

 

1) 도커 컨테이너 접속

docker run --name isaac-sim --entrypoint bash -it --gpus all -e "ACCEPT_EULA=Y" --rm --network=host \
    -e "PRIVACY_CONSENT=Y" \
    -v ~/docker/isaac-sim/cache/main:/isaac-sim/.cache:rw \
    -v ~/docker/isaac-sim/cache/computecache:/isaac-sim/.nv/ComputeCache:rw \
    -v ~/docker/isaac-sim/logs:/isaac-sim/.nvidia-omniverse/logs:rw \
    -v ~/docker/isaac-sim/config:/isaac-sim/.nvidia-omniverse/config:rw \
    -v ~/docker/isaac-sim/data:/isaac-sim/.local/share/ov/data:rw \
    -v ~/docker/isaac-sim/pkg:/isaac-sim/.local/share/ov/pkg:rw \
    -u 1234:1234 \
    nvcr.io/nvidia/isaac-sim:5.1.0

 

2) Isaac Sim 실행

PUBLIC_IP=$(curl -s ifconfig.me) && ./runheadless.sh --/app/livestream/publicEndpointAddress=$PUBLIC_IP --/app/livestream/port=49100

 

3) 클라이언트 연결!

 

 

 

 

 

 

 

드러누워 편히 쉬는...

언젠간 걸어줄거라 믿는...

우리의 휴머노이드와 함께 글을 마친다.

 

 

 

 


다음 이야기

 

아뿔싸...! 잊고있었다...
GPU가 연결된 VM은 인스턴스 정지가 안되는구나...

 

지금은 눈물을 흘리며 중지했지만,

다음엔 terraform으로 정의해서 딸깍으로 껐다켰다 해봐야지!!

 

 

 

 

 

 

 

 

댓글