> 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/affinity-group.md).

# 선호도 그룹

**선호도 그룹**은 여러 가상머신의 배치 위치를 제어하기 위한 도구입니다.

선호도 그룹을 정의하여 지정한 가상머신들을 같은 물리 호스트에 함께 배치하거나, 혹은 반대로 서로 다른 호스트에 배치되도록 하는 규칙을 정할 수 있습니다.

또한 호스트 단위의 선호도 설정을 통해 특정 가상머신들이 지정된 호스트에서만 실행되거나 혹은 피하도록 설정할 수도 있습니다.

## 선호도 그룹 목록

### 주요 작업

* `생성`: 새 선호도 그룹을 만듭니다.
* `편집`: 선택한 선호도 그룹을 편집합니다.
* `삭제`: 선택한 선호도 그룹을 삭제합니다.

선호도 그룹 목록 화면에서는 프로젝트 내 선호도 그룹을 확인하고 관리할 수 있습니다.

### 테이블 컬럼

| 컬럼         | 설명                    |
| ---------- | --------------------- |
| **이름**     | 선호도 그룹의 이름입니다.        |
| **ID**     | 선호도 그룹의 고유 식별자입니다.    |
| **활성화 여부** | 선호도 그룹의 활성화 여부입니다.    |
| **설명**     | 선호도 그룹의 설명입니다.        |
| **생성 일시**  | 선호도 그룹의 생성 날짜와 시각입니다. |

***

## 선호도 그룹 상세

선호도 그룹 목록에서 선호도 그룹의 이름을 선택하면 **선호도 그룹 상세** 화면으로 이동합니다. 상단에는 해당 선호도 그룹의 상세 정보가 표시됩니다.

### 상단 요약

* **이름**: 선호도 그룹의 이름을 표시합니다.
* **ID**: 선호도 그룹의 고유 식별자를 표시합니다.
* **활성화 여부** : 선호도 그룹의 활성화 여부를 표시합니다.
* **설명**: 선호도 그룹에 대한 설명을 표시합니다.
* **가상머신 선호도** : 선호도 그룹의 대상 가상머신을 함께 배치할지 분산 배치할지 혹은 미설정 여부를 표시합니다.
* **가상머신 강제성**: 선호도 그룹의 대상 가상머신에 대해 선호도 규칙의 강제할지 여부를 표시합니다.
* **물리 머신 선호도** : 선호도 그룹의 대상 가상머신이 대상 물리 머신을 선호할지 기피할지 혹은 미설정 여부를 표시합니다.
* **물리 머신 강제성** : 물리 머신 규칙에 대해 강제성을 할지 여부를 체크합니다.
* **생성 일시** : 선호도 그룹을 생성한 날짜와 시간입니다.

### 하단 탭

* **가상머신**: 규칙 적용 대상 인스턴스를 확인합니다.
* **물리 머신**: 물리 머신 선호도 규칙의 기준이 되는 호스트를 확인합니다.

### 가상머신 탭

| 컬럼         | 설명                                                                             |
| ---------- | ------------------------------------------------------------------------------ |
| **이름**     | 가상머신의 이름입니다.                                                                   |
| **ID**     | 가상머신의 고유 식별자입니다.                                                               |
| **생성 방식**  | 인스턴스의 생성 방법을 나타냅니다.                                                            |
| **IP**     | 인스턴스의 기본 네트워크 인터페이스에 할당된 IP 주소입니다.                                             |
| **상태**     | 인스턴스의 작동 상태입니다. **실행 중**, **종료됨**, **재부팅 중**, **마이그레이션 중** 등 현재 상태가 한글로 표시됩니다. |
| **vCPU**   | 인스턴스에 할당된 가상 CPU 코어 수입니다.                                                      |
| **메모리 크기** | 인스턴스에 할당된 메모리 용량입니다.                                                           |
| **생성 일시**  | 인스턴스가 최초로 생성된 날짜와 시간입니다.                                                       |

### 가상머신 대상 편집

선호도 그룹 상세 페이지의 가상머신 탭에서 `편집`을 클릭하여 선호도 그룹의 규칙을 적용할 **가상머신 대상**을 편집할 수 있습니다.

* **가상머신 대상 수정**: 선호도 그룹 규칙을 적용할 가상머신들을 선택하여 추가합니다.

> ⚠️ **주의** : 선호도 그룹의 설정이 다른 선호도 그룹의 설정과 충돌하는 경우 오류를 표시하여 잘못된 구성을 방지합니다.

### 물리 머신 탭

| 컬럼        | 설명                        |
| --------- | ------------------------- |
| **이름**    | 물리 머신의 이름입니다.             |
| **ID**    | 물리 머신의 고유 식별자입니다.         |
| **생성 일시** | 물리 머신이 최초로 생성된 날짜와 시간입니다. |

### 물리 머신 대상 편집

선호도 그룹 상세 페이지의 물리 머신 탭에서 `편집`을 클릭하여 선호도 그룹의 규칙의 기준이 되는 **물리 머신 대상**을 편집할 수 있습니다.

* **물리 머신 대상 수정**: 선호도 그룹 규칙의 기준이 되는 물리 머신들을 선택하여 추가합니다.

> ⚠️ **주의** : 선호도 그룹의 설정이 다른 선호도 그룹의 설정과 충돌하는 경우 오류를 표시하여 잘못된 구성을 방지합니다.

***

## 선호도 그룹 생성 및 편집

선호도 그룹 생성 화면과 편집 화면은 동일한 양식으로 구성되어 있으며, 선호도 그룹의 각종 설정 값을 입력할 수 있습니다.

### 기본 정보

* **이름**: 선호도 그룹의 이름을 입력합니다. 최대 80자까지 입력할 수 있습니다.
* **설명**: 선호도 그룹에 대한 설명을 입력합니다.
* **활성화 여부** : 선호도 그룹의 활성화 여부입니다. 생성 화면 기본값은 `활성`입니다.

### 입력 필드 유효성

| 필드         | 허용 값 및 길이            | 검증 규칙                        | 비고    |
| ---------- | -------------------- | ---------------------------- | ----- |
| **이름**     | 영문 대소문자, 숫자 / 최대 80자 | 공백 불가, 영문 대소문자, 숫자, `-`, `_` | 필수 입력 |
| **설명**     | 모든 문자 / 최대 200자      | 형식 제한 없음                     | 선택 입력 |
| **활성화 여부** | `활성`, `비활성`          | 생성 시 기본값 `활성`                | 필수 입력 |

### 가상머신 선호도 규칙

* **가상머신 선호도** : 선호도 그룹의 대상 가상머신들을 함께 배치할지 분산 배치할지 결정합니다. `사용 안함` 설정 시 가상머신에 대한 선호도를 적용하지 않습니다.
* **가상머신 강제성**: **가상머신 선호도** 규칙을 강제할지 여부를 결정합니다. `강제` 설정한 경우 대상 가상머신 실행 시 선호도 그룹의 규칙을 만족하는 물리 머신이 없다면 실행에 실패합니다.

### 물리 머신 선호도 규칙

* **물리 머신 선호도** : 물리 머신에 대한 선호도 규칙으로 대상 물리 머신을 선호할지 기피할지 결정합니다. `사용 안함` 설정 시 물리 머신에 대한 선호도를 적용하지 않습니다.
* **물리 머신 강제성** : **물리 머신 선호도** 규칙을 강제할지 여부를 체크합니다. `강제` 설정한 경우 대상 가상머신 실행 시 선호도 그룹의 규칙을 만족하는 물리 머신이 없다면 실행에 실패합니다.

### 선호도 그룹 대상 추가

* **가상머신** : 선호도 그룹의 규칙을 적용할 가상머신을 선택합니다.
* **물리 머신** : 선호도 그룹의 가상머신이 물리 머신 선호도 규칙으로 제한할 물리 머신을 선택합니다.

입력을 완료한 후 `생성` 버튼을 클릭하여 선호도 그룹을 생성합니다.

### 생성/편집 시 주의 사항

* 이미 실행 중인 가상머신은 선호도 그룹의 규칙에 영향을 받지 않으며, 다음 실행 시 선호도 그룹의 규칙에 의해 해당 가상머신을 실행할 물리 머신이 결정됩니다.
* `가상머신 선호도/반선호도` `강제` 선호도 규칙은 해당 선호도 그룹에 속한 인스턴스의 실행 위치가 결정된 이후에 다른 인스턴스의 실행 위치에 영향을 줄 수 있습니다.
* 생성/편집 시 선호도 그룹 사이의 규칙 충돌 여부를 검사하며, 규칙이 충돌하는 경우 생성/편집할 수 없습니다.
* `비활성화` 상태의 선호도 그룹은 규칙 충돌과 관계없이 생성/편집이 가능합니다.

### 선호도 규칙 충돌 기준

* 충돌 검사는 동일한 가상머신/물리 머신을 대상으로 하는 `활성화` 상태의 선호도 그룹의 `강제` 규칙만 대상으로 합니다.
* 인스턴스 `선호도/강제` vs 인스턴스 `반선호도/강제`: 동일한 두 개 이상의 인스턴스를 대상으로 하는 선호도/반선호도 규칙이 동시에 존재하면 충돌
* 물리 머신 `선호도/강제` vs 물리 머신 `반선호도/강제`: 동일한 인스턴스에 대해 동일한 물리 머신에 대한 선호도/반선호도 규칙이 동시에 존재하면 충돌
* 인스턴스 `반선호도/강제` vs 물리 머신 `선호도/강제`: 동일한 물리 머신에 대한 선호도 규칙이 존재하는 두 개 이상의 인스턴스에 대해 인스턴스 반선호도 규칙이 존재하면 충돌
* 물리 머신 `선호도/강제` vs 물리 머신 `선호도/강제`: 동일한 인스턴스에 대해 서로 다른 물리 머신에 대한 물리 머신 선호도 규칙이 다수 존재하면 충돌

***

## 선호도 그룹 삭제

선호도 그룹 목록에서 `삭제`를 선택하여 선호도 그룹을 삭제할 수 있습니다.

> 💡 **참고:** 선호도 그룹을 삭제해도 선호도 그룹의 가상머신들은 즉시 종료되거나 이동하지는 않습니다. 향후 해당 가상머신들의 배치에는 더 이상 해당 그룹의 규칙이 적용되지 않습니다.
