cover scaled

Building WordPress Site on Oracle Cloud – Part 1 기초 설정편

Table of Contents

블로그를 시작하고 싶은데 매월 호스팅 비용이 부담되시나요? Oracle Cloud Infrastructure(OCI)를 활용하면 평생 무료로 블로그를 운영할 수 있습니다. 이 글에서는 OCI 무료 티어를 사용해서 워드프레스 블로그를 설치하는 방법을 처음부터 끝까지 알려드리겠습니다.

PART 1: 시작하기 전에

1. OCI 무료 티어의 장점

Oracle Cloud는 다른 클라우드 서비스들과 달리 평생 무료 서비스를 제공합니다. 기업용 서비스라서 안정성도 뛰어나고, 제공되는 자원도 개인 블로그 운영에 충분합니다.

무료로 제공되는 핵심 자원:

  • 서버 공간: AMD 서버 2대 또는 ARM 서버 4대
  • 메모리: 최대 24GB
  • 저장 공간: 200GB
  • 데이터베이스: MySQL 제공
  • 데이터 전송: 매월 10TB
OCI Free Tier 계정 대시보드 메인 디스플레이
OCI Free Tier 계정 대시보드 메인 디스플레이

2. 준비물과 주의사항

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

  • 필수 준비물
    • 신용카드 (본인 인증용, 실제 결제는 없음)
    • 본인 이메일 계정
    • 약 30-40분의 시간
  • 계정 생성 시 주의사항
    • 모든 정보는 실제 본인 정보와 일치해야 합니다
    • 주소와 연락처도 정확히 입력하세요
    • 일반 신용카드 사용을 권장합니다 (가상카드/선불카드 인증 어려움)

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

워드프레스 블로그를 완성하기까지의 전체 여정은 크게 네 단계로 이루어집니다. 각 단계는 독립된 가이드로 제공되며, 이번 글에서는 첫 번째 기초 설정 단계를 다룹니다.

oci free tier wordpress blog 1%2FWordpress Setup Flow Diagram
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) 결제 정보 등록

  • “지급 검증 방법 추가” 버튼을 클릭합니다
  • 신용카드 정보를 입력합니다
  • 이는 본인 확인용으로만 사용되며, 실제 결제는 발생하지 않습니다

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
    • 외부에서 직접 접근 가능
    • 블로그 게시물, 이미지 등을 서비스하는 곳
  2. 데이터베이스 서버 (프라이빗 영역)
    • IP 대역: 10.0.2.0/24
    • 외부 접근 완전 차단
    • MySQL HeatWave 사용
    • 게시물, 댓글 등 중요 데이터 저장
  3. 네트워크 설정 (VCN)
    • 전체 IP 대역: 10.0.0.0/16
    • 우리만의 독립된 네트워크 공간
    • 마치 우리 집의 울타리같은 역할!
  4. 보안 설정
    • 인터넷 게이트웨이: 외부 접속 허용 (블로그 방문용)
    • NAT 게이트웨이: 내부 서버의 안전한 외부 접근
    • 보안 그룹: 세밀한 접근 제어 (가상 방화벽)

2. 기본 네트워크 설정

이제 워드프레스 블로그를 안전하게 운영하기 위한 네트워크 환경을 구성해보겠습니다. 마치 실제 건물을 짓는 것처럼, 기초부터 차근차근 만들어 나갈 것입니다.

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

컴파트먼트는 클라우드 자원을 체계적으로 관리하기 위한 논리적 공간입니다. 실제 사무실에서 부서별로 공간을 나누는 것과 비슷한 개념입니다.

1. 컴파트먼트 생성하기
  • OCI 콘솔 좌측 상단의 메뉴를 클릭합니다
oci free tier wordpress blog 1%2Fimage%2011
OCI 콘솔 네비게이션 메뉴
  • “Identity & Security”에서 “Compartments”를 선택합니다
  • 이는 자원 관리의 시작점이 되는 중요한 단계입니다
oci free tier wordpress blog 1%2Fimage%2012
컴파트먼트 관리로 이동
2. 새 컴파트먼트 생성
  • “Create Compartment” 버튼을 클릭합니다
  • 이 공간이 워드프레스 관련 모든 자원의 기본 저장소가 됩니다
컴파트먼트 생성
컴파트먼트 생성
3. 기본 정보 입력
  • Name: WordPress-Compartment (식별하기 쉬운 이름 사용)
  • Description: Compartment for WordPress hosting resources
  • Parent Compartment: 루트 컴파트먼트 선택
  • 이 정보들은 나중에 자원을 찾고 관리하는 데 중요합니다
컴파트먼트 정보 입력
컴파트먼트 정보 입력

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

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

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

VCN은 클라우드 내 우리만의 독립된 네트워크 공간입니다. 이는 실제 회사 건물의 네트워크 구조와 유사하며, 보안과 효율적인 자원 관리를 위한 기초가 됩니다.

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 주소를 사용할 수 있는 공간을 만듭니다)
  • 다른 설정은 기본값을 유지합니다
oci free tier wordpress blog 1%2Fimage%2018
VCN 생성

VCN이 잘 생성되었다면 목록에서 ‘WordPress-VCN’이 보일 거예요. 이제 우리만의 네트워크 공간이 생겼습니다! 🎉

oci free tier wordpress blog 1%2Fimage%2019
VCN 생성 결과 확인

VCN이 생성되면 자동으로 몇 가지 기본 구성 요소가 함께 만들어집니다. 이는 마치 건물을 지을 때 기본적인 설비가 함께 설치되는 것과 같습니다:

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

CIDR 블록

  • 우리 네트워크에서 사용할 수 있는 IP 주소의 범위를 정의합니다
  • 10.0.0.0/16은 약 65,000개의 IP 주소를 제공합니다
  • 이는 블로그 운영에 충분한 크기입니다
VCN CIDR Blocks
VCN CIDR Blocks

💡 CIDR… 뭔가 어려워 보이시죠? 아파트 동호수처럼 생각하시면 됩니다!

CIDR(예: 10.0.0.0/16)는 우리가 만들 네트워크의 주소 범위를 정하는 거예요. 마치 “아파트 단지 전체” 이런 식으로 범위를 정하는 것처럼요!

예를 들어:

  • 10.0.0.0/16 은 “한 단지 전체”
  • 10.0.1.0/24 는 “그 중 1동”
  • 10.0.2.0/24 는 “그 중 2동”

이렇게 생각하시면 이해하기 쉬우실 거예요 😊

경로 테이블 (Route Table)

  • 네트워크 트래픽의 이정표 역할을 합니다
  • 처음에는 비어있지만, 나중에 필요한 규칙을 추가할 것입니다
  • 마치 건물의 안내도처럼 트래픽이 어디로 가야 할지 알려줍니다
VCN CIDR Blocks
VCN 기본 경로 테이블

보안 목록 (Security List)

  • 네트워크 트래픽의 출입을 관리하는 규칙들입니다
  • 마치 건물의 보안 시스템처럼 작동합니다
  • 어떤 트래픽을 허용하고 차단할지 정의합니다
VCN Default Security List
VCN Default Security List

C. 서브넷 구성하기

서브넷 구성은 네트워크 보안의 기초가 되는 중요한 단계입니다. 우리는 두 개의 서로 다른 특성을 가진 공간을 만들 것입니다. 이는 마치 건물에서 방문객용 로비와 보안구역을 분리하는 것과 같은 개념입니다.

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

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

1. 퍼블릭 서브넷 생성 시작
  • WordPress-VCN의 세부 정보 페이지로 이동합니다
  • “서브넷” 메뉴를 선택하고 “서브넷 생성” 버튼을 클릭합니다
oci free tier wordpress blog 1%2Fimage%2025
Create Subnet
2. 퍼블릭 서브넷 설정

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

  • 이름: Public-Subnet (용도를 명확히 알 수 있는 이름)
  • CIDR 블록: 10.0.1.0/24 (약 250개의 IP 주소 공간)
  • 서브넷 유형: Regional (안정성을 위한 기본 설정)
  • 서브넷 액세스: 공용 서브넷 (외부 접근 허용)
oci free tier wordpress blog 1%2Fimage%2026
Subnet Configuration Details
프라이빗 서브넷(Private Subnet) 만들기

다음은 데이터베이스가 위치할 보안 구역을 만들어보겠습니다. 이 공간은 외부에서 직접 접근할 수 없으며, 오직 워드프레스 서버만 접근할 수 있습니다.

1. 프라이빗 서브넷 생성

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

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

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

  • 이름: Private-Subnet
  • CIDR 블록: 10.0.2.0/24
  • 서브넷 유형: Regional
  • 서브넷 액세스: 전용 서브넷 (외부 접근 차단)
서브넷 정보 입력
서브넷 정보 입력

이 설정이 중요한 이유는:

  • 데이터베이스를 외부 위협으로부터 보호합니다
  • 허가된 내부 통신만 허용합니다
  • 보안과 성능의 균형을 제공합니다
서브넷 구성 확인

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

oci free tier wordpress blog 1%2Fimage%2029
서브넷 구성 확인

이제 기본적인 네트워크 구조가 완성되었습니다. 다음 단계에서는 이 네트워크가 외부 인터넷과 안전하게 통신할 수 있도록 게이트웨이를 설정하겠습니다.

3. 네트워크 통신 설정

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

지금까지 우리는 네트워크의 기본 구조를 만들었습니다. 이제는 이 네트워크가 외부 인터넷과 안전하게 통신할 수 있도록 관문을 만들 차례입니다. 인터넷 게이트웨이는 마치 건물의 정문과 같은 역할을 합니다. 방문자들이 드나들 수 있으면서도, 보안을 유지할 수 있는 통로가 되는 것이죠.

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

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

  • 외부 방문자들이 우리 블로그에 접속할 수 있게 해줍니다
  • 워드프레스가 업데이트나 플러그인을 다운로드할 수 있게 합니다
  • 들어오고 나가는 모든 트래픽을 모니터링하고 관리합니다
인터넷 게이트웨이 생성하기
1. 인터넷 게이트웨이 생성 시작
  • VCN 화면에서 왼쪽 메뉴의 “인터넷 게이트웨이” 클릭
  • 이전에 만든 VCN 내에서 작업하는지 확인합니다
oci free tier wordpress blog 1%2Fimage%2030
인터넷 게이트웨이 생성
2. 기본 정보 설정
  • 이름: WordPress-IGW
  • 컴파트먼트: WordPress-Compartment 이름에 IGW를 포함시키면 나중에 리소스를 쉽게 식별할 수 있습니다.
oci free tier wordpress blog 1%2Fimage%2031
인터넷 게이트웨이 이름 지정정
트래픽 경로 설정하기 (라우트 테이블 구성)

게이트웨이를 만든 후에는, 네트워크 트래픽이 이 게이트웨이를 통해 흐르도록 경로를 설정해야 합니다. 이는 마치 건물 내 안내 표지판을 설치하는 것과 같습니다.

1. 라우트 테이블 찾기
  • “Default Route Table for WordPress-VCN”으로 이동합니다
  • 이 테이블은 네트워크 트래픽의 이정표 역할을 합니다
oci free tier wordpress blog 1%2Fimage%2032
디폴트 라우트 테이블 선택
2. 새로운 경로 규칙 추가
  • “경로 규칙 추가” 버튼을 클릭합니다
  • 이 규칙들은 트래픽이 어디로 가야 할지 알려주는 지침이 됩니다
oci free tier wordpress blog 1%2Fimage%2033
새 규칙 추가
3. 경로 규칙 설정
  1. 다음 정보를 입력합니다:
    • 대상 유형: 인터넷 게이트웨이
    • 대상 CIDR: 0.0.0.0/0 (모든 외부 트래픽을 의미)
    • 타겟: WordPress-IGW

이 설정은 “외부로 가는 모든 트래픽은 이 게이트웨이를 통과하세요”라고 알려주는 것입니다.

oci free tier wordpress blog 1%2Fimage%2034
경로 규칙 설정

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

oci free tier wordpress blog 1%2Fimage%2035
경로 규칙 설정 확인
왜 이 설정이 중요한가요?

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

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

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

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

프라이빗 서브넷에 있는 데이터베이스도 보안 업데이트나 패치를 다운로드해야 할 때가 있습니다. 하지만 직접적인 인터넷 연결은 보안상 위험할 수 있죠. 이런 상황에서 NAT 게이트웨이가 필요합니다.

NAT 게이트웨이란?

NAT(Network Address Translation) 게이트웨이는 마치 비서와 같은 역할을 합니다. 데이터베이스가 필요한 자료를 요청하면, NAT 게이트웨이가 대신 인터넷에 접속하여 자료를 가져옵니다. 이렇게 하면 데이터베이스는 직접 외부에 노출되지 않으면서도 필요한 업데이트를 받을 수 있습니다.

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

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

oci free tier wordpress blog 1%2Fimage%2038 new
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 free tier wordpress blog 1%2Fimage%2045
Private-Subnet의 상세 페이지로 이동

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

oci free tier wordpress blog 1%2Fimage%2046
서브넷 편집
2. 라우트 테이블 변경
라우트 테이블 변경
라우트 테이블 변경

기존의 Default Route Table 대신 방금 만든 Private-RT를 선택합니다. 이제 프라이빗 서브넷의 모든 외부 통신은 NAT 게이트웨이를 통해 이루어지게 됩니다.

 

여기까지 오시느라 수고 많으셨어요! 이제 기본적인 네트워크 구조가 완성되었습니다. 다음으로 각 구역의 세부적인 보안 규칙을 설정하여 더욱 안전한 환경을 만들어보겠습니다.

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

지금까지 우리는 블로그의 기본 구조를 만들었습니다. 이제는 이 구조를 안전하게 보호할 보안 시스템을 구축할 차례입니다. 실제 건물로 비유하자면, 지금부터는 출입 통제 시스템, CCTV, 보안 요원 배치 등과 같은 보안 체계를 설정하는 것입니다.

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’과 같은 사이트에서 확인할 수 있습니다
  • IP 주소 뒤에 ‘/32’를 붙여 정확히 해당 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포트

이 설정의 의미는 매우 중요합니다:

  • 데이터베이스는 워드프레스 서버에서만 접근 가능
  • 외부에서의 직접 접근은 완전히 차단
  • 허용된 접근도 MySQL 포트로만 제한

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

데이터베이스 서버가 보안 업데이트를 받을 수 있도록 제한된 외부 통신을 허용합니다:

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

이 규칙들은 다음과 같은 최소한의 외부 통신만 허용합니다:

  • 포트 443: 보안 업데이트 다운로드용
  • 포트 53: DNS 조회용

D. 보안 설정 적용하기

이제 우리가 만든 보안 규칙을 각 서브넷에 실제로 적용해봅시다. 이 과정은 마치 건물의 각 구역에 맞춤형 보안 시스템을 설치하는 것과 같습니다.

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

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

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

2. 기존 보안 목록 정리

이제 더 이상 필요하지 않은 기본 보안 목록(Default Security List)을 제거합니다:

oci free tier wordpress blog 1%2Fimage%2068
Public-Subnet으로 부터 기존 Default Security List 제거

3. 최종 보안 구성 확인

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

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

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

우리가 구축한 보안 시스템은 여러 층의 방어 체계를 가지고 있습니다:

1. 외부 경계 보안

  • 인터넷 게이트웨이가 모든 외부 트래픽을 통제
  • NAT 게이트웨이가 내부 시스템의 안전한 외부 통신 보장
  • 라우팅 규칙이 트래픽의 올바른 경로 보장

2. 워드프레스 서버 보안

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

3. 데이터베이스 보안

  • 직접적인 외부 접근 완전 차단
  • 워드프레스 서버에서만 접근 가능
  • 업데이트는 NAT 게이트웨이를 통해서만 가능

이러한 다층적 보안 체계를 통해 우리의 워드프레스 블로그는 일반 방문자들에게는 편리한 접근성을, 시스템에는 강력한 보안을 제공할 수 있게 되었습니다.

다음 글에서는 이렇게 구축된 기반 위에 MySQL HeatWave 데이터베이스를 설치하고 구성하는 방법을 알아보겠습니다.

PART 4: 정리 및 다음 단계

축하드립니다! 여러분은 방금 전문가 수준의 워드프레스 호스팅 환경을 위한 기초 공사를 완료하셨습니다. 이제 우리가 만든 시스템의 의미와 앞으로의 계획을 정리해보겠습니다.

1. 완성된 인프라의 특징

우리가 구축한 시스템은 상업용 호스팅 서비스에 뒤지지 않는 전문적인 구성을 갖추고 있습니다. 각 요소들이 어떤 역할을 하는지 다시 한번 살펴보면:

네트워크 구조면에서는, 마치 잘 설계된 건물처럼 공개 구역과 보안 구역이 명확히 구분되어 있습니다. 워드프레스가 위치할 퍼블릭 서브넷은 방문자들이 쉽게 접근할 수 있으면서도, 중요한 데이터를 보관하는 프라이빗 서브넷은 철저히 보호됩니다.

보안 측면에서는 여러 겹의 방어 체계를 구축했습니다. 인터넷 게이트웨이가 외부 접근을 통제하고, NAT 게이트웨이는 내부 시스템의 안전한 업데이트를 보장하며, 세부적인 보안 규칙들이 각 구역의 접근을 엄격히 관리합니다.

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

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

우선, 지역 선택은 매우 중요합니다. 한국 사용자들을 위한 블로그라면 서울 리전이 가장 좋은 선택이 될 것입니다. 다만 상황에 따라 일본 리전도 좋은 대안이 될 수 있습니다. 춘천 리전은 아직 검증이 필요한 단계입니다.

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

비용 관리도 중요합니다. 프리티어의 한도를 잘 숙지하시고, 정기적으로 사용량을 모니터링하시기 바랍니다. 필요하다면 알림을 설정해두시면 예상치 못한 비용 발생을 방지할 수 있습니다.

3. 다음 단계 미리보기

앞으로의 여정은 더욱 흥미진진합니다. 다음 글들에서는 이렇게 만든 기반 위에 실제 서비스를 구축하는 방법을 알아보겠습니다:

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

4. 마치며

여기까지 긴 여정을 함께 해주셔서 감사합니다. 처음에는 복잡해 보였던 과정들이 하나씩 진행하다 보니 그리 어렵지 않았죠? 혹시 중간에 막히는 부분이 있으시다면 언제든 댓글로 질문해 주세요. 다른 분들도 같은 어려움을 겪을 수 있으니, 여러분의 질문이 모두에게 도움이 될 수 있습니다.

다음 글에서는 MySQL HeatWave 데이터베이스 설정으로 찾아뵙겠습니다. 여러분의 멋진 블로그 제작을 응원합니다!

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

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다