> 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/administrator/network/security-group-template.md).

# 보안그룹 템플릿

`보안그룹 템플릿`은 프로젝트 보안그룹 생성 시 가져올 수 있는 표준 규칙 묶음을 관리자 영역에서 관리하는 메뉴입니다. 공통 웹 서비스 포트, 운영 접속 정책, 시스템 간 허용 포트 정책 등을 표준화할 때 사용합니다.

## 화면 개요

* `목록 화면`: 템플릿 현황을 조회하고 생성, 편집, 삭제 작업을 시작합니다.
* `상세 화면`: 기본 정보와 인바운드/아웃바운드 규칙을 방향별로 확인합니다.
* `생성 화면`: 이름, 설명과 함께 인바운드/아웃바운드 규칙을 직접 설계합니다.
* `규칙 편집 화면`: 상세 화면에서 방향별 규칙을 독립적으로 수정합니다.

## 보안그룹 템플릿 목록

### 주요 작업

* `생성`: 새로운 보안그룹 템플릿을 생성합니다.
* `편집`: 선택한 1개 템플릿의 이름과 설명을 수정합니다.
* `삭제`: 선택한 1개 템플릿을 삭제합니다.

### 테이블 컬럼

| 컬럼                    | 설명                                         |
| --------------------- | ------------------------------------------ |
| **이름**                | 보안그룹 템플릿 이름입니다. **클릭하면 상세 화면으로 이동**합니다.    |
| **ID**                | 보안그룹 템플릿 고유 ID입니다.                         |
| **인바운드 / 아웃바운드 규칙 수** | 각 방향에 저장된 규칙 수를 `인바운드 / 아웃바운드` 형식으로 표시합니다. |
| **설명**                | 보안그룹 템플릿 설명입니다.                            |
| **생성 일시**             | 보안그룹 템플릿이 생성된 날짜와 시각입니다.                   |

## 보안그룹 템플릿 상세

### 상단 요약

* **이름**: 보안그룹 템플릿 이름입니다. 프로젝트 생성 시 식별하기 쉬운 표준 이름을 사용합니다.
* **ID**: 보안그룹 템플릿 고유 ID입니다.
* **인바운드 규칙 수**: 보안그룹 템플릿에 포함된 수신 허용 규칙 개수입니다.
* **아웃바운드 규칙 수**: 보안그룹 템플릿에 포함된 송신 허용 규칙 개수입니다.
* **설명**: 템플릿의 사용 목적, 적용 대상, 운영 의도를 적어 둔 설명입니다.
* **생성 일시**: 템플릿이 생성된 날짜와 시각입니다.

### 하단 탭

* **인바운드 규칙**: 수신 허용 정책을 확인합니다.
* **아웃바운드 규칙**: 송신 허용 정책을 확인합니다.

### 규칙 목록 컬럼

| 컬럼            | 설명                                             |
| ------------- | ---------------------------------------------- |
| **프로토콜**      | `TCP`, `UDP`, `모든 ICMP`, `모든 트래픽` 중 하나입니다.     |
| **IP / CIDR** | 인바운드에서는 소스 CIDR, 아웃바운드에서는 목적지 CIDR 개념으로 해석합니다. |
| **포트**        | 단일 포트, 포트 범위 또는 `전체`로 표시됩니다.                   |
| **설명**        | 규칙 설명입니다.                                      |

### 상세 화면 활용 방법

* 각 탭 상단의 `편집` 버튼으로 해당 방향 규칙만 별도로 수정할 수 있습니다.
* 보안그룹 템플릿은 상태 저장(Stateful) 보안그룹 규칙 구조를 그대로 따르며, 명시된 트래픽만 허용합니다.
* 현재 보안그룹 템플릿을 수정하더라도 이미 프로젝트에서 생성된 보안그룹에는 자동으로 동기화되지 않습니다.

## 보안그룹 템플릿 생성

생성 화면은 `기본 정보`와 `규칙` 섹션으로 구성됩니다.

### 기본 정보

* **이름**: 보안그룹 템플릿을 식별하는 대표 이름입니다. 예: `web-external`, `db-internal`, `ops-ssh`
* **설명**: 보안그룹 템플릿의 사용 목적, 적용 대상, 운영 기준을 설명합니다.

### 기본 정보 입력 필드 유효성

| 필드     | 허용 값                     | 검증 규칙                              | 비고                                 |
| ------ | ------------------------ | ---------------------------------- | ---------------------------------- |
| **이름** | 영문, 숫자, `-`, `_` 조합의 문자열 | 필수입니다. 고유한 이름이여야 하며 80자 이내로 입력합니다. | 보안그룹 템플릿 식별용 이름입니다.                |
| **설명** | 최대 200자 문자열              | 필수입니다. 200자를 초과할 수 없습니다.           | 보안그룹 템플릿 목적과 사용 대상을 함께 적는 것이 좋습니다. |

### 규칙 섹션

생성 화면에서 인바운드와 아웃바운드 규칙을 각각 직접 입력합니다.

* `추가`: 규칙 추가 모달을 열어 새 규칙을 작성합니다.
* `삭제`: 선택한 규칙을 목록에서 제거합니다.
* 규칙은 인바운드/아웃바운드 각각 독립된 목록으로 관리합니다.

### 규칙 입력 항목

* **프로토콜**: 허용할 트래픽 유형을 선택합니다. `TCP`, `UDP`, `모든 ICMP`, `모든 트래픽` 중에서 고릅니다.
* **IP / CIDR**: 규칙이 적용될 대상 대역입니다. 인바운드에서는 소스 CIDR, 아웃바운드에서는 목적지 CIDR로 해석합니다.
* **포트**: `TCP`, `UDP` 규칙에서 허용할 단일 포트나 포트 범위를 지정합니다.
* **설명**: 규칙 목적이나 사용 예외를 기록합니다.

### 규칙 입력 필드 유효성

| 필드            | 허용 값                              | 검증 규칙                                                        | 비고                                              |
| ------------- | --------------------------------- | ------------------------------------------------------------ | ----------------------------------------------- |
| **프로토콜**      | `TCP`, `UDP`, `모든 ICMP`, `모든 트래픽` | 필수입니다. 드롭다운에서 선택합니다.                                         | 새 규칙 기본값은 `모든 트래픽`입니다.                          |
| **IP / CIDR** | IPv4 CIDR                         | 필수입니다. 유효한 IPv4 CIDR 형식이어야 합니다.                              | 예: `0.0.0.0/0`, `10.0.0.0/8`, `192.168.10.0/24` |
| **포트**        | `1-65535` 단일 포트, 포트 범위, `전체`      | `TCP`, `UDP`일 때만 직접 입력합니다. `모든 트래픽`, `모든 ICMP`는 `전체`로 고정됩니다. | 예: `22`, `80`, `8080-8090`                      |
| **설명**        | 최대 200자 문자열                       | 선택 입력입니다. 200자를 초과할 수 없습니다.                                  | 규칙 목적을 기록합니다.                                   |

### 규칙 기본값과 제약

* 새 규칙을 추가하면 기본값은 `모든 트래픽`, `0.0.0.0/0`, `전체 포트`, 빈 설명입니다.
* 각 방향별 사용자 규칙은 최대 59개까지 추가할 수 있습니다.
* 동일한 `프로토콜 + IP / CIDR + 포트` 조합은 중복 저장할 수 없습니다.
* `모든 트래픽` 또는 `모든 ICMP`를 선택하면 포트는 `전체`로 고정됩니다.

## 보안그룹 템플릿 편집

편집 화면에서는 다음 항목만 수정할 수 있습니다.

* **이름**: 템플릿 식별용 이름을 수정합니다.
* **설명**: 템플릿 목적과 운영 메모를 수정합니다.

다음 항목은 편집 화면에서 직접 수정하지 않습니다.

* **인바운드 규칙**: 편집 화면에서 직접 수정하지 않고 상세 화면 탭에서 별도로 관리합니다.
* **아웃바운드 규칙**: 편집 화면에서 직접 수정하지 않고 상세 화면 탭에서 별도로 관리합니다.

규칙은 상세 화면의 각 탭에서 `편집` 버튼을 눌러 별도로 수정합니다.

### 편집 입력 필드 유효성

| 필드           | 허용 값                     | 검증 규칙                              | 비고                        |
| ------------ | ------------------------ | ---------------------------------- | ------------------------- |
| **이름**       | 영문, 숫자, `-`, `_` 조합의 문자열 | 필수입니다. 고유한 이름이여야 하며 80자 이내로 입력합니다. | 중복 이름이면 저장할 수 없습니다.       |
| **설명**       | 최대 200자 문자열              | 필수입니다. 200자를 초과할 수 없습니다.           | 편집 화면에서 수정 가능합니다.         |
| **인바운드 규칙**  | 기존 규칙 목록                 | 편집 화면에서 직접 수정할 수 없습니다.             | 상세 화면 탭의 `편집` 버튼에서 관리합니다. |
| **아웃바운드 규칙** | 기존 규칙 목록                 | 편집 화면에서 직접 수정할 수 없습니다.             | 상세 화면 탭의 `편집` 버튼에서 관리합니다. |

## 보안그룹 템플릿 규칙 편집

상세 화면의 `인바운드 규칙`, `아웃바운드 규칙` 탭에서 각각 독립적인 규칙 편집 화면으로 이동합니다.

### 주요 작업

* `규칙 추가`: 규칙 추가 모달을 열어 새 규칙을 작성합니다.
* `삭제`: 선택한 규칙을 목록에서 제거합니다.

### 편집 화면 동작

* 변경 사항이 없으면 저장 버튼이 비활성화됩니다.
* 규칙 수 제한과 중복 제한은 생성 화면과 동일합니다.
* 중복 규칙이 존재하면 저장할 수 없습니다.
* 인바운드와 아웃바운드는 서로 영향을 주지 않으며, 한 방향씩 저장합니다.

### 운영 시 주의사항

* 보안그룹 템플릿은 표준 정의서 역할이므로, 프로젝트별 예외 규칙을 과도하게 담지 않는 것이 좋습니다.
* 자주 바뀌는 임시 예외 규칙은 보안그룹 템플릿보다 프로젝트 보안그룹에서 직접 관리하는 편이 적합합니다.
* 보안그룹 템플릿 수정 후에는 운영팀에 변경 내용을 공유해야 프로젝트 생성 시 오해를 줄일 수 있습니다.

## 보안그룹 템플릿 삭제

* 삭제는 한 번에 1개만 수행합니다.
* 프로젝트 보안그룹에서 보안그룹 템플릿의 사용 여부와 관계없이 삭제할 수 있습니다.
* 삭제 전 확인 창이 표시되며, 최종 확인 후 삭제가 진행됩니다.

⚠️ **주의:** 보안그룹 템플릿 삭제는 **복구할 수 없습니다.** 삭제 전에 반드시 해당 보안그룹 템플릿 삭제의 용도를 확인한 후 삭제하세요.

### 삭제 전 점검 항목

* 프로젝트 운영팀이 참조하는 표준 템플릿은 삭제 전에 실제 사용 여부를 별도로 점검하는 것이 안전합니다.
