> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 토폴로지

> 토폴로지 탐색기를 사용하여 클라우드 인프라 의존성을 시각적으로 매핑하고 인시던트의 근본 원인을 추적하세요

토폴로지 탐색기는 클라우드 인프라와 서비스 관계를 인터랙티브 맵으로 렌더링합니다. 에이전트가 실시간 클라우드 API에서 맵을 검색하거나, Infrastructure as Code에서 가져오거나, 수동으로 구축할 수 있습니다.

<Frame>
  <img src="https://mintcdn.com/cloudthinker/M-utUm-TaqDSbEEK/images/infrastructure/topology-explorer.jpg?fit=max&auto=format&n=M-utUm-TaqDSbEEK&q=85&s=b931c4d83fd7741964ff90dca6583bcc" alt="토폴로지 탐색기" width="3578" height="2010" data-path="images/infrastructure/topology-explorer.jpg" />
</Frame>

## 토폴로지 맵 구축

<Tabs>
  <Tab title="에이전트 주도 검색">
    에이전트에게 연결된 클라우드 계정에서 직접 리소스와 관계를 검색하도록 요청하세요. 인프라 변경에 따라 맵이 동기화 상태를 유지합니다.

    ```text theme={null}
    @alex discover and map the infrastructure topology for the production AWS account
    @kai map Kubernetes service dependencies in the main cluster
    ```

    검색은 매핑하려는 각 프로바이더에 대해 활성 [연결](/ko/guide/connections/overview)이 필요합니다.
  </Tab>

  <Tab title="IaC에서 가져오기">
    Terraform 상태, CloudFormation 스택 템플릿, 또는 Pulumi 상태 파일에서 토폴로지를 가져옵니다.

    <Steps>
      <Step title="토폴로지 탐색기 열기">
        **인프라 → 토폴로지**로 이동합니다.
      </Step>

      <Step title="가져오기 시작">
        **새 뷰 → IaC에서 가져오기**를 선택합니다.
      </Step>

      <Step title="소스 형식 선택">
        Terraform 상태, CloudFormation, 또는 다른 지원되는 형식을 선택합니다.
      </Step>

      <Step title="업로드 또는 연결">
        상태 파일을 업로드하거나 원격 상태 백엔드에 연결합니다.

        **성공 상태:** 가져온 리소스와 관계가 캔버스에 표시됩니다.
      </Step>
    </Steps>
  </Tab>

  <Tab title="수동 빌더">
    큐레이팅된 뷰(예: 온보딩 다이어그램)가 필요할 때 직접 맵을 구축합니다.

    <Steps>
      <Step title="뷰 만들기">
        토폴로지 탐색기에서 **새 뷰**를 클릭합니다.
      </Step>

      <Step title="리소스 추가">
        왼쪽 패널에서 리소스를 캔버스로 드래그합니다.
      </Step>

      <Step title="연결 그리기">
        리소스 간에 클릭하고 드래그하여 관계를 생성합니다.
      </Step>

      <Step title="뷰 저장">
        토폴로지 뷰의 이름을 지정하고 저장합니다.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## 리소스 유형

토폴로지 탐색기는 모든 주요 클라우드 리소스 유형을 지원합니다:

| 카테고리       | 리소스                                  |
| ---------- | ------------------------------------ |
| 컴퓨팅        | EC2, Lambda, ECS, EKS, VM, Cloud Run |
| 네트워킹       | VPC, 로드 밸런서, CloudFront, API Gateway |
| 데이터베이스     | RDS, Aurora, DynamoDB, Cloud SQL     |
| 스토리지       | S3, EFS, EBS, Cloud Storage          |
| 보안         | IAM 역할, 보안 그룹, ACM 인증서               |
| Kubernetes | 클러스터, 디플로이먼트, 서비스, 파드                |

## 뷰, 필터, 내보내기

| 컨트롤             | 기능                                                |
| --------------- | ------------------------------------------------- |
| **뷰 불러오기** 드롭다운 | 저장된 토폴로지 뷰 열기                                     |
| 검색 및 필터 패널      | 이름 또는 ID로 리소스 검색; 유형, 태그, 메타데이터로 필터링; 카테고리 표시/숨기기 |
| **동기화됨** 지표     | 토폴로지가 인프라에서 마지막으로 업데이트된 시간 표시                     |
| 내보내기            | 뷰를 PNG/SVG, PDF, JSON으로 저장하거나 공유 링크 생성            |

## 에이전트가 토폴로지를 활용하는 방법

모든 에이전트는 토폴로지 맵을 읽고 의존성 경로를 분석할 수 있습니다:

| 에이전트                              | 토폴로지 활용                |
| --------------------------------- | ---------------------- |
| [Alex](/ko/guide/agents/alex)     | 비용 영향 시각화, 리소스 최적화 경로  |
| [Oliver](/ko/guide/agents/oliver) | 보안 노출 매핑, 컴플라이언스 시각화   |
| [Tony](/ko/guide/agents/tony)     | 데이터베이스 의존성 체인, 성능 병목   |
| [Kai](/ko/guide/agents/kai)       | 서비스 메시 시각화, 파드 관계      |
| [Anna](/ko/guide/agents/anna)     | 서비스 간 인시던트 조율, 아키텍처 검토 |

## 토폴로지 기반 RCA

대부분의 인시던트는 알림이 발생한 서비스가 아니라 의존성에서 시작되기 때문에 토폴로지가 [근본 원인 분석](/ko/guide/incident/root-cause-analysis)을 가속화합니다. 다음은 실제 예시입니다.

**알림:** 결제 성공률이 60%로 떨어집니다. 결제 로그에는 간헐적인 타임아웃이 표시되지만 결제 서비스, 데이터베이스, 캐시 모두 정상으로 보고합니다.

1. 로그가 아닌 알림에서 시작합니다. 상태를 오버레이하여 알림 서비스를 중심으로 맵을 구성합니다:

   ```text theme={null}
   @alex show the topology centered on checkout-service with health status overlaid
   ```

   <Frame>
     <img src="https://mintcdn.com/cloudthinker/M-utUm-TaqDSbEEK/images/infrastructure/topology-explorer.jpg?fit=max&auto=format&n=M-utUm-TaqDSbEEK&q=85&s=b931c4d83fd7741964ff90dca6583bcc" alt="서비스 의존성을 보여주는 토폴로지" width="3578" height="2010" data-path="images/infrastructure/topology-explorer.jpg" />
   </Frame>

2. 업스트림을 추적합니다. 맵에는 결제 서비스 → 결제 게이트웨이 → 외부 결제 API 의존성 체인이 표시되고, 외부 API 노드가 성능 저하로 표시됩니다.

3. 메트릭으로 확인하고 조치 전에 최근 변경 사항을 검토합니다:

   ```text theme={null}
   @alex overlay latency and error-rate metrics on this topology view
   @alex show topology changes in the last 24 hours
   ```

   Alex는 게이트웨이에서 외부 API로의 엣지에 집중된 타임아웃을 보여주고, 결제 경로에는 최근 배포가 없음을 확인합니다. 이로써 타사 제공업체가 원인임이 확정됩니다.

4. 해결 및 문서화. 백업 결제 제공업체로 페일오버한 후 [인시던트 기록](/ko/guide/incident/manual-logging)과 사후 분석을 위한 토폴로지 스냅샷을 내보냅니다.

### 연쇄 장애 분석

여러 서비스가 동시에 실패할 때 토폴로지 타임라인 뷰는 각 팀이 자체 서비스를 조사하는 대신 단일 뷰에서 장애의 원인과 전파 순서를 보여줍니다. 이 연쇄 장애에서 모든 다운스트림 장애는 만료된 SSL 인증서 하나로 거슬러 올라갑니다:

| 시간       | 서비스     | 상태 | 원인         |
| -------- | ------- | -- | ---------- |
| 10:00:00 | 인증 서비스  | 실패 | SSL 인증서 만료 |
| 10:00:05 | 사용자 서비스 | 실패 | 토큰 검증 불가   |
| 10:00:08 | 주문 서비스  | 실패 | 인증 의존성     |
| 10:00:10 | 결제 서비스  | 실패 | 인증 의존성     |
| 10:00:15 | 모든 서비스  | 실패 | 연쇄 장애 완료   |

<Tip>
  인시던트 발생 전에 토폴로지를 구축하고 상태 데이터 소스를 연결하세요. 사전 구축되어 동기화된 맵이 첫 단계를 몇 분 대신 몇 초 안에 완료할 수 있게 합니다.
</Tip>

## 기타 활용 예시

* `@alex show downstream dependencies of payment-service` — 위험한 변경 전 폭발 반경 확인
* `@oliver map all connections from instance i-0abc123` — 조사 중 보안 노출 범위 파악
* `@tony map every service connecting to the production database` — 연결 고갈의 원인 찾기
* `@kai show service dependencies and single points of failure in the cluster` — Kubernetes 신뢰성 강화
* `@alex compare the production topology with the DR region and list missing resources` — 재해 복구 커버리지 검증

## 관련 항목

<CardGroup cols={2}>
  <Card title="리소스" icon="cubes" href="/ko/guide/infrastructure/resources">
    검색된 모든 인프라 리소스 보기
  </Card>

  <Card title="근본 원인 분석" icon="magnifying-glass-chart" href="/ko/guide/incident/root-cause-analysis">
    에이전트 주도 RCA 실행
  </Card>

  <Card title="평가" icon="clipboard-check" href="/ko/guide/infrastructure/assessment">
    인프라 평가 실행
  </Card>
</CardGroup>
