> For the complete documentation index, see [llms.txt](https://ia-cloud.gitbook.io/cloudia-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ia-cloud.gitbook.io/cloudia-manual/vm/launch-template.md).

# 시작 템플릿

**시작 템플릿**은 가상머신을 신속하게 배포하기 위해 미리 설정된 인스턴스 구성, OS 이미지 등을 포함한 메타 데이터입니다.

이를 통해 일관된 메타 데이터를 가지는 여러 가상머신을 효율적으로 생성할 수 있습니다.

## 시작 템플릿 목록

프로젝트 내에서 생성한 시작 템플릿의 목록을 확인할 수 있습니다.

### 주요 작업

* `생성`: 새 시작 템플릿을 생성합니다.
* `편집`: 선택한 시작 템플릿을 편집합니다. 오토 스케일링 그룹에서 사용 중인 시작 템플릿을 편집 시도하면 에러 문구가 표시됩니다.
* `삭제`: 선택한 시작 템플릿을 삭제합니다. 오토 스케일링 그룹에서 사용 중인 시작 템플릿을 삭제 시도하면 에러 문구가 표시됩니다.
* `인스턴스 생성`: 선택한 시작 템플릿의 정보를 바탕으로 가상머신 인스턴스를 생성합니다.

> ⚠️ **주의:** 쿠버네티스 클러스터, 오토 스케일링 그룹에서 사용 중인 템플릿은 편집/삭제가 제한됩니다.

### 테이블 컬럼

| 컬럼        | 설명                                            |
| --------- | --------------------------------------------- |
| **이름**    | 시작 템플릿의 표시 이름입니다. 클릭 시 해당 템플릿의 상세 화면으로 이동합니다. |
| **ID**    | 시작 템플릿의 고유 식별자입니다.                            |
| **이미지**   | 시작 템플릿에서 사용되는 운영체제 이미지의 이름입니다.                |
| **vCPU**  | 시작 템플릿이 사용할 vCPU 코어 수입니다.                     |
| **메모리**   | 시작 템플릿이 사용할 메모리 용량입니다. (예: 4GB)               |
| **설명**    | 시작 템플릿에 대한 설명입니다.                             |
| **생성 일시** | 시작 템플릿이 생성된 날짜와 시간입니다.                        |

***

## 시작 템플릿 상세

시작 템플릿 상세 화면에서는 템플릿의 세부 정보를 확인할 수 있습니다.

화면 상단에는 템플릿의 정보가 **\[기본 정보]**, **\[인스턴스 구성 및 보안]**, **\[프로비저닝 정보]** 3개 박스로 나뉘어 표시됩니다. 화면 하단에는 세부 정보를 확인할 수 있는 **\[네트워크 인터페이스]**, **\[디스크]**, **\[AI 가속기]**, **\[사용자 스크립트]** 탭을 선택할 수 있습니다.

### 기본 정보

* **이름**: 템플릿의 이름입니다.
* **ID**: 템플릿의 고유 ID입니다.
* **VPC**: 가상 네트워크(VPC)의 이름입니다.
* **오브젝트 스토리지**: 오브젝트 스토리지 접근용 네트워크(Managed VNIC) 사용 여부를 표시합니다.
* **생성 일시**: 템플릿이 생성된 날짜와 시간입니다.

### 인스턴스 구성 및 보안

* **인스턴스 타입**: 선택된 인스턴스 타입의 이름입니다. (직접 입력으로 생성한 경우 표시되지 않습니다.)
* **vCPU**: 템플릿에 설정된 vCPU 구성을 보여줍니다. (코어 수 및 코어당 스레드 구성 정보)
* **메모리 크기**: 템플릿에 지정된 메모리 용량입니다. (예: 8GB)
* **최대 vCPU / 최대 메모리**: 고급 설정에서 지정한 확장 한도입니다. 설정하지 않은 템플릿은 `-`로 표시됩니다.
* **보안 유형**: 고급 설정에서 지정한 보안 유형입니다.

### 프로비저닝 정보

* **설치 유형**: `OS 이미지` 또는 `ISO 파일` 중 이 템플릿이 사용하는 설치 유형입니다.
* **OS 이미지**: 이 템플릿이 사용하는 OS 이미지 또는 ISO 파일의 이름을 표시합니다. (설치 유형과 관계없이 항목명은 `OS 이미지`로 표시됩니다.)
* **사용자 계정**: 설치 유형이 `OS 이미지`인 경우 설정된 사용자 이름, 비밀번호/SSH 키 등록 여부를 표시합니다. 설치 유형이 `ISO 파일`인 경우 계정 정보가 없습니다. OS 이미지가 Windows 계열이면 cloud-init이 동작하지 않아 등록된 계정 정보가 있어도 게스트에는 적용되지 않습니다.

### 하단 탭

* **네트워크 인터페이스** : 시작 템플릿에 구성된 가상 네트워크 인터페이스 목록을 표시합니다. 각 인터페이스에 대해 서브넷, 보안그룹, IP 주소 정보를 표로 제공합니다.
* **디스크** : 시작 템플릿이 포함하는 부팅 디스크와 추가 데이터 디스크들이 나열됩니다. 디스크의 부팅 가능 여부, 소스 타입, 크기, 소스 이름 정보가 표로 표시됩니다.
* **AI 가속기** : 시작 템플릿에 설정된 GPU/NPU 장치 구성을 표시합니다. 설치 유형이 `ISO 파일`인 템플릿은 이 설정이 저장되지 않으므로 비어 있습니다.
* **사용자 스크립트** : 시작 템플릿에 등록된 사용자 스크립트 목록을 표시합니다. 설치 유형이 `ISO 파일`인 템플릿은 이 설정이 저장되지 않으므로 비어 있습니다.

***

## 시작 템플릿 생성 및 편집

시작 템플릿 생성 화면과 편집 화면은 동일한 양식으로 구성되어 있으며, 시작 템플릿의 각종 설정 값을 입력할 수 있습니다.

### 기본 정보

* **템플릿 이름** : 생성할 시작 템플릿의 이름을 입력합니다.
* **인스턴스 구성** : 가상 머신의 인스턴스 사양을 결정합니다. `인스턴스 타입`을 선택하거나 `직접 입력`을 선택하여 인스턴스 구성을 결정합니다.
* **설치 유형** : `OS 이미지` 또는 `ISO 파일` 중 하나를 선택합니다. 선택한 유형에 따라 아래 입력 항목이 달라집니다.
  * `OS 이미지` 선택 시 : **OS 이미지**를 선택하고 **부팅 디스크 크기**를 지정합니다.
  * `ISO 파일` 선택 시 : **ISO 파일**을 선택하고 **부팅 디스크 크기**를 지정합니다. 이 경우 아래 **사용자 계정** 항목은 비활성화되어 입력할 필요가 없습니다. 계정은 ISO로 운영체제를 설치하는 과정에서 직접 설정합니다.
* **설명** : 시작 템플릿에 대한 부가 설명을 입력할 수 있습니다.

### 네트워크 인터페이스 구성

* **VPC** : 네트워크 인터페이스에 설정할 VPC를 선택합니다.
* **서브넷** : 네트워크 인터페이스에 설정할 서브넷을 선택합니다.
* **기본 IP 주소** : `자동 할당` 또는 `수동 할당`을 선택합니다.
* **보안그룹** : 네트워크 인터페이스에 설정할 보안그룹을 선택합니다.

> ⚠️ **주의:** 기본 IP 주소를 `수동 할당`(고정 IP)으로 지정하거나 고급 설정에서 기존 블록 디바이스를 추가한 시작 템플릿은 **1회성 템플릿**입니다. 해당 IP·블록 디바이스는 하나의 인스턴스만 점유할 수 있으므로, 이 템플릿으로는 **인스턴스를 1개만 생성할 수 있습니다**. 생성/편집 화면과 상세 화면에 동일한 안내가 표시됩니다.

### 사용자 계정

> 💡 **참고:** 이 섹션은 설치 유형이 `OS 이미지`인 경우에만 입력합니다. 설치 유형이 `ISO 파일`인 경우 아래 항목은 모두 비활성화되며 입력할 필요가 없습니다.
>
> OS 이미지가 Windows 계열이면 cloud-init이 게스트에서 동작하지 않아 이 섹션에 입력한 값이 게스트에 적용되지 않습니다. Windows 인스턴스는 이미지에 미리 설정된 계정으로 로그인합니다.

* **사용자 이름** : 템플릿 기반 인스턴스의 기본 로그인 계정입니다.
* **비밀번호** : 인스턴스 생성 후 콘솔 로그인에 사용하는 비밀번호입니다.
* **SSH 키** : 템플릿 기반 인스턴스에 적용할 SSH 공개키입니다. 다중 선택을 지원합니다.

> ⚠️ **주의:** 설치 유형이 `OS 이미지`인 경우, 사용자 비밀번호와 SSH 키는 최소 1개 이상 설정해야 합니다.

### 고급 설정

> 💡 **참고:** 아래 항목은 `고급 설정` 펼치기 영역에 있습니다. 기본 화면에서는 접혀 있으며, `고급 설정`을 펼쳐야 표시됩니다.

* **보안 유형** : 인스턴스에 적용할 보안 유형(예: SEV, SEV-ES, SEV-SNP 등 호스트가 지원하는 유형)을 설정합니다.
* **확장 한도** : 인스턴스를 나중에 확장할 수 있는 최대 vCPU/최대 메모리 한도를 설정합니다.
* **AI 가속기** : GPU 또는 NPU 패스스루 사용 여부와 장치 구성을 설정합니다.
* **사용자 스크립트** : 인스턴스 최초 부팅 시 실행할 사용자 스크립트를 등록합니다. OS 이미지가 Windows 계열이면 cloud-init이 동작하지 않아 등록해도 게스트에 적용되지 않습니다.
* **스토리지 추가**
  * **블록** : 부팅 디스크 외에 추가로 연결할 블록 스토리지 디스크를 설정합니다.
  * **오브젝트 스토리지** : 오브젝트 스토리지 접근용 네트워크 사용 여부를 설정합니다. 활성화하면 시스템용 **Managed VNIC**가 네트워크 인터페이스 맨 앞에 자동으로 추가되며, 이 템플릿으로 생성하는 인스턴스가 해당 설정을 상속합니다. 별도 디스크를 추가하는 기능이 아닙니다.

> 💡 **참고:** 오브젝트 스토리지를 사용하더라도 사용자 네트워크 인터페이스는 최소 1개 이상 필요합니다. **Managed VNIC**만으로는 템플릿을 구성할 수 없습니다.

> ⚠️ **주의:** 설치 유형이 `ISO 파일`인 경우 **보안 유형**과 **오브젝트 스토리지**만 저장되며, **확장 한도·AI 가속기·사용자 스크립트·추가 블록**은 입력하더라도 템플릿에 저장되지 않습니다.

### 입력 필드 유효성

| 필드            | 허용 값                         | 검증 규칙                                        | 비고                                            |
| ------------- | ---------------------------- | -------------------------------------------- | --------------------------------------------- |
| **템플릿 이름**    | 최대 80자, 영문 대소문자/숫자/`-`/`_`   | 허용 문자 외 입력 불가                                | 필수 항목                                         |
| **vCPU 코어 수** | 정수 1 이상의 값                   | 숫자만 입력 가능                                    | 직접 입력 시 필수                                    |
| **메모리 용량**    | 정수 1 이상의 값, 단위: `GB` 또는 `MB` | 숫자만 입력 가능                                    | 직접 입력 시 필수                                    |
| **설치 유형**     | `OS 이미지` / `ISO 파일`          | -                                            | 필수 항목                                         |
| **OS 이미지**    | 사용 가능한 이미지 중 1개 선택           | -                                            | 설치 유형이 `OS 이미지`인 경우 필수                        |
| **ISO 파일**    | 사용 가능한 ISO 중 1개 선택           | -                                            | 설치 유형이 `ISO 파일`인 경우 필수                        |
| **부팅 디스크 크기** | 이미지/ISO 기본 크기 이상, 단위: `GB`   | 이미지/ISO 크기보다 작게 설정 불가                        | 미입력 시 기본 값                                    |
| **추가 블록**     | 프로젝트 내 존재하는 블록 디스크들          | -                                            | 선택 사항                                         |
| **오브젝트 스토리지** | `사용함` / `사용 안 함`             | -                                            | 선택 사항, 기본 `사용 안 함`                            |
| **사용자 이름**    | 4\~20자, 소문자/숫자/`_`/`-`       | 첫 글자 소문자, 예약 사용자명 불가                         | 설치 유형이 `OS 이미지`인 경우 필수, `ISO 파일`인 경우 입력란 비활성화 |
| **비밀번호**      | 4\~20자                       | SSH 키 미선택 시 필수(설치 유형이 `OS 이미지`인 경우에 한함)      | 설치 유형이 `ISO 파일`인 경우 입력란 비활성화                  |
| **SSH 키**     | 프로젝트에 등록된 SSH 키              | 비밀번호 미입력 시 1개 이상 선택(설치 유형이 `OS 이미지`인 경우에 한함) | 설치 유형이 `ISO 파일`인 경우 입력란 비활성화                  |
| 설명            | 최대 200자                      | -                                            | 선택 사항                                         |

모든 필수 항목을 입력하고 `생성` 버튼을 클릭하면 시작 템플릿 생성을 요청합니다.

`편집` 화면에서는 일부 항목을 제외하고 생성 시와 동일한 항목의 값들을 변경할 수 있습니다.

> 💡 **참고:**
>
> * 인스턴스 구성에서 `인스턴스 타입`을 선택한 경우에는 **GPU 사용 여부**를 직접 변경할 수 없습니다.
> * 인스턴스 구성에서 `직접 입력`을 선택한 경우에는 **GPU 사용 여부**를 직접 변경할 수 있습니다.
> * 이미지와 부팅 디스크 크기는 생성 시 설정한 값에서 편집할 수 없습니다.

***

## 시작 템플릿 삭제

목록에서 시작 템플릿 1개를 선택한 뒤 `삭제`를 클릭하면 삭제 확인 모달이 열립니다.

### 삭제 절차

1. 목록에서 삭제할 시작 템플릿을 선택합니다.
2. `삭제` 버튼을 클릭합니다.
3. `시작 템플릿 삭제` 모달에서 선택한 템플릿의 **이름**, **ID**, **이미지**, **vCPU**, **메모리**, **생성 일시**를 확인합니다.
4. `삭제`를 클릭해 삭제를 진행합니다.

### 삭제가 불가능한 경우

> ⚠️ **주의:** 쿠버네티스 클러스터 또는 오토 스케일링 그룹에서 사용 중인 시작 템플릿은 삭제할 수 없습니다. 삭제를 시도하면 에러 문구가 표시됩니다.

> 💡 **참고:** `삭제` 버튼은 목록에서 시작 템플릿을 1개 선택했을 때만 활성화됩니다.

***

## 시작 템플릿으로 인스턴스 생성

목록에서 시작 템플릿 1개를 선택한 뒤 `인스턴스 생성`을 실행하여 시작 템플릿의 설정으로 가상머신 인스턴스를 생성합니다.

* 생성할 인스턴스의 이름을 직접 지정할 수 있습니다. 미지정 시 자동으로 결정됩니다.
* 생성 완료 후 인스턴스는 `종료됨` 상태로 표시됩니다.
* 시작 템플릿에 설정한 사용자 계정 정보로 인스턴스 접속을 준비할 수 있습니다.
* 설치 유형이 `ISO 파일`인 시작 템플릿으로 생성한 인스턴스는 계정 정보 없이 생성되므로, 최초 부팅 후 콘솔에서 직접 운영체제 설치와 계정 설정을 진행해야 합니다.

> ⚠️ **주의:** `SSH 키`는 SSH 클라이언트 접속용입니다. 웹 콘솔은 일반적으로 사용자 이름/비밀번호 기반 로그인이 필요하므로, 비밀번호 없이 SSH 키만 설정한 경우 콘솔 로그인은 되지 않거나 제한될 수 있습니다.

> ⚠️ **주의:**
>
> * 다른 인스턴스에서 사용 중인 IP 주소를 포함하는 시작 템플릿으로 인스턴스를 생성할 수 없습니다.
> * 다른 인스턴스에서 사용 중인 블록을 포함하는 시작 템플릿으로 인스턴스를 생성할 수 없습니다.
> * 고정 IP 또는 기존 블록 디바이스를 포함한 시작 템플릿(**1회성 템플릿**)은 첫 번째 인스턴스가 해당 자원을 점유하므로 두 번째 인스턴스부터 생성할 수 없습니다. 인스턴스 생성 창이 열릴 때 소비 가능 여부를 자동으로 확인해, 점유 중이면 사유(예: "고정 IP가 이미 사용 중")를 표시하고 생성 버튼을 비활성화합니다. 점유 중인 인스턴스를 삭제하면 다시 생성할 수 있습니다.
