VCN(Virtual Cloud Network)은 Oracle Cloud에서 사용자가 직접 설계·관리할 수 있는 가상 네트워크 환경이에요. 온프레미스의 네트워크처럼 서브넷, 라우팅, 게이트웨이, 보안 규칙 등을 자유롭게 구성할 수 있어요. VCN은 퍼블릭 서브넷(인터넷 통신 가능)과 프라이빗 서브넷(내부 전용)으로 나눠 서비스 구성을 분리할 수 있어요. 보안은 Security List나 Network Security Group(NSG)을 통해 세밀하게 제어할 수 있어요. 이러한 요소들로 VCN은 OCI 내 리소스들이 안전하게 통신할 수 있도록 하는 클라우드 네트워크의 기반 구조를 제공해요
OCI(Oracle Cloud Infrastructure)에서 애플리케이션을 안전하게 운영하려면 VCN과 보안 정책을 정확하게 설계해야 해요.
헤츠너 클라우드에서 동작중인 N8N을 오라클 클라우드로 마이그레이션할건데,
이를 위해 N8N이 동작할 VCN을 이번글에서 직접 만들어보려고 해요.이
Compartment
Compartment는 리소스를 논리적으로 분리하기 위한 컨테이너이자 IAM 정책의 적용에 사용할 수 있어요.
일반적인 기업 조직은 보통 환경(Prod/Stage/Dev) 또는 서비스(ERP/CRM/AICC) 기준으로 Compartment를 나눠요.
하지만 저는 개인적으로 쓰기때문에 그렇게 세세하게 나누진 않겠지만,
VCN을 Root Compartment가 아닌 별도의 Compartment에 리소스를 생성하기 해당 작업을 진행해요.
- 이름 규칙:
<Org>-<Env>-<Service>(예:eicn-prod-aicc) - 권한: 관리자 그룹만 루트/상위 Compartment에 접근, 운영/개발팀은 하위만
- 로깅/청구: Compartment 단위로 비용/활동 로그를 나눠 관리가 쉬움
생성 절차
그럼 Compartment를 만들어보도록 할게요. 아래 순서대로 Compartment를 생성해요.
좌측 메뉴 Identity & Security -> Compartments 이동

Create Compartment 클릭 -> Name/Description 입력 -> Parent로 Root 선택
(*Root는 기본적으로 생성되어 있으며, 이전에 Compartment를 생성한적 없다면 Root만 존재할거에요)

그럼 생성된 Compartment를 확인해요.
원래는 Policies에서 해당 그룹에 필요 권한(예: manage all-resources in compartment <name>)을
부여해야하지만 저는 개인용으로 사용하는 것이라 권한을 나눌필요도 없고,
이전 글에서 생성한 도메인에서 테넌시 권한을 부여했기에 넘어가도록 할게요.

이전글 참고
2025.10.13 - [오라클 클라우드] - 오라클 클라우드 - Identity Domain 생성 및 권한 할당
오라클 클라우드 - Identity Domain 생성 및 권한 할당
이 글에서는 오라클 클라우드 초기 설정으로 Identity Domain을 생성하는 과정을 다뤄요. Identity Domain은 Oracle Cloud에서 사용자, 그룹, 애플리케이션 등의 인증·권한 관리 영역을 분리하기 위한 단위
knockknows.com
VCN 생성 및 네트워크 설정
VCN(Virtual Cloud Network)은 리전(Region) 내에서 격리된 사설 네트워크예요.
AWS의 VPC와 유사하며, 하나의 VCN에 여러 서브넷/게이트웨이/라우트 테이블을 둘 수 있어요.
그래서 N8N을 마이그레이션할 인스턴스를 생성하기 전에 VCN을 만들고, 네트워크를 구성해볼게요.
- VCN CIDR 예시:
10.0.0.0/16(서브넷을 /24로 256개까지 분할 가능) - 온프레미스/다른 클라우드와 중복 피하기(추후 VPN/DR 고려)
- DNS Hostnames 사용 시, VCN/서브넷 DNS Label을 일관 규칙으로 지정
VCN 생성
VCN을 생성하기 위해 아래 메뉴로 이동할게요
좌측 네비게이션 메뉴 Networking -> Virtual Cloud Networks 선택

아무런 VCN을 생성하지 않았었기에 VCN이 비어있어요.
Create VCN을 눌러주세요.

VCN 설정은 아래 표와 이미지를 참고해주세요.
설정을 완료 한 뒤 우측 하단의 [ Create VCN ]을 눌러주세요.
| 설정 | 설명 | 비고 |
| Name | VCN 이름 지정 | - |
| Compartment | VCN이 속할 Compartment 선택 | 첫 부분에서 만든 Compartment로 지정 |
| IPv4 CIDR Blocks | VCN이 가질 IPv4 CIDR Block 입력 (예 : 10.0.0.0/16) |
- |
| Use DNS hostnames in this VCN | 해당 VCN에 DNS hostnames 사용 여부 | - |

VCN이 생성되면 아래와 같이 생성된 VCN 페이지로 이동돼요.

퍼블릭 서브넷 생성
VCN을 생성했다면 이번에는 서브넷을 생성해볼게요.
서브넷은 퍼블릭 서브넷과 프라이빗 서브넷 2가지로 나뉘어지는데 저는 퍼블릭 서브넷을 생성해볼게요.
퍼블릭 서브넷은 IGW를 통해 외부 인터넷과 통신할 수 있는 서브넷이에요.
외부망에서 접근이 필요한 인스턴스(예: 대외 웹 서비스 등)가 있을 경우 퍼블릭 서브넷에 배치해야해요.
퍼블릭 서브넷에 배치한 인스턴스에 퍼블릭 IP를 할당하면 바로 접근 할 수 있어요.
N8N은 웹 기반으로 동작하기 때문에 퍼블릭 서브넷에 배포되어야해요.
그래서 퍼블릭 서브넷을 생성하는거예요.
VCN 상세 -> Subnets -> Create Subnet 을 선택하면 아래와 같은 화면이 나타나요.
이미지와 표를 참고해서 설정을 입력해주세요
| 설정 | 설명 | 비고 |
| Name | 서브넷 이름 지정 | - |
| Compartment | 생성될 서브넷이 속할 Compartment 선택 | - |
| Subnet Type | 서브넷이 생성돨 AD(Availability Domain) 보통 Regional (Recommended) 선택 |
- |
| IPv4 CIDR Blocks | 서브넷에 할당할 IPv4 CIDR(예: 10.0.1.0/24) *VCN에 속하면서 그보다 작은 CIDR 지정 |
- |
| Subnet Access | Private 또는 Public Subnet 선택 | - |
| DNS Resolution | 서브넷에 DNS 호스트 이름 사용 여부 지정 | - |
| Security Lists | 서브넷세 사용될 Security List 선택 | - |


그리고 마지막에 Security List를 선택하는데 기본적으로 Default Security List가 생성되어 있으므로 해당 List 선택해주세요.
추후 필요하면 Security List 또는 라우팅 테이블을 변경할 수 있어요.

필요한 설정을 모두 지정 후 [ Create ] 를 통해 서브넷을 생성해주세요.
인터넷 게이트웨이 및 라우팅 설정
IGW는Oracle Cloud의 VCN을 인터넷과 연결해주는 게이트웨이예요.
그래서 퍼블릭 서브넷을 생성했어도, 서브넷과 연결된 라우트 테이블에 IGW 대상 경로가 있어야
실제로 트래픽이 인터넷으로 나갈 수 있어요.
VCN 상세 → Gateways 로 이동해주세요. 중간쯤 Internet Gateways가 있어요
Create Internet Gateway를 눌러주세요.

별도의 설정 없이 Internet Gateway 이름 설정 한뒤 [ Create Internet Gateway ] 버튼으로 생성해주세요.

그럼 비어있던 Internet Gateways에 아래와 같이 방금 추가한 인터넷 게이트웨이가 표시돼요.

IGW(Internet Gateway)를 생성해도 아직 외부와 통신은 되지 않아요.
라우팅 테이블에 외부로 나가는 경로가 추가되지 않았기 때문이에요.
퍼블릭 서브넷이 인터넷으로 나가려면 서브넷이 연결된 Route Table에 0.0.0.0/0 → IGW 경로가 필요해요.
VCN 상세 -> Routing 으로 이동해주세요.
그럼 서브넷 생성 시 설정한 디폴트 라우팅 테이블이 있는데 선택해주세요.

라우팅 테이블 내부 -> [ Route Rules ] -> [ Add Route Rules ] 버튼을 눌러주세요

[ Add Route Rules ] 페이지가 나타나면 아래 이미지를 참고해서 설정한 뒤 라우트 룰을 생성해주세요.

Security List 설정
Security List는 서브넷 단위로 적용되는 Stateful(상태저장형) 가상 방화벽예요.
인바운드(수신)과 아웃바운드(송신) 트래픽을 제어하여 리소스의 접근을 허용하거나 차단하는 역할을 해요.
현재 Default Security List를 사용했는데 룰을 변경하거나 새로운 Security Lists를 추가할 수 있어요.

변경 절차
현재 서브넷에 적용된 Default Security List의 Rule을 변경해볼게요.
VCN 상세 -> Security Lists 로 이동한 뒤 Default Security List를 선택해주세요.
Default Security List -> Security rules 메뉴로 이동하면 아래와 같은 설정을 볼 수 있어요.

여기에 보안적으로 취약한 설정이 있는데 첫번째 룰인 [ 0.0.0.0/0 TCP All 22 ]로
모든 IP에 대해 22번 포트 접근을 허용하겠다는 뜻이에요.
22번은 SSH(Secure Shell)에서 사용하는 포트이며 누구나 SSH에 접근시도를 할 수 있게돼요.
이것을 변경하기 위해 우측 끝의 [ ... ] 을 누른 다음 [ Edit ] 버튼을 눌러주세요.

그러면 아래와 같이 [ Edit Ingress Rule ] 페이지가 나타나요.
여기서 [ Source CIDR ] 부분을 변경해주세요
기존 0.0.0.0/0 -> <개인 집의 공인 IP>/32 로 변경해주세요.
개인 집의 공인 IP는 아래 링크에서 확인할 수 있어요.
https://whatismyipaddress.com/#google_vignette
What Is My IP Address? IP Address Tools and More
IP address lookup, location, proxy detection, email tracing, IP hiding tips, blacklist check, speed test, and forums. Find, get, and show my IP address.
whatismyipaddress.com

Security List Rule 까지 변경을 완료했다면 기본적인 VCN 설정은 완료됐어요.
이 외에도 많은 설정들이 있지만 아직 인스턴스를 배포하지 않았기에 이정도만 설정해도 충분해요.
정리
Compartment / VCN / 퍼블릭 서브넷 / IGW / Security List 까지 이번글에서 설정했어요.
다음글에서는 실제 인스턴스를 생성하고 추가적인 설정과 인스턴스에 접속하는 부분까지 진행해볼게요.
- Compartment로 리소스/권한 경계를 먼저 확립하고 정책을 올바른 수준에 부여할 수 있어요.
이 글에서 생성한 VCN 리소스는 전부 처음에 생성한 Compartment에 속하도록 구성했어요. - VCN CIDR는 중복 없는 대역으로 설계하고, 퍼블릭 서브넷은 Regional로 만들면 확장성이 좋아요.
하지만 개인 사용자는 크게 신경쓸 필요는 없어요. - IGW 생성만으로는 부족하며, 라우트 테이블 연결과 퍼블릭 IP 할당까지 확인해야 외부 통신을 할 수 있어요.
퍼블릭 IP 할당은 다음 글에서 진행해볼게요. - Security List는 최소 허용 원칙을 적용하고, 운영 단계에서는 NSG로 인스턴스별 세분화를 권장해요.
NSG에 대해서는 다음 글에서 알아볼게요.
참고 공식 문서
https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/Overview_of_VCNs_and_Subnets.htm
https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/overview.htm#network_landing
https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/create_vcn.htm#top
https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/managingroutetables.htm
https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/securitylists.htm
'오라클 클라우드' 카테고리의 다른 글
| 오라클 클라우드 - 인스턴스 생성 및 Reserved IP 설정 (0) | 2025.10.21 |
|---|---|
| 오라클 클라우드 - Identity Domain 생성 및 권한 할당 (0) | 2025.10.13 |
| 오라클 클라우드 최초 로그인 및 2FA 인증 + PAYG(유료계정) 업그레이드 (2) | 2025.09.30 |
| 오라클 클라우드 회원 가입 완료(계정 리뷰 보류 해결) (0) | 2025.09.28 |
| 오라클 클라우드 회원 가입 및 트랜잭션 해결과 계정 리뷰 보류 (0) | 2025.09.25 |