> 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/project-home/network-topology.md).

# 네트워크 토폴로지

`네트워크 토폴로지`는 선택한 VPC 기준으로 네트워크 연결 구조를 시각적으로 보여주는 화면입니다.\
현재 UI에서는 `외부 IP`, `VPC`, `서브넷`, `로드 밸런서`, `인스턴스`까지 한 화면에서 확인할 수 있으며, 리소스를 선택하면 우측 상세 패널에서 관련 정보를 바로 조회할 수 있습니다.

> 💡 **참고:** 네트워크 토폴로지에서는 다음과 같은 정보를 확인할 수 있습니다.
>
> * VPC 내부 서브넷 구성과 퍼블릭/프라이빗 분포
> * 외부 IP가 VPC, 로드 밸런서, 인스턴스에 연결되는 방식
> * 서브넷별 로드 밸런서와 인스턴스 분포
> * 로드 밸런서 리스너와 타겟 인스턴스 연결 관계
> * 인스턴스의 네트워크 인터페이스와 외부 IP 연결 상태

## 화면 개요

* `상단 툴바`: 조회할 VPC를 선택하고 이름 기준으로 리소스를 검색합니다.
* `범례`: 그래프에 표시되는 아이콘이 어떤 리소스를 의미하는지 안내합니다.
* `토폴로지 그래프`: 선택한 VPC 기준의 네트워크 구조를 시각적으로 표시합니다.
* `우측 정보 패널`: 선택한 리소스의 상세 정보를 보여줍니다.

## 상단 툴바

### VPC 선택

* 현재 프로젝트에 생성된 VPC 목록 중 하나를 선택합니다.
* VPC를 변경하면 토폴로지 그래프와 우측 패널 상태가 해당 VPC 기준으로 갱신됩니다.

### 검색

* 현재 UI에서는 검색 범위가 `이름`으로 고정되어 있습니다.
* 검색어를 입력한 뒤 `검색` 버튼을 클릭하거나 `Enter`를 누르면 검색이 적용됩니다.
* VPC, 서브넷, 로드 밸런서, 인스턴스 이름에 대해 부분 일치 검색합니다.
* 검색 결과가 있으면 일치한 리소스가 그래프에서 강조 표시됩니다.
* 검색 입력값을 비우면 강조 상태가 해제됩니다.

> 💡 **참고:**
>
> * 그래프에서 리소스를 직접 클릭하면 검색어가 초기화되고 선택한 리소스를 기준으로 그래프를 확인합니다.

## 범례

좌상단 범례에서 다음 리소스의 아이콘과 현재 표시 중인 개수를 확인할 수 있습니다.

* `VPC`, `서브넷`, `로드 밸런서`, `인스턴스`, `외부 IP`

범례는 그래프 해석을 돕는 안내 요소이며, 별도의 조작 기능은 없습니다.

## 토폴로지 그래프

토폴로지 그래프는 선택한 VPC를 중심으로 네트워크 연결 구조를 계층적으로 배치합니다.

기본적으로는 다음 흐름으로 표시됩니다.

* `인터넷` → `외부 IP` → `VPC` → `서브넷` → `로드 밸런서` → `인스턴스`

### 기본 구성

* `인터넷`: 외부 네트워크 방향을 나타내는 시작점입니다.
* `외부 IP`: 해당 VPC와 연결된 외부 IP를 모아 보여주는 영역입니다.
* `VPC`: 현재 선택한 VPC입니다.
* `서브넷`: VPC에 속한 서브넷입니다. `퍼블릭 서브넷`, `프라이빗 서브넷` 유형에 따라 구분됩니다.
* `로드 밸런서`: 해당 서브넷에 연결된 로드 밸런서입니다.
* `인스턴스`: 해당 VPC 하위에 연결된 서브넷의 네트워크 인터페이스를 가진 인스턴스입니다.

> 💡 **참고:** 인스턴스는 여러 서브넷의 네트워크 인터페이스를 가질 수 있습니다. 다만 처음 화면에서는 기본 네트워크 인터페이스가 속한 서브넷과 연결된 관계를 중심으로 표시되며, 다른 서브넷을 선택하거나 인스턴스를 직접 선택하면 추가 연결 관계를 함께 확인할 수 있습니다.

> 💡 **참고:** 외부 IP 그룹
>
> * 그래프에서는 외부 IP를 개별 노드로 나열하지 않고 `외부 IP 그룹`으로 묶어 표시합니다.
> * 외부 IP 그룹을 펼치면 현재 VPC와 연결된 외부 IP 목록을 확인할 수 있습니다.
> * 외부 IP는 연결 대상에 따라 다음과 같이 구분할 수 있습니다.
>   * `VPC`: VPC 생성 시 함께 준비되는 기본 외부 연결 지점입니다. 별도로 플로팅 IP나 포트 포워딩을 설정하지 않은 퍼블릭 서브넷 대역의 인스턴스는 이 경로를 통해 외부와 통신할 수 있습니다.
>   * `외부 로드 밸런서`: 외부 타입 로드 밸런서에 연결된 외부 IP입니다. 외부 트래픽은 이 경로를 통해 로드 밸런서와 타겟 인스턴스로 전달됩니다.
>   * `플로팅 IP` / `포트 포워딩`: 인스턴스에 직접 연결된 외부 IP입니다. 인스턴스를 외부에 직접 노출하거나 특정 포트를 전달할 때 사용합니다.
> * 이를 통해 각 외부 IP가 어떤 리소스에 연결되어 외부 통신에 사용되는지 빠르게 파악할 수 있습니다.

### 강조 표시 동작

* `VPC`를 선택하면 현재 그래프에 표시된 전체 리소스가 함께 강조됩니다.
* `서브넷`을 선택하면 해당 서브넷과 하위 리소스인 인스턴스, 로드 밸런서가 함께 강조됩니다. 퍼블릭 서브넷이면 인터넷 방향까지, 프라이빗 서브넷이면 VPC까지 연결 관계를 따라 확인할 수 있습니다.
* `로드 밸런서`를 선택하면 해당 로드 밸런서와 연결된 타겟 인스턴스까지 함께 강조됩니다.
* `인스턴스`를 선택하면 관련 외부 IP, VPC, 연결된 서브넷들, 상위 로드 밸런서가 함께 강조됩니다.
* `외부 IP`를 선택하면 해당 외부 IP가 실제로 연결된 대상만 강조되며, 외부 노출 경로를 추적할 수 있습니다.
