인스턴스 생성 및 연결
Bare Metal Server 서비스에서 인스턴스를 생성 및 연결하는 방법은 다음과 같습니다.
인스턴스 생성
새 인스턴스를 생성할 수 있습니다.
베어 메탈 서버에서 네트워크 본딩(bonding)을 설정하면 여러 개의 네트워크 인터페이스를 하나의 논리적 인터페이스로 묶어서 사용할 수 있습니다. 이를 통해 높은 대역폭과 높은 가용성을 제공할 수 있습니다.
-
카카오클라우드 콘솔 > Beyond Compute Service > Bare Metal Server 메뉴로 이동합니다.
-
인스턴스 메뉴를 클릭 후, [인스턴스 생성] 버튼을 클릭합니다.
-
인스턴스 생성에서 정보를 입력하고, [생성] 버튼을 클릭합니다.
Bare Metal Server 인스턴스 생성
항목 설명 ① 기본 정보 이름: 인스턴스의 이름
- 예시: instance-01_01
설명(선택): 인스턴스 설명(100자 이내)② 이미지 카카오클라우드에서 제공하는 이미지 ③ 인스턴스 유형 해당하는 인스턴스의 조건
- 자세한 설명은 카카오클라우드 공식 사이트 > Bare Metal Server 요금 참고④ 볼륨 선택된 인스턴스 유형에 따라 1,600~3,200 GB 자동 설정됨 ⑤ 키 페어 인스턴스에 적용할 기존 키 페어를 선택 또는 신규 생성
- 키 페어 생성을 클릭해 새로운 키 페어를 생성 및 할당 가능
- 자세한 설명은 키 페어 생성하기 참고
⚠️ 생성한 키 페어의 프라이빗 키 파일은 다시 다운로드받을 수 없으며, 이 정보를 안전하게 보관해야 합니다.
⚠️ 키 페어 없이 인스턴스에 연결할 수 없으니 주의하시기 바랍니다.⑥ 네트워크 네트워크 본딩 모드: 활성화 시 mode4 LACP:802.3ad(link aggregation)
자동 선택되며, 네트워크 인터페이스 설정 불가
VPC: 인스턴스를 구성할 네트워크
네트워크 인터페이스: 인스턴스 생성 시점에 연결될 네트워크 인터페이스에 대한 설정으로, 새 네트워크 인터페이스가 생성되도록 하거나 기존에 이미 생성한 네트워크 인터페이스를 연결 가능
서브넷: 네트워크에 생성된 서브넷 중 하나 선택
- 새로운 VPC와 서브넷이 필요한 경우 카카오클라우드 콘솔 > VPC에서 생성 필요
- 외부에서 접근할 수 있는 퍼블릭 IP는 인스턴스 생성 후 퍼블릭 IP 연결에서 할당 가능
IP 할당 방식: 네트워크 인터페이스에 IP가 할당되는 방식을 선택
보안 그룹: 인스턴스에 적용할 보안 그룹
인바운드/아웃바운드 규칙
- 인바운드 탭: 위 보안 그룹에 적용한 인바운드 규칙
💡 인스턴스에 연결하기 위해, 선택한 이미지에 따라 아래의 인바운드 포트를 허용해야 함(필수)
ㄴ Linux 계열: TCP 22번 포트 허용 필요
ㄴ Windows: TCP 3389번 포트 허용 필요
ㄴ Windows + MSSQL: TCP 3389, 1433번 포트 허용 필요
- 아웃바운드 탭: 아웃바운드 규칙으로, 전체 프로토콜의 모든 포트를 허용⑦ 고급 설정 사용자 스크립트: 사용자 스크립트 입력 또는 실행
- 인스턴스 시작 시, 사용자 데이터를 실행하여 초기 환경 구성을 자동으로 실행
- 사용자 데이터 스크립트 및 cloud-init 명령을 16KB 이내로 입력하거나 파일로 업로드 가능
- 입력된 명령은 인스턴스를 최초로 시작할 때만 실행
- 사용자 데이터 스크립트는/var/lib/cloud/instances
하위에 복사되어 실행
- 스크립트 실행 로그 확인 시 다음 명령어 실행
ㄴ Ubuntu:sudo cat /var/log/syslog
또는sudo journalctl -u cloud-final.service
ㄴ CentOS:sudo cat /var/log/messages
또는sudo journalctl -u cloud-final.service
-
[생성] 버튼을 클릭하면, 베어 메탈 인스턴스가 생성됩니다. 이후에는 SSH 클라이언트 등을 이용하여 이 인스턴스에 접속할 수 있습니다. 또한, 운영체제를 설치하고 구성하는 등의 추가 작업이 필요할 수 있습니다.
- 동일한 서브넷에서 2개 이상의 네트워크 인터페이스를 인스턴스에 연결할 경우 비대칭 라우팅과 같은 네트워킹 문제가 발생할 수 있으며, 정상 통신을 위해 별도 조치가 필요할 수 있습니다. 따라서 각 네트워크 인터페이스가 서로 다른 서브넷에 연결되도록 설정하는 것을 권장합니다. 자세한 설명은 다중 네트워크 인터페이스 사용 문서에서 확인하시기 바랍니다.
- Bare Metal 인스턴스를 시작하면 기본 서버가 부팅되는데, 이때 모든 하드웨어 및 펌웨어 구성 요소를 확인합니다. 즉, 인스턴스가 실행 상태가 되어 네트워크를 통해 사용할 수 있게 될 때까지 약 20분 정도 소요될 수 있습니다.
- 2023년 1월 16일부터 생성되는 인스턴스는 호스트 이름이 프라이빗 IP 형태로 자동으로 설정됩니다. (예. host-100-100-17-22)
- 인스턴스 생성 후, 네트워킹 단계에서 host-IP 형식으로 갱신되며 인스턴스 생성 후 잠시 인스턴스 이름으로 호스트 이름이 보일 수 있습니다.
인스턴스에 연결
운영체제에 따라 SSH 또는 RDP를 사용하여 인스턴스에 연결합니다. 인스턴스에 연결하기 위해서는 퍼블릭/프라이빗 IP로 접근할 수 있도록 접속 환경을 준비해야 합니다.
- 2024년 기준 베어 메탈 인스턴스에서는 보안 그룹을 연결하더라도 규칙이 적용되지 않습니다.
Linux 인스턴스에 SSH 연결
SSH 클라이언트를 사용하여 Linux 인스턴스에 연결할 수 있습니다.
-
SSH 명령어를 사용하기 위해 SSH 클라이언트를 설치합니다.
운영체제 준비 사항 Linux/macOS OpenSSH를 다운로드하여 설치
- 자세한 설명은 OpenSSH 공식 사이트 참고 -
터미널에서 SSH 명령어를 사용하여 인스턴스에 연결합니다. 프라이빗 키의 경로와 파일 이름, 인스턴스의 사용자 이름 및 인스턴스의 주소를 입력합니다.
SSH 명령어ssh -i {PATH_TO_PRIVATE_KEY} {USERNAME}@{INSTANCE_IP}
명령어 설명 {PATH_TO_PRIVATE_KEY}
프라이빗 키 경로 {USERNAME}
인스턴스에 연결시 입력해야 하는 사용자 이름
- 기본 이미지에서 제공되는 운영체제 별로 사전 생성되어 있음{INSTANCE_IP}
인스턴스가 가지고 있는 IP
- 접속 환경에 맞게 퍼블릭 IP 또는 프라이빗 IP 입력
GPU 유형 인스턴스 사용
GPU 유형의 인스턴스를 사용하기 위해서는 적절한 드라이버를 설치해야 합니다.
드라이버가 설치된 GPU 전용 이미지를 사용하여 인스턴스를 생성하거나, 기본 이미지로 인스턴스를 생성한 후 별도로 퍼블릭 드라이버를 다운로드하여 설치할 수 있습니다. 운영체제별 GPU 드라이버를 설치하여 GPU를 사용하는 방법은 다음과 같습니다.
카카오클라우드는 편의를 위해 NVIDIA 드라이버 470.199.02 버전, CUDA Toolkit 11.4 버전이 설치된 Ubuntu 20.04, 22.04 이미지를 제공합니다. 해당 이미지를 사용하여 간편하게 GPU 유형 인스턴스를 사용하실 수 있습니다.
- Linux
Linux 운영체제에서 GPU 드라이버를 설치하는 방법은 다음과 같습니다.
현재 카카오클라우드에서 제공 중인 Ubuntu 20.04 이미지, NVIDIA A100을 기준으로 안내합니다.
Step 1. NVIDIA 드라이버 설치하기
NVIDIA 드라이버를 설치합니다. 권장 드라이버 및 CUDA 버전은 다음과 같습니다.
GPU 유형 | NVIDIA 버전 | CUDA 버전 |
---|---|---|
NVIDIA A100 | 450.80.02 이상 | CUDA Toolkit 11.1 이상 |
- NVIDIA 드라이버 다운로드에 대한 자세한 설명은 NVIDIA 공식 사이트 Driver Downloads를 참고하시기 바랍니다.
- NVIDIA 드라이버 설치 및 구성에 대한 자세한 설명은 NVIDIA 공식 사이트 > NVIDIA Driver Installation Quickstart Guide를 참고하시기 바랍니다.
-
NVIDIA 드라이버를 설치할 인스턴스에 NVIDIA 장비가 있는지 명령을 실행해 확인합니다.
NVIDIA 장비 검색 명령어$ lspci | grep -i NVIDIA
-
설치할 수 있는 드라이버 버전을 확인합니다.
-
설치된 드라이버가 최신 버전이 아닐 경우,
apt update -y
명령어를 실행하여 업데이트를 실행합니다. -
Command ‘ubuntu-drivers’ not found
라는 메시지가 나올 시,sudo apt install ubuntu-drivers-common
명령을 입력하여 ubuntu-drivers-common을 설치합니다.설치할 드라이버 버전 확인 명령어$ ubuntu-drivers devices
드라이버 버전 확인 예시$ ubuntu-drivers devices
**==** /sys/devices/pci0000:00/0000:00:04.0 **==**
modalias : pci:v000010DEd000020B0sv000010DEsd0000134Fbc03sc02i00
vendor : NVIDIA Corporation
driver : nvidia-driver-515-server - distro non-free
driver : nvidia-driver-470 - distro non-free
driver : nvidia-driver-470-server - distro non-free
driver : nvidia-driver-510-server - distro non-free
driver : nvidia-driver-510 - distro non-free
driver : nvidia-driver-450-server - distro non-free
driver : nvidia-driver-515 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
-
-
설치 가능한 드라이버를 선택하여 설치를 진행합니다.
드라이버 설치$ sudo apt install nvidia-driver-470
-
재부팅을 실행합니다.
재부팅 명령어$ sudo reboot
-
설치한 드라이버 정보를 확인합니다.
설치한 드라이버 정보 확인 명령어$ nvidia-smi
설치한 드라이버 정보 확인 예시$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.141.03 Driver Version: 470.141.03 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA A100 80G... Off | 00000000:00:05.0 Off | 0 |
| N/A 33C P0 41W / 300W | 35MiB / 80994MiB | 0% Default |
| | | Disabled |
+-------------------------------+----------------------+----------------------+
| 1 NVIDIA A100 80G... Off | 00000000:00:06.0 Off | 0 |
| N/A 34C P0 43W / 300W | 35MiB / 80994MiB | 0% Default |
| | | Disabled |
+-------------------------------+----------------------+----------------------+
Step 2. NVIDIA CUDA Toolkit 설치하기
NVIDIA CUDA Toolkit를 설치합니다.
-
CUDA Toolkit를 재설치하는 경우, 다음의 설치 환경을 준비합니다. 단, 신규 설치의 경우에는 2번부터 진행합니다.
a. 기존 CUDA 관련 설정을 삭제합니다.
CUDA 설정 삭제 명령어$ sudo rm -rf /usr/local/cuda*
b.
~/.bashrc
또는/etc/profile
에 다음의 기존 설정이 있는 경우, 삭제합니다.기존 설정 삭제export PATH=$PATH:/usr/local/cuda-11.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.4/lib64
export CUDADIR=/usr/local/cuda-11.4c. 모든 기존 설정을 삭제한 후,
nvcc -V
명령을 실행해 해당 명령이 실행되지 않는 것을 확인합니다.nvcc -V 명령 실행 결과$ nvcc -V
Command 'nvcc' not found, but can be installed with: sudo apt install nvidia-cuda-toolkit -
NVIDIA 공식 사이트 > CUDA Toolkit Archive에서 설치할 CUDA Toolkit 버전을 선택합니다. 버전 선택 시 하단에서 Base Installer 명령어를 확인할 수 있습니다.
CUDA Toolkit 버전 선택 및 Base Installer 명령어 확인
-
Base Installer의 명령어(첫째 줄)를 실행하여 CUDA Toolkit 설치용 파일을 다운로드합니다.
CUDA Toolkit 설치용 파일 다운로드 명령어 예시$ wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux.run
Base Installer의 Toolkit 설치용 파일 다운로드 명령 실행 결과
-
Base Installer의 명령어(둘째 줄)를 실행하여 CUDA Toolkit 설치용 파일을 실행합니다.
- CUDA Toolkit 설치용 파일 실행 시 1분 이상의 시간이 소요됩니다.
CUDA Toolkit 설치용 파일 실행 명령어$ sudo sh cuda_11.4.0_470.42.01_linux.run
-
방향키를 눌러 Continue를 선택하고, Enter를 누릅니다.
Continue 선택
-
accept
를 입력하고, Enter를 누릅니다.accept 입력
-
Space를 눌러 Driver의 체크 박스의 선택을 해제하고 Install을 선택한 후, Enter를 누릅니다.
- 기존 설정이 있는 경우,
Existing installation of CUDA Toolkit 11.x found
메시지가 나타납니다. 해당 경우 Upgrade all을 선택하고 Enter를 누릅니다.
Install 선택
- 기존 설정이 있는 경우,
-
CUDA Toolkit이 정상적으로 설치 완료된 경우, 다음의 화면을 확인할 수 있습니다.
CUDA Toolkit 설치 완료
-
다음의 명령을 실행하여 CUDA Toolkit 관련 환경 변수를 추가합니다.
CUDA Toolkit 관련 환경 변수 추가 명령어$ sudo sh -c "echo 'export PATH=$PATH:/usr/local/cuda-11.4/bin' >> /etc/profile"
$ sudo sh -c "echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.4/lib64' >> /etc/profile"
$ sudo sh -c "echo 'export CUDADIR=/usr/local/cuda-11.4' >> /etc/profile"
$ source /etc/profile -
nvcc -V
명령을 실행하여 설치된 CUDA Toolkit을 확인합니다.CUDA Toolkit 설치 확인 결과