> 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/user-guide/examples-and-labs/10-connect-instance-via-port-forwarding.md).

# 포트 포워딩으로 인스턴스 연결하기

이 문서는 외부 IP 자동 할당 방식을 활용해 인스턴스에 안전하게 접근하는 포트 포워딩 규칙 생성과 SSH 접속까지 확인하는 실습입니다.

## 사전 준비

* Cloud:iA 웹콘솔 접근 가능
* 프로젝트 계정(`project-owner`)으로 로그인 가능
* 접속 대상 Linux 인스턴스 실행 중
* 인스턴스 보안그룹에서 `22/tcp` 인바운드 허용

## 개요

1. [포트 포워딩 생성](#step-1)
2. [SSH 포워딩 규칙 추가](#step-2)
3. [외부 SSH 접속 확인](#step-3)

## 1단계: 포트 포워딩 생성

**수행 계정/화면:** `프로젝트 계정` / `프로젝트 페이지`

### 절차

1. `네트워크 > 포트 포워딩`에서 `생성`을 클릭하여 생성창을 엽니다.
2. 이름과 설명을 입력하고, 대상 인스턴스가 속한 **VPC**를 선택합니다.
3. 외부 IP 주소를 `자동 할당`으로 설정합니다.

### 입력 예시

| 항목       | 값                                 |
| -------- | --------------------------------- |
| 이름       | `example-port-forwarding-ssh-001` |
| 설명       | `ssh forwarding test`             |
| VPC      | `example-vpc`                     |
| 외부 IP 주소 | `자동 할당`                           |

### 확인

* 하단의 규칙 영역의 `추가` 버튼이 활성화 됩니다.

## 2단계: SSH 포워딩 규칙 추가

**수행 계정/화면:** `프로젝트 계정` / `프로젝트 페이지`

### 절차

1. 규칙 영역에서 `추가`를 클릭합니다.
2. 프로토콜 `TCP`, 외부 포트 `10022`를 입력합니다.
3. 내부 리소스 설정을 `인스턴스`로 선택하고 대상 인스턴스/내부 IP 주소를 선택합니다.
4. 내부 포트 `22`를 입력하고 `추가` 버튼을 클릭합니다.
5. `생성`을 클릭하여 포트 포워딩을 생성합니다.

### 입력 예시

| 항목        | 값                          |
| --------- | -------------------------- |
| 프로토콜      | `TCP`                      |
| 외부 포트     | `10022`                    |
| 내부 리소스 설정 | `인스턴스`                     |
| 대상 인스턴스   | `example-instance-ssh-001` |
| 내부 IP 주소  | `10.0.1.21`                |
| 내부 포트     | `22`                       |

### 확인

* 생성 후 목록에서 규칙 수가 1개이고, **외부 IP**가 정상적으로 할당되었는지 확인하세요.

## 3단계: 외부 SSH 접속 확인

**수행 계정/화면:** `사용자 로컬 터미널(macOS/Linux/PowerShell)`

### 절차

1. 포트 포워딩 외부 IP를 확인합니다. (예: `192.168.11.13`)
2. 터미널에서 포워딩 포트(`10022`)로 SSH 접속을 시도합니다.

### 입력 예시

| 항목         | 값                                                                                                                                          |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| 접속 명령      | <p>ssh -p 10022 \[사용자계정]@\[외부IP]<br>예시: <code>ssh -p 10022 example-user\@192.168.11.13</code></p>                                          |
| 키 기반 접속 명령 | <p>ssh -i \[키경로] -p 10022 \[사용자계정]@\[외부IP]<br>예시: <code>ssh -i \~/.ssh/example-key-ed25519 -p 10022 example-user\@192.168.11.13</code></p> |

### 확인

* SSH 연결이 성공합니다.
* 접속 대상이 지정한 인스턴스와 일치합니다.
