Oracle Cloud로 무료 블로그 시작하기

Oracle Cloud 블로그 시작 — 자원 조건 · 설치 흐름 주제를 표현한 개념 그림

Oracle Cloud Infrastructure(OCI)의 Always Free 리소스로 블로그를 시작하는 방법을 안내합니다. 무료 대상과 한도 내에서 이용해야 하며, 평생 무과금이나 자원 확보를 보장하지 않습니다. 이 글의 설치 예시는 현재 계정의 과금·가용성을 확인한 결과가 아닙니다.

Table of Contents

PART 1: 시작하기 전에

1. OCI 무료 티어의 장점

Always Free는 계정·리전·서비스별 조건이 있는 무료 제공 범위입니다. 유휴 인스턴스 회수와 지역 용량 부족이 발생할 수 있으며, 무료 한도 밖의 자원에는 요금이 부과될 수 있습니다. 블로그에 충분한지는 트래픽과 플러그인·데이터량을 바탕으로 따로 검증해야 합니다.

2026-10-05 확인: 이 글의 과거 ARM 4대·24GB 예시는 현재 보장량으로 사용하지 마세요. Compute의 shape·월간 OCPU/메모리 한도, 부트 볼륨을 포함한 스토리지 합계, MySQL HeatWave의 별도 지원 조건과 데이터 전송량은 Oracle의 현재 Always Free 한도표를 확인하세요.
리소스별 조건과 실제 사용량을 각각 확인해야 하며 서로 다른 서비스의 무료 한도를 합쳐 무제한 이용으로 해석하면 안 됩니다.

OCI Free Tier 계정 대시보드 메인 디스플레이
OCI Free Tier 계정 대시보드 메인 디스플레이

2. 준비물과 주의사항

이 가이드를 따라하시려면 다음 준비물이 필요합니다:

  • 필수 준비물
    • 신용카드 또는 지원되는 직불카드 (본인 확인 중 임시 승인 보류가 표시될 수 있음)
    • 본인 이메일 계정
    • 계정 심사와 리소스 생성에 필요한 시간 (소요 시간은 상황에 따라 달라짐)
  • 계정 생성 시 주의사항
    • 모든 정보는 실제 본인 정보와 일치해야 합니다
    • 주소와 연락처도 정확히 입력하세요
    • Oracle FAQ에 따르면 신용카드처럼 결제되는 직불카드는 지원하지만 PIN 기반 직불카드·가상카드·일회용 카드·선불카드는 지원하지 않습니다.

3. 전체 구축 과정 미리보기

전체 과정은 네 단계로 나눕니다. 이 글에서는 계정 등록과 네트워크 기반 설정을 다룹니다.

OCI 계정·네트워크 준비에서 데이터베이스와 WordPress 설치까지의 구축 흐름
WordPress Setup Flow Diagram

단계마다 생성한 리소스와 연결 상태를 확인합니다. 문제가 생기면 어느 단계까지 정상적으로 완료됐는지부터 확인하세요.

이번 단계에서는 서브넷, 통신 경로와 접근 규칙을 구분해서 구성합니다. 이후 데이터베이스와 워드프레스 설치에 필요한 네트워크 조건을 준비하는 과정입니다.

PART 2: 계정 설정하기

1. 기본 정보 등록

먼저 OCI 무료 계정을 만들어보겠습니다. https://www.oracle.com/cloud/free/ 페이지에서 ‘Start for free’ 버튼을 클릭하세요.

OCI Free Tier 계정 생성 링크 - Start for free
OCI Free Tier 계정 생성 링크 - Start for free

2. 개인 정보 입력

기본 정보를 정확하게 입력합니다. 특히 이메일 주소는 실제 사용하는 계정을 입력하세요.

OCI - Account Information
OCI - Account Information

3. 이메일 인증

입력한 이메일로 인증 링크가 발송됩니다. 스팸함도 확인해보세요.

인증 링크 Email 수신
인증 링크 Email 수신

4. 클라우드 계정 세부 설정

다음은 클라우드 계정의 기본 환경을 설정하는 중요한 단계입니다. 이 설정은 나중에 바꾸기 어려울 수 있으므로 변경 가능 여부를 확인한 뒤 선택하세요.

클라우드 계정 이름 설정

  • 고유한 이름을 선택하세요 (예: myblog-cloud-2024)
  • 계정 식별에 사용할 이름이므로 신중하게 정하고, 변경 가능 범위는 현재 가입 안내에서 확인합니다.
  • 현재 가입 화면에서 허용하는 문자와 중복 여부를 확인합니다.

데이터 센터(리전) 선택

  • 주요 방문자의 위치, 서비스 지원 범위와 리소스 가용 용량을 비교해 홈 리전을 선택하세요.
  • 가까운 리전은 지연 시간을 줄이는 데 도움이 될 수 있지만, 실제 응답 속도는 네트워크 경로와 서버·캐시 구성에도 영향을 받습니다.
  • 한번 선택한 홈 리전은 변경할 수 없습니다

5. 상세 정보 등록

이제 계정 보안과 인증을 위한 상세 정보를 입력합니다.

1) 연락처 정보 입력

    • 실제 사용하는 주소와 전화번호를 입력하세요
    • 이 정보는 계정 보안과 복구에 중요합니다

2) 결제 정보 등록

  • “지급 검증 방법 추가” 버튼을 클릭합니다
  • 신용카드 정보를 입력합니다
  • 카드는 계정 설정과 본인 확인에 사용됩니다. 임시 승인 보류가 표시될 수 있으므로 실제 이용 요금과 구분하고 Oracle Free Tier FAQ를 확인하세요.

3) 카드 인증 완료

  • 카드 정보가 성공적으로 확인되면 아래와 같은 화면이 표시됩니다
  • “Close” 버튼을 클릭하여 다음 단계로 진행합니다

6. 계정 활성화

모든 정보 입력이 완료되면 “내 무료 체험판 시작하기”를 클릭합니다. 오라클에서 계정을 검토하고 설정하는 동안 잠시 기다려주세요.

계정이 준비되면 확인 이메일을 받게 됩니다. 이메일의 “Sign In” 버튼을 클릭하여 OCI 콘솔에 처음으로 로그인할 수 있습니다.

PART 3: 네트워크 기반 구축하기

1. 시스템 구조 이해하기

아래 그림은 워드프레스 서버와 데이터베이스를 서로 다른 서브넷에 두는 구성 예시입니다. 먼저 각 리소스의 주소와 통신 경로를 확인합니다.

OCI Architecture for WordPress Diagram
OCI Architecture for WordPress Diagram

이 구조의 주요 특징은:

  • 워드프레스가 실행되는 공개 서버
  • 프라이빗 서브넷에 두는 데이터베이스
  • 서브넷별 경로와 접근 규칙

이 구성은 웹 서버와 데이터베이스의 통신 경로를 나누는 예시입니다. 운영 적합성과 확장 방법은 트래픽, 데이터량과 서비스 조건을 따로 검토해야 합니다.

📍 우리가 만들 시스템의 핵심 구성 요소

  1. 워드프레스 서버 (퍼블릭 영역)
    • IP 대역: 10.0.1.0/24
    • 공인 IP·인터넷 경로·보안 규칙이 갖춰지면 외부 접속 가능
    • 블로그 게시물, 이미지 등을 서비스하는 곳
  2. 데이터베이스 서버 (프라이빗 영역)
    • IP 대역: 10.0.2.0/24
    • 공인 IP 할당을 금지하며, 다른 네트워크에서의 접근은 경로와 보안 규칙으로 제어
    • MySQL HeatWave 사용
    • 게시물, 댓글 등 중요 데이터 저장
  3. 네트워크 설정 (VCN)
    • 전체 IP 대역: 10.0.0.0/16
    • 우리만의 독립된 네트워크 공간
    • 주소 범위, 서브넷과 통신 경로를 구성하는 단위
  4. 보안 설정
    • 인터넷 게이트웨이: 공인 IP 리소스의 인터넷 연결 경로
    • NAT 게이트웨이: 공인 IP 없는 리소스가 시작한 인터넷 연결과 응답 전달
    • 보안 그룹: 세밀한 접근 제어 (가상 방화벽)

2. 기본 네트워크 설정

컴파트먼트, VCN과 서브넷을 순서대로 구성합니다. 생성 위치와 주소 범위를 기록해 두세요.

A. 컴파트먼트(Compartment) 설정

컴파트먼트는 OCI 리소스를 논리적으로 묶어 관리하는 공간입니다. 이 예시에서는 워드프레스 관련 리소스를 한 컴파트먼트에서 관리합니다.

1. 컴파트먼트 생성하기
  • OCI 콘솔 좌측 상단의 메뉴를 클릭합니다
OCI 콘솔의 탐색 메뉴
OCI 콘솔 네비게이션 메뉴
  • “Identity & Security”에서 “Compartments”를 선택합니다
  • 여기서 리소스를 묶어 관리할 컴파트먼트를 선택합니다
OCI 컴파트먼트 관리 메뉴
컴파트먼트 관리로 이동
2. 새 컴파트먼트 생성
  • “Create Compartment” 버튼을 클릭합니다
  • 워드프레스 관련 리소스를 관리할 컴파트먼트를 지정합니다
컴파트먼트 생성
컴파트먼트 생성
3. 기본 정보 입력
  • Name: WordPress-Compartment (식별하기 쉬운 이름 사용)
  • Description: Compartment for WordPress hosting resources
  • Parent Compartment: 루트 컴파트먼트 선택
  • 이 정보들은 나중에 자원을 찾고 관리하는 데 중요합니다
컴파트먼트 정보 입력
컴파트먼트 정보 입력

생성이 완료되면 아래와 같은 결과 화면을 보실 수 있습니다:

컴파트먼트 생성 목록
컴파트먼트 생성 확인

B. 가상 클라우드 네트워크(VCN) 구성

VCN에서는 주소 범위, 서브넷과 통신 경로를 구성합니다. 접근 허용은 보안 목록과 NSG 규칙에서 따로 확인합니다.

1. VCN 생성 시작
  • 왼쪽 메뉴에서 “네트워킹” 선택
  • “가상 클라우드 네트워크” 클릭
Virtual Cloud Network으로 이동
Virtual Cloud Networks로 이동
  • WordPress-Compartment가 선택되어 있는지 반드시 확인
  • 잘못된 위치에 VCN을 생성하면 나중에 관리가 어려워집니다
  • “VCN 생성” 버튼을 클릭합니다
  • 이제 우리만의 독립된 네트워크 공간을 만들 것입니다
2. VCN 기본 설정
  • 이름: WordPress-VCN (목적을 알 수 있는 명확한 이름 사용)
  • CIDR 블록: 10.0.0.0/16 (이는 약 65,000개의 IP 주소를 사용할 수 있는 공간을 만듭니다)
  • 나머지 항목도 현재 화면에서 확인합니다. 자동 생성되는 기본 경로 테이블·보안 목록·DHCP 옵션과 이후 서브넷의 연결 대상을 기록하세요.
OCI VCN 생성 양식
VCN 생성

목록에 ‘WordPress-VCN’이 표시되는지 확인합니다. 생성한 컴파트먼트와 CIDR도 함께 확인하세요. 🎉

생성된 OCI VCN의 상세 정보
VCN 생성 결과 확인

VCN을 생성하면 기본 경로 테이블, 보안 목록과 DHCP 옵션이 함께 만들어집니다. 생성만으로 필요한 통신이 모두 허용되는 것은 아닙니다.

기본 구성 요소들을 살펴보면:

CIDR 블록

  • 우리 네트워크에서 사용할 수 있는 IP 주소의 범위를 정의합니다
  • 10.0.0.0/16은 약 65,000개의 IP 주소를 제공합니다
  • 기존 네트워크와 겹치는지, 서브넷을 어떻게 나눌지 먼저 검토합니다
VCN CIDR Blocks
VCN CIDR Blocks

💡 CIDR로 주소 범위 구분하기

CIDR은 네트워크 주소와 접두사 길이로 IP 주소 범위를 나타냅니다. 아래에서는 VCN 범위 안에 서로 겹치지 않는 두 서브넷을 둡니다.

예를 들어:

  • 10.0.0.0/16: VCN의 주소 범위
  • 10.0.1.0/24: 퍼블릭 서브넷에 사용할 범위
  • 10.0.2.0/24: 프라이빗 서브넷에 사용할 범위

서브넷 범위가 VCN 안에 포함되고 서로 겹치지 않는지 확인하세요.

경로 테이블 (Route Table)

  • 대상 주소에 따라 트래픽을 보낼 다음 경로를 지정합니다
  • 처음에는 비어있지만, 나중에 필요한 규칙을 추가할 것입니다
  • 경로 테이블은 접근 허용 규칙과 다릅니다. 경로가 있어도 보안 규칙이나 서비스 설정에서 통신이 제한될 수 있습니다.
OCI VCN의 기본 경로 테이블 정보
VCN 기본 경로 테이블

보안 목록 (Security List)

  • 네트워크 트래픽의 출입을 관리하는 규칙들입니다
  • 서브넷에 연결해 패킷 수준의 허용 규칙을 적용합니다
  • 어떤 트래픽을 허용하고 차단할지 정의합니다
VCN Default Security List
VCN Default Security List

C. 서브넷 구성하기

웹 서버와 데이터베이스를 서로 다른 서브넷에 둡니다. 각 서브넷에서 공인 IP 할당 여부, 경로 테이블과 보안 목록을 확인하세요.

퍼블릭 서브넷(Public Subnet) 만들기

먼저 블로그 방문자들이 접근할 수 있는 공개 공간을 만들어보겠습니다.

1. 퍼블릭 서브넷 생성 시작
  • WordPress-VCN의 세부 정보 페이지로 이동합니다
  • “서브넷” 메뉴를 선택하고 “서브넷 생성” 버튼을 클릭합니다
OCI VCN에서 서브넷 생성을 시작하는 화면
Create Subnet
2. 퍼블릭 서브넷 설정

여기서 입력하는 각 설정은 네트워크의 구조와 보안에 직접적인 영향을 미칩니다:

  • 이름: Public-Subnet (용도를 명확히 알 수 있는 이름)
  • CIDR 블록: 10.0.1.0/24 (약 250개의 IP 주소 공간)
  • 서브넷 유형: Regional (하나의 가용성 도메인에 제한되지 않는 유형; 이 선택만으로 고가용성이 보장되지는 않음)
  • 서브넷 액세스: 공용 서브넷 (공인 IPv4 할당 가능; 실제 외부 접속에는 주소·경로·보안 규칙·서비스 수신 상태 확인 필요)
OCI 서브넷의 이름과 네트워크 구성 입력 항목
Subnet Configuration Details
프라이빗 서브넷(Private Subnet) 만들기

데이터베이스용 프라이빗 서브넷을 만듭니다. 공인 IP를 할당하지 않으며, 워드프레스 서버의 접속은 별도 보안 규칙으로 허용합니다. 프라이빗 서브넷이라는 이유만으로 다른 모든 접근이 차단되는 것은 아닙니다.

1. 프라이빗 서브넷 생성

다시 “서브넷 생성” 버튼을 클릭합니다

프라이빗 서브넷 생성
프라이빗 서브넷 생성
2. 프라이빗 서브넷 설정

보안을 위한 중요한 설정들을 진행합니다:

  • 이름: Private-Subnet
  • CIDR 블록: 10.0.2.0/24
  • 서브넷 유형: Regional
  • 서브넷 액세스: 전용 서브넷 (공인 IPv4 할당 금지; 사설 경로를 통한 접근은 별도 제어)
서브넷 정보 입력
서브넷 정보 입력

이 설정이 중요한 이유는:

  • 데이터베이스의 공인 IP 할당을 막습니다
  • 접근할 원본과 포트를 보안 규칙에서 제한합니다
  • 라우팅과 보안 규칙을 함께 검토합니다
서브넷 구성 확인

설정이 완료되면 두 개의 서브넷이 아래와 같이 표시됩니다:

생성된 OCI 서브넷의 구성 정보
서브넷 구성 확인

두 서브넷이 생성되면 각각 사용할 경로 테이블을 확인합니다. 다음은 인터넷 연결 경로를 설정하는 단계입니다.

3. 네트워크 통신 설정

A. 인터넷 게이트웨이 설정

인터넷 게이트웨이는 VCN과 인터넷을 연결합니다. 사용하려는 리소스에는 공인 IP와 해당 게이트웨이를 향하는 경로가 필요하며, 통신 허용 범위는 보안 규칙에서 정합니다.

인터넷 게이트웨이의 역할 이해하기

인터넷 게이트웨이는 다음과 같은 중요한 기능을 수행합니다:

  • 외부 방문자들이 우리 블로그에 접속할 수 있게 해줍니다
  • 워드프레스가 업데이트나 플러그인을 다운로드할 수 있게 합니다
  • 접근 허용·차단은 보안 목록과 NSG 규칙에서 따로 제어합니다
인터넷 게이트웨이 생성하기
1. 인터넷 게이트웨이 생성 시작
  • VCN 화면에서 왼쪽 메뉴의 “인터넷 게이트웨이” 클릭
  • 이전에 만든 VCN 내에서 작업하는지 확인합니다
OCI 인터넷 게이트웨이 생성 메뉴
인터넷 게이트웨이 생성
2. 기본 정보 설정
  • 이름: WordPress-IGW
  • 컴파트먼트: WordPress-Compartment 이름에 IGW를 포함시키면 나중에 리소스를 쉽게 식별할 수 있습니다.
OCI 인터넷 게이트웨이의 이름 입력 양식
인터넷 게이트웨이 이름 지정
트래픽 경로 설정하기 (라우트 테이블 구성)

인터넷 게이트웨이를 만든 뒤, 사용할 서브넷의 경로 테이블에 대상과 다음 경로를 지정합니다.

1. 라우트 테이블 찾기
  • “Default Route Table for WordPress-VCN”으로 이동합니다
  • 이 테이블에서 해당 서브넷의 외부 통신 경로를 지정합니다
OCI VCN의 기본 경로 테이블 선택
디폴트 라우트 테이블 선택
2. 새로운 경로 규칙 추가
  • “경로 규칙 추가” 버튼을 클릭합니다
  • 대상 주소 범위와 다음 경로를 지정합니다
OCI 경로 테이블에 새 경로 규칙 추가
새 규칙 추가
3. 경로 규칙 설정
  1. 다음 정보를 입력합니다:
    • 대상 유형: 인터넷 게이트웨이
    • 대상 CIDR: 0.0.0.0/0 (모든 외부 트래픽을 의미)
    • 타겟: WordPress-IGW

더 구체적인 경로가 없는 외부 목적지로 향하는 트래픽에 인터넷 게이트웨이를 사용하도록 지정합니다. 이 규칙 자체가 접속을 허용하지는 않습니다.

OCI 경로 규칙의 대상과 게이트웨이 설정
경로 규칙 설정

설정이 완료되면 다음과 같이 새로운 경로 규칙이 추가된 것을 확인할 수 있습니다:

추가된 OCI 경로 규칙 목록
경로 규칙 설정 확인
왜 이 설정이 중요한가요?

인터넷 게이트웨이와 라우트 테이블 설정은 네트워크의 기본적인 통신 능력을 결정합니다. 만약 이 설정이 잘못되면:

  • 블로그 방문자들이 접속할 수 없게 됩니다
  • 워드프레스 업데이트가 불가능합니다
  • 외부 서비스와의 연동이 작동하지 않습니다

다음 단계에서는 프라이빗 서브넷의 안전한 외부 통신을 위한 NAT 게이트웨이를 설정하겠습니다.

B. NAT 게이트웨이 설정 - 데이터베이스의 안전한 통신 경로 만들기

프라이빗 서브넷의 리소스가 인터넷으로 연결을 시작해야 한다면 NAT 게이트웨이를 검토합니다. 관리형 MySQL 서비스의 패치 경로까지 이 예시와 같다고 가정하지 마세요.

NAT 게이트웨이란?

NAT 게이트웨이는 공인 IP가 없는 리소스가 인터넷으로 시작한 연결과 그 응답을 전달합니다. 인터넷에서 시작하는 연결은 받아들이지 않으며, 필요한 송신 범위는 보안 규칙에서 별도로 정합니다.

NAT 게이트웨이 생성하기
1. 기본 설정
  • VCN 메인 화면에서 “NAT 게이트웨이” 메뉴 선택
  • “NAT 게이트웨이 생성” 버튼 클릭
OCI NAT 게이트웨이 생성 메뉴
NAT 게이트웨이 생성
2. NAT 게이트웨이 정보 입력
  • 이름: WordPress-NGW
  • 컴파트먼트: WordPress-Compartment NGW는 NAT Gateway의 약자로, 나중에 리소스를 쉽게 찾을 수 있게 해줍니다.
OCI NAT 게이트웨이 생성 정보 입력
NAT 게이트웨이 정보 입력

생성이 완료되면 다음과 같이 표시됩니다:

생성된 OCI NAT 게이트웨이 상세 정보
NAT 게이트웨이 생성 결과

C. 프라이빗 서브넷을 위한 전용 경로 만들기

NAT 게이트웨이를 만들었다면, 이제 프라이빗 서브넷의 트래픽이 이 게이트웨이를 통해 흐르도록 설정해야 합니다. 이를 위해 새로운 라우트 테이블을 만들어보겠습니다.

1. 새 라우트 테이블 생성
  • 이름: Private-RT (프라이빗 서브넷 전용 라우트 테이블)
  • VCN 세부 정보 페이지에서 “라우트 테이블 생성” 클릭
라우트 테이블 생성
라우트 테이블 생성
2. 경로 규칙 추가
  • “라우트 테이블 추가” 버튼 클릭
  • 이 규칙들은 프라이빗 서브넷의 트래픽 경로를 정의합니다
라우트 테이블 정보 입력
라우트 테이블 정보 입력
3. 경로 규칙 설정

다음 정보를 입력합니다:

  • 대상 유형: NAT 게이트웨이
  • 대상 CIDR: 0.0.0.0/0
  • 대상: WordPress-NGW

더 구체적인 경로가 없는 외부 목적지로 향하는 트래픽에 NAT 게이트웨이를 사용하도록 지정합니다. 생성한 규칙은 아래에서 확인합니다.

방금 만든 Private-RT 라우트 테이블을 클릭합니다.

라우트 테이블 선택
라우트 테이블 선택

경로 규칙 생성 버튼 클릭합니다.

경로 규칙 생성
경로 규칙 생성

상세 규칙 설정하고 “경로규칙 생성(Add Route Rules)” 클릭합니다.

  • 대상 유형: NAT 게이트웨이
  • 대상 CIDR: 0.0.0.0/0
  • 대상 NAT 게이트웨이: WordPress-NGW
경로 규칙 정보 입력
경로 규칙 정보 입력

이렇게 Private-RT라는 라우트 테이블에 만들어진 경로규칙(Route Rules)을 아래와 같이 확인할 수 있습니다.

경로 규칙 생성 확인
경로 규칙 생성 확인

D. 프라이빗 서브넷에 새 경로 적용하기

Private-RT를 프라이빗 서브넷에 연결합니다. 경로 테이블을 변경하면 해당 서브넷의 통신 경로가 달라지므로 기존 연결에 미치는 영향을 먼저 확인하세요.

1. 프라이빗 서브넷 편집 모드 열기

Private-Subnet의 상세 페이지로 이동합니다. 여기서 서브넷이 사용할 경로를 변경할 수 있습니다.

OCI 프라이빗 서브넷 상세 정보
Private-Subnet의 상세 페이지로 이동

“서브넷 편집” 버튼을 클릭하여 설정 화면으로 들어갑니다.

OCI 서브넷 편집 양식
서브넷 편집
2. 라우트 테이블 변경
라우트 테이블 변경
라우트 테이블 변경

기존 Default Route Table 대신 Private-RT를 선택합니다. NAT 경로가 적용되는 목적지와 필요한 송신 규칙이 맞는지 확인하세요.

 

서브넷과 경로 구성이 끝났다면 다음으로 각 영역의 접근 허용 규칙을 확인합니다.

4. 보안 설정 구성하기 - 블로그의 방어 체계 구축

웹 접속, 관리자 접속과 데이터베이스 접속을 구분해서 허용합니다. 보안 목록과 NSG, 서버 방화벽과 실제 서비스 수신 상태도 함께 확인해야 합니다.

A. 현재 보안 상태 확인하기

현재 구성에서는 프라이빗 서브넷과 퍼블릭 서브넷에 같은 기본 보안 설정이 적용되어 있습니다. 각 서브넷의 용도에 맞게 규칙을 검토하고 조정하세요.

현재 프라이빗 서브넷의 보안 설정:

프라이빗 서브넷에 기본 적용된 보안 목록 확인
프라이빗 서브넷에 기본 적용된 보안 목록 확인

현재 퍼블릭 서브넷의 보안 설정:

퍼블릭 서브넷에 기본 적용된 보안 목록 확인
퍼블릭 서브넷에 기본 적용된 보안 목록 확인

이제 각 구역의 특성과 목적에 맞는 맞춤형 보안 규칙을 만들어보겠습니다.

B. 퍼블릭 서브넷(워드프레스) 보안 설정

이 예시에서는 웹 서버용 보안 목록을 따로 만듭니다. 실제 환경에 적용할 때는 기존 규칙과 필요한 접속을 확인하고, 정상 통신을 검증한 뒤 기존 목록을 분리하세요.

1. 새로운 보안 목록 생성

VCN의 보안 목록 섹션으로 이동하여 새로운 보안 규칙을 만듭니다.

보안 목록 생성을 위해 VCN - 보안 목록으로 이동
보안 목록 생성을 위해 VCN - 보안 목록으로 이동

2. 보안 목록 기본 정보 설정

  • 이름: Public-Subnet-Security-List
  • 설명: 워드프레스 서버를 위한 보안 규칙
보안 목록 생성
보안 목록 생성

3. 수신 규칙 설정

이제 외부에서 들어오는 트래픽에 대한 규칙을 설정합니다. 각 규칙은 특정 목적을 위해 필요한 최소한의 접근만을 허용합니다:

a) HTTP 접속 허용 규칙:

  • 목적: 일반 웹 브라우저 접속 허용
  • 포트: 80
  • 소스: 모든 IP (0.0.0.0/0)
수신 규칙 설정 - 80 포트
수신 규칙 설정 - 80 포트

b) HTTPS 접속 허용 규칙:

  • 목적: 보안 연결 지원
  • 포트: 443
  • 소스: 모든 IP (0.0.0.0/0)
수신 규칙 설정 - 443 포트
수신 규칙 설정 - 443 포트

c) SSH 관리자 접속 규칙:

  • 목적: 서버 관리용 원격 접속
  • 포트: 22
  • 소스: 관리자 IP 주소만 허용
수신 규칙 설정 - 관리자용 SSH 포트
수신 규칙 설정 - 관리자용 SSH 포트

관리자 IP 설정 시 참고사항:

  • 현재 IP 주소는 ‘whatismyipaddress.com’과 같은 사이트에서 확인할 수 있습니다
  • 단일 IPv4 주소는 ‘/32’로 지정합니다. IPv6를 사용한다면 IPv6 주소와 해당 접두사 길이를 별도로 확인하세요.
  • 접속 원본 IP가 바뀌었다면 승인된 관리자 주소 범위와 복구 경로를 확인한 뒤 규칙을 갱신합니다.

4. 송신 규칙 설정

업데이트와 외부 서비스 연결에 필요한 송신 범위를 확인합니다. 아래의 전체 송신 허용은 예시이며 모든 운영 환경의 최소 권한 설정은 아닙니다.

워드프레스 서버가 외부와 통신할 수 있도록 다음과 같이 설정합니다:

  • 모든 외부 통신 허용 (업데이트, 플러그인 설치 등을 위해)
  • 대상 CIDR: 0.0.0.0/0
  • 소스 포트 범위: All
  • 대상 포트 범위: All
  • 설명: Allow all outbound traffic
송신 규칙 설정
송신 규칙 설정

설정이 완료되면 다음과 같은 보안 규칙 목록이 만들어집니다:

수신 규칙(들어오는 트래픽):

생성된 수신 규칙 목록
생성된 수신 규칙 목록

송신 규칙(나가는 트래픽):

생성된 수신 규칙 확인
생성된 수신 규칙 확인

C. 프라이빗 서브넷(데이터베이스) 보안 설정

데이터베이스용 보안 목록에서는 접속 원본과 포트를 제한합니다. 기본 보안 목록을 수정하면 이를 공유하는 다른 서브넷에도 영향을 줄 수 있으므로 연결 대상을 먼저 확인하세요.

1. 기존 보안 목록 수정

“Default Security List for WordPress-VCN”을 선택하여 수정을 시작합니다.

기본 보안 목록 선택
기본 보안 목록 선택

2. 기존 규칙 정리

기존 규칙을 기록하고 각 규칙의 용도를 확인합니다. 운영 중인 목록에서 모든 규칙을 먼저 지우지 말고, 필요한 연결과 복구 경로를 확보한 뒤 불필요한 규칙만 제거하세요.

수신 규칙 제거:

기존 수신 규칙 제거
기존 수신 규칙 제거

송신 규칙 제거:

기존 송신 규칙 제거
기존 송신 규칙 제거

3. 데이터베이스 접근 규칙 설정

MySQL 접속에 필요한 규칙만 추가합니다:

  • 포트: 3306 (MySQL 전용)
  • 소스: 10.0.1.0/24 (워드프레스 서버 서브넷만)
  • 프로토콜: TCP
신규 수신 규칙 추가 - MYSQL 포트
신규 수신 규칙 추가 - MySQL포트

이 설정이 허용하는 범위는 다음과 같습니다:

  • 이 수신 규칙은 10.0.1.0/24 범위에서 오는 MySQL 접속을 허용
  • 다른 보안 목록·NSG의 추가 허용과 별도 접근 경로도 함께 확인
  • 이 규칙의 허용 대상 포트는 3306

4. 데이터베이스 업데이트 규칙 설정

다음은 외부 통신을 제한하는 예시입니다. 실제 데이터베이스 서비스에 필요한 목적지·프로토콜·포트는 해당 서비스 문서와 현재 구성에서 확인해야 합니다.

송신 규칙 추가 - 443/53 포트
송신 규칙 추가 - 443/53 포트

아래 포트는 용도 예시입니다. 목적지와 TCP/UDP, 상태 저장 여부까지 지정해야 하며, 이 두 포트만으로 필요한 송신 범위나 관리형 서비스의 유지보수가 충족된다고 판단하지 마세요:

  • 포트 443: HTTPS 통신에 쓰일 수 있음; 업데이트 경로는 서비스별 확인
  • 포트 53: DNS 조회에 쓰일 수 있음; 실제 리졸버 경로와 TCP/UDP 요구 확인

D. 보안 설정 적용하기

각 서브넷에 사용할 보안 목록을 연결합니다. 적용된 목록과 NSG의 허용 규칙을 함께 검토하세요.

1. 퍼블릭 서브넷에 새 보안 규칙 적용

먼저 워드프레스 서버가 있는 공개 구역의 보안을 설정합니다:

  • VCN의 서브넷 메뉴로 이동합니다
서브넷 메뉴로 이동
서브넷 메뉴로 이동
  • Public-Subnet을 선택하고 “보안 목록 추가” 클릭
보안 목록 추가
보안 목록 추가
  • 새로 만든 보안 목록 연결하기 – Public-Subnet-Security-List 선택
새로 만든 보안 목록 연결
새로 만든 보안 목록 연결

2. 기존 보안 목록 정리

새 목록으로 필요한 접속이 유지되는지 확인한 뒤, 불필요한 기본 보안 목록(Default Security List)을 제거합니다:

퍼블릭 서브넷에서 기존 기본 보안 목록을 제거하는 화면
Public-Subnet으로 부터 기존 Default Security List 제거

3. 최종 보안 구성 확인

이렇게 하면 두 서브넷 모두 각자의 역할에 맞는 보안 설정이 완료됩니다:

  • 퍼블릭 서브넷: Public-Subnet-Security-List만 적용 (웹 서버용)
  • 프라이빗 서브넷: 수정된 Default Security List 적용 (데이터베이스용)
프라이빗 서브넷에 적용된 보안 목록 확인
Private-Subnet에 수정된 기본 보안목록이 적용되어 있는지 확인

E. 전체 보안 체계 이해하기

다음 항목은 서로 다른 역할을 합니다. 게이트웨이나 경로 설정만으로 접근 제어가 완료되는 것은 아닙니다:

1. 외부 경계 보안

  • 인터넷 게이트웨이: 공인 IP 리소스의 인터넷 연결 경로
  • NAT 게이트웨이: 내부에서 시작한 인터넷 연결과 응답 전달
  • 라우팅 규칙: 목적지별 다음 경로 지정

2. 워드프레스 서버 보안

  • HTTP/HTTPS를 통한 웹 접속만 전체 허용
  • SSH 관리자 접속은 특정 IP로 제한
  • 필요한 외부 통신(업데이트 등)은 허용

3. 데이터베이스 보안

  • 프라이빗 서브넷에서 공인 IP 할당 금지
  • 필요한 원본과 포트를 보안 규칙에서 허용
  • 인터넷 송신과 관리형 서비스의 유지보수 경로를 구분해 확인

설정 후에는 허용한 연결이 동작하는지와 불필요한 접근이 차단되는지를 각각 시험해야 합니다. 이 글의 구성만으로 실제 환경의 보안이 검증됐다고 판단하지 마세요.

다음 글은 이 구성을 바탕으로 MySQL HeatWave 데이터베이스를 설치하고 구성하는 과정입니다.

PART 4: 정리 및 다음 단계

이 글에서는 계정 등록부터 서브넷, 경로 테이블과 보안 목록까지 구성했습니다. 생성 여부뿐 아니라 연결 관계와 실제 통신 결과를 확인한 뒤 다음 단계로 진행하세요.

1. 완성된 인프라의 특징

구성한 리소스의 역할과 아직 확인할 항목을 정리합니다:

웹 서버와 데이터베이스의 서브넷을 구분했습니다. 실제 접근 범위는 공인 IP, 경로 테이블, 보안 목록·NSG와 서비스 수신 상태를 함께 확인해야 합니다.

인터넷 게이트웨이와 NAT 게이트웨이는 연결 경로를 제공하고, 보안 규칙은 패킷 허용 범위를 정합니다. 경로 설정과 접근 제어를 같은 것으로 해석하지 마세요.

2. 효율적인 운영을 위한 조언

이렇게 구축된 시스템을 잘 운영하기 위해서는 몇 가지 사항을 기억해두시면 좋습니다:

리전은 주요 방문자의 위치, 서비스 지원 범위와 가용 용량을 비교해 선택합니다. 특정 리전이 항상 가장 빠르거나 안정적이라고 단정하지 말고 홈 리전의 변경 제한도 확인하세요.

보안 관리에 있어서는 특히 SSH 접속용 IP 주소 관리에 신경 써주세요. 카페나 외부에서 작업하실 때는 해당 장소의 IP를 임시로 추가하고, 작업 후에는 다시 제거하는 것이 좋습니다. 또한 통신사의 유동 IP 사용 시에는 IP가 변경될 수 있음을 유의하시기 바랍니다.

무료 한도와 실제 사용량을 정기적으로 확인하세요. 비용 알림은 설정과 전달을 별도로 확인해야 하며, 알림만으로 과금을 막을 수는 없습니다.

3. 다음 단계 미리보기

다음 글에서는 이 네트워크 구성을 바탕으로 데이터베이스와 워드프레스 서버를 준비합니다:

  1. MySQL HeatWave 데이터베이스 구성하기
    • 데이터베이스 설치와 최적화
    • 성능 튜닝과 보안 설정
    • 백업 전략 수립
  2. Ampere A1 컴퓨트 인스턴스에 워드프레스 설치하기
    • 서버 생성과 기본 설정
    • 웹 서버 설치와 구성
    • PHP 환경 최적화
  3. 워드프레스 기본 설정과 최적화
    • 초기 설정과 테마 적용
    • 주요 플러그인 설치
    • 성능 최적화 방안
  4. 검색엔진 최적화와 마케팅 준비
    • 네이버/구글 웹마스터 도구 설정
    • 사이트맵 생성과 제출
    • 검색엔진 최적화 기본 작업

4. 마치며

설정이 예상과 다르면 먼저 리소스 이름, 연결된 경로 테이블과 보안 규칙을 확인하세요. 질문할 때는 실패 단계와 오류 내용을 남기고 계정 식별자·인증 정보는 공개하지 마세요.

다음 글에서는 MySQL HeatWave DB System의 구성 조건과 연결 방법을 다룹니다.

이 글의 설정값들은 2025년 1월 기준입니다. Oracle Cloud의 인터페이스는 계속 개선되고 있어 일부 화면이나 메뉴가 변경될 수 있습니다.

위로 스크롤