인스턴스 생성 및 연결
해당 가이드는 GPU
, NPU
인스턴스에 대한 내용을 담고 있습니다.
비디오 트랜스코딩(Video transcoding)
인스턴스는 Virtual Machine에서 제공하며, Virtual Machine > 인스턴스 생성 및 연결을 참고하시기 바랍니다.
인스턴스 생성
인스턴스는 가상화된 하드웨어 리소스로 다양한 인스턴스 유형의 서버를 구성합니다. GPU 서비스에서 인스턴스를 생성하는 방법은 다음과 같습니다.
-
카카오클라우드 콘솔 > Beyond Compute Service > GPU 메뉴로 이동합니다.
-
인스턴스 메뉴에서 [인스턴스 생성] 버튼을 클릭합니다.
-
인스턴스 생성에서 정보를 입력하고, [생성] 버튼을 클릭합니다.
- 인스턴스 생성 후 네트워크 접속을 처리하는 과정이 10분 이내로 소요될 수 있으므로, 생성 직후에는 서버 접근이 안 될 수 있습니다.
인스턴스 생성항목 설명 ① 기본 정보 이름: 인스턴스의 이름
- 같은 프로젝트 내 중복된 인스턴스 이름 사용 가능
- 2개 이상의 인스턴스 생성 시 최초 생성한 인스턴스 이름을 기준으로 자동 입력됨개수: 생성할 인스턴스 개수
- 1~10개까지 동시 생성 가능
- 최대 쿼터(프로젝트당 생성 제한 개수) 수량까지 생성 가능
ㄴ kr-central-1 : 100개
ㄴ kr-central-2 : 500개
️
️ ⚠️ Virtual Machine 인스턴스와 쿼터 수량이 공유됩니다.설명(선택): 인스턴스 설명(100자 이내) ②이미지 사용할 이미지
- 기본 탭: 카카오클라우드에서 공식적으로 제공하는이미지
- 내 이미지 탭 : 해당 계정에서 생성한 이미지(이미지 관리 참고)③ 인스턴스 유형 해당하는 인스턴스의 조건
- 인스턴스 유형별 사양 참고④ 볼륨 인스턴스에 연결되는 볼륨. 루트 볼륨이 기본값으로 표시되며, 필요시 사용자 지정 볼륨 추가 가능
- 크기: 1 ~ 5,120GB 크기로 생성 가능
- 유형:SSD
만 지원, 추후 다양한 유형 지원 예정
- 최대 IOPS: 볼륨 크기별로 미리 설정된 IOPS 정보 (수정 기능 제공 예정)
- 인스턴스 삭제 시 함께 삭제: 인스턴스 삭제 시 해당 볼륨을 함께 삭제하는 옵션⑤ 키 페어 인스턴스에 적용할 키 페어
- 키 페어 생성을 클릭해 새로운 키 페어를 생성 및 할당 가능
⚠️ 생성한 키 페어의 프라이빗 키 파일은 다시 다운로드받을 수 없으며, 이 정보를 안전하게 보관해야 합니다.
⚠️ 키 페어 없이 인스턴스에 연결할 수 없으니 주의하시기 바랍니다.⑥ 네트워크 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
⚠️ 잘못된 사용자 스크립트를 입력하거나 실행이 완료되지 않는 스크립트를 입력할 시, 부팅에 실패할 수 있습니다.
CPU 멀티스레딩: CPU 코어당 단일 스레드를 지정하여 성능을 최적화하는 옵션
- 고성능 컴퓨팅(HPC)과 같은 특정 워크로드일 경우에는 비활성화 추천합니다. - 인스턴스 생성 후 네트워크 접속을 처리하는 과정이 10분 이내로 소요될 수 있으므로, 생성 직후에는 서버 접근이 안 될 수 있습니다.
- 생성한 인스턴스 유형이 NVLink로 구성된 Bare Metal Server 유형인 경우(예: p2a.baremetal), 해당 인스턴스에 Fabric Manager를 별도 설치해야 GPU 기능을 정상적으로 사용할 수 있습니다. 따라서, 다음과 같이 Fabric Manager를 설치 후 사용하시기 바랍니다. 자세한 내용은 NVIDIA Fabric Manager 공식 문서 > 2.6 Installation을 참고하시기 바랍니다.
- Ubuntu 계열 Linux:
sudo apt-get install cuda-drivers-fabricmanager-[driver-branch]
- RHEL 계열 Linux:
sudo dnf module install nvidia-driver:[driver-branch]/fm
- Ubuntu 계열 Linux:
- 다운로드한 프라이빗 키 파일은 안전하게 보관하시기 바랍니다.
- 인스턴스 생성 시 인스턴스와 함께 삭제 옵션을 선택하지 않은 볼륨은 인스턴스가 삭제되어도 연결 해제된 볼륨으로 계속 유지되며 과금됩니다. 해당 경우, 볼륨 목록에서 직접 삭제해야 합니다.
- 2023년 1월 16일부터 생성되는 인스턴스는 호스트 이름이 프라이빗 IP 형태로 자동으로 설정됩니다. (예. host-100-100-17-22)
- 인스턴스 생성 후, 네트워킹 단계에서 host-IP 형식으로 갱신되며 인스턴스 생성 후 잠시 인스턴스 이름으로 호스트 이름이 보일 수 있습니다.
인스턴스 연결
인스턴스에 연결 시 메타데이터를 취득해야 연결이 가능합니다. 만약 연결하고자 하는 인스턴스의 보안 그룹에 기본 보안 그룹이 없을 경우, 사용자 정의 보안 그룹에 메타데이터 취득을 위한 아웃바운드 규칙을 정의해야 합니다. 상세한 내용은 사용자 정의 보안 그룹을 참고하시기 바랍니다.
Linux 인스턴스에 연결
Linux 인스턴스는 SSH 명령어를 사용해 연결합니다. 콘솔에서도 설명을 지원하며 GPU > 인스턴스 탭 > 인스턴스의 [더 보기] 아이콘 > SSH 연결을 클릭하여 확인하실 수 있습니다. 인스턴스에 연결하기 위해서는 이미지에 따라 보안 그룹 설정을 해야 하며, 퍼블릭/프라이빗 IP로 접근할 수 있도록 접속 환경을 준비해야 합니다.
운영체제 | 준비 사항 |
---|---|
Linux/macOS | SSH 클라이언트 설치 후 터미널에서 ssh 명령어 사용 |
SSH 연결
Step.1 SSH 클라이언트 준비하기
SSH 명령어를 사용하기 위해서는 사전에 SSH 클라이언트를 설치해야 합니다. SSH 클라이언트 설치 시 운영체제별 준비 사항은 다음과 같습니다.
운영체제 | 준비 사항 |
---|---|
Linux/macOS | SSH 클라이언트 설치 후 터미널에서 ssh 명령어 사용 |
Windows | OpenSSH 클라이언트를 설치하여 명령 프롬프트(cmd)에서 ssh 명령어 사용 또는 PuTTY 등 별도의 SSH 클라이언트 설치 |
Step.2 SSH 연결하기
SSH 명령어를 사용하여 인스턴스에 연결합니다. 소지한 프라이빗 키(.pem
) 파일의 경로와 파일 이름, 사용자 이름과 연결할 인스턴스의 주소를 입력해 연결할 수 있습니다.
ssh -i {PATH_TO_PRIVATE_KEY} {USERNAME}@{INSTANCE_IP}
항목 | 설명 |
---|---|
{PATH_TO_PRIVATE_KEY} | 프라이빗 키(.pem ) 경로 |
{USERNAME} | 인스턴스에 연결시 입력해야 하는 사용자 이름 - 기본 이미지에서 제공되는 OS별로 사전 생성되어 있음 |
{INSTANCE_IP] | 인스턴스가 가지고 있는 IP - 접속 환경에 맞는 퍼블릭 IP 또는 프라이빗 IP 입력 |
Windows 인스턴스에 연결
RDP 연결 후, 원격 PC 연결을 설정하여 Windows 인스턴스를 연결합니다. 인스턴스에 연결하기 위해서는 이미지에 따라 보안 그룹을 설정해야 하며, 퍼블릭/프라이빗 IP로 접근할 수 있도록 접속 환경을 준비해야 합니다.
운영체제 | 준비 사항 |
---|---|
Windows | OpenSSH 클라이언트를 설치하여 명령 프롬프트(cmd)에서 ssh 명령어 사용 또는 PuTTY 등 별도의 SSH 클라이언트 설치 |
Step.1 RDP 연결하기
카카오클라우드 콘솔에서 Windows OS가 설치된 인스턴스의 RDP 연결을 진행합니다.
- 인스턴스 연결을 위한 초기 비밀번호 세팅은 인스턴스 생성 요청 이후 약 20분 정도 소요됩니다.
- 최초 키 페어 파일을 통해 획득한 비밀번호로만 접속할 수 있으며, 비밀번호 변경 시 사용자가 직접 운영체제(OS)에서 진행해야 합니다.
- 카카오클라우드 콘솔에서는 최초 획득한 비밀번호만 안내하며, 이후 변경된 비밀번호는 안내하지 않습니다.
- Windows 인스턴스에서 WSL(Windows Subsystem For Linux) 사용에 제약이 있습니다. Linux를 사용하고자 하는 경우 Linux 인스턴스를 이용하시기 바랍니다.
-
카카오클라우드 콘솔 > Beyond Compute Service > GPU 메뉴로 이동합니다.
-
인스턴스 메뉴에서 인스턴스의 [더 보기] 아이콘 > RDP 연결을 선택합니다.
- 인스턴스 생성 시 자동으로 생성되는 사용자 이름은
Administrator
입니다.
- 인스턴스 생성 시 자동으로 생성되는 사용자 이름은
-
[키 페어 등록] 버튼을 클릭하여 인스턴스에 연결된 프라이빗 키 파일을 업로드해 비밀번호를 획득합니다.
- 선택한 프라이빗 키는 서버로 전송되지 않습니다.
Step 2. 원격 PC 연결하기
Windows 인스턴스에 접속하기 위해서는 IP 주소와 포트 번호를 설정한 원격 PC(데스크톱)를 설정해야 합니다.
- Windows
- macOS 사용자
-
시작 > 설정 > 시스템 > 원격 데스크톱을 클릭하거나, 검색창에
원격 데스크톱 연결
을 입력하여 원격 데스크톱을 실행합니다.원격 데스크톱 연결 - Windows 사용자
-
원격 데스크톱 연결 팝업창에서 해당 인스턴스의 접속 환경에 적합한 퍼블릭 IP 또는 프라이빗 IP를 입력하고, [연결] 버튼을 클릭합니다.
- 다른 포트 번호를 사용하도록 인스턴스를 구성한 경우, IP 주소 뒤에 포트 번호를 추가합니다.(예시: 10.0.0.0:1234)
-
사용자 자격 증명 입력에서 사용자의 이름과 암호를 입력하고 [확인] 버튼을 클릭 후, 해당 Windows 인스턴스에 접속할 수 있습니다.
-
App Store에서 Microsoft Remote Desktop을 검색하여 설치합니다.
-
설치된 App을 실행한 후, [생성(+)] 버튼을 클릭하고, Add PC를 선택하여 원격 데스크톱을 추가합니다.
- 해당 인스턴스의 접속 환경에 맞게 퍼블릭 IP 또는 프라이빗 IP를 입력합니다.
- 다른 포트 번호를 사용하도록 인스턴스를 구성한 경우, IP 주소 뒤에 포트 번호를 추가합니다. (예시: 10.0.0.0:1234)
원격 데스크톱 추가 - macOS 사용자
- 해당 인스턴스의 접속 환경에 맞게 퍼블릭 IP 또는 프라이빗 IP를 입력합니다.
-
User account에서 Add a User Account을 선택합니다.
-
Add a User Account에서 원격 PC에 해당하는 Username과 Password를 입력합니다.
-
등록된 데스크톱을 더블 클릭하면 해당 Windows 인스턴스에 접속할 수 있습니다.
같은 네트워크(VPC) 안에 동일한 호스트 이름인 인스턴스가 있을 경우, 일부 네트워크 기능에 오류가 발생할 수 있습니다. 인스턴스의 이름을 변경하거나 직접 호스트 이름을 변경할 경우 유의하시기 바랍니다.