Univ Admissions
추천전형

OCI Free Tier로 워드프레스 블로그 만들기 - (1) 기초 설정편

안녕하세요, 여러분!
요즘 블로그 하나 만들려고 해도 매달 나가는 호스팅 비용이 만만치 않으시죠? 저도 똑같은 고민을 하다가 Oracle Cloud(OCI)의 평생 무료 티어를 발견하게 되었어요. 놀랍게도 기업용 클라우드 서비스인 OCI에서 블로그 운영에 충분한 사양을 무료로 제공하고 있더라고요!
제가 실제로 구축하면서 알게 된 내용을 여러분과 공유하고자 합니다. 특히 AWS나 GCP와 달리 한글 자료가 부족한 OCI, 처음 접하시는 분들을 위해 최대한 자세히 설명해드릴게요.

OCI Free Tier, 뭐가 좋은가요?

다른 클라우드 서비스와 달리 OCI의 무료 티어는 평생 무료예요! 신용카드 등록은 필요하지만, 프리티어 한도 내에서는 요금이 전혀 발생하지 않습니다.(음… 아주 100%는 아니에요… 경우에 따라 약간의 비용이 추가 될 수는 있지만 무시하셔도 좋을 정도에요 ^^)
제공되는 주요 리소스를 보면:
AMD 기반 서버 2대
ARM 기반 서버 4대 (총 4OCPU와 24GB 메모리 한도 내)
저장 공간 200GB
무료 데이터베이스(MySQL)
매달 10TB 데이터 전송량
블로그 운영하시기에 충분한 사양이죠?
OCI Free Tier 계정 대시보드 메인 디스플레이

시작하기 전에 알아두세요

1.
준비물
신용카드 (확인용으로만 사용되며 요금은 청구되지 않아요)
본인 명의의 이메일 계정
약 30-40분의 여유 시간
2.
주의사항
계정 생성 시 입력하는 정보는 실제 본인 정보와 일치해야 해요
집 주소나 휴대폰 번호도 정확히 입력해주세요
가상 카드나 선불카드는 인증이 안 될 수 있어요

단계별 설정 과정

1. OCI 계정 생성하기

이 글을 보시는 여러분들께선 이미 OCI Free Tier 계정을 이미 만들었다고 가정하고 있습니다만, 혹시라도 아직 무료 계정을 가지고 있지 않다면 다음에서 설명 드리는 각 단계를 주의 깊게 따라해 주세요.
1.
OCI Free Tier 등록 페이지(https://www.oracle.com/cloud/free/) 방문
2.
"Start for free" 버튼 클릭
OCI Free Tier 계정 생성 링크 - Start for free
3.
필요한 정보 입력: 팁: 비밀번호 관리자를 사용하여 안전하고 유니크한 비밀번호를 생성하고 저장하는 것이 좋습니다.
이메일 주소: 실제 사용 중인 이메일 주소를 입력하세요 (예: datainhands@example.com)
국가/지역: 대한민국
이름: 실명을 정확히 입력하세요
4.
이메일 인증 진행 주의: 스팸 폴더도 확인해 보세요. 인증 메일이 도착하지 않았다면 몇 분 기다렸다가 재전송을 요청하세요.
입력한 이메일 주소로 인증 메일이 발송됩니다. 메일함을 확인하고 인증 링크를 클릭하세요.
5.
클라우드 계정 이름 설정:
유니크한 이름을 선택하세요 (예: example0000-cloud)
이 이름은 나중에 변경할 수 없으니 신중히 선택하세요
6.
홈 리전 선택:
한국에서 사용한다면 '서울' 리전을 선택하는 것이 좋습니다
다른 리전을 선택할 수도 있지만, 네트워크 지연이 발생할 수 있습니다
홈 리전을 선택 할 때에는 신중하셔야 합니다. 이 단계 이후 부터는 홈 영역을 변경 할 수 없습니다.
7.
이용약관 검토 및 동의
8.
"계속" 버튼 클릭
주의사항: 입력한 모든 정보는 정확해야 합니다. 부정확한 정보는 계정 생성에 문제를 일으킬 수 있으며, 나중에 계정 검증 과정에서 어려움을 겪을 수 있습니다.
9.
추가 정보 입력: 팁: 가상 신용카드나 선불카드 사용은 피하세요. Oracle은 실제 신용카드로 신원을 확인합니다.
주소 및 전화번호: 정확한 정보를 입력하세요
“지급 검증 방법 추가” 버튼을 클릭해서 신용카드 정보를 입력하는 단계로 들어 갑니다.
그 다음 “검증 방법 하단에 표시된 “Credit Card” 버튼을 클릭하고 이후 표시되는 창에서 본인 소유의 신용카드 정보를 입력 하고 검증하는 절차를 완료 합니다. (요금은 청구되지 않으며, 신원 확인용으로만 사용됩니다)
검증이 완료되면 아래와 같이 확인창이 표시되므로 Close 버튼을 클릭해서 창을 닫고 이전 창으로 되돌아 갑니다.
“내 무료 체험판 시작하기”를 클릭하여 완료 합니다.
이제부턴 오라클이 계정 만드는 작업을 진행하게 되고요, 이후 계정이 만들어 졌다는 확인 이메일을 받게 됩니다. 이 이메일에 포함된 “Sign In” 버튼을 클릭해서 로그인 할 수 있습니다.

2. 워드프레스 호스팅 아키텍처 살펴보기

자, 이제 본격적으로 시스템 구성에 대해 알아볼 텐데요. 걱정 마세요! 복잡해 보여도 하나씩 살펴보면 생각보다 어렵지 않답니다.
전체 구성도
단일 노드 워드프레스 호스팅 아키텍쳐
우리가 만들 시스템은 위 그림처럼 심플한 구조예요. 개인 블로그나 소규모 웹사이트 운영하시기에 딱 좋은 구성이죠!
참고: 나중에 블로그가 대박나서 방문자가 폭증하면 더 복잡한 구성으로 업그레이드할 수 있어요. 하지만 시작은 심플하게!
우리가 만들 시스템의 핵심 구성요소
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 게이트웨이: 내부 서버의 안전한 외부 접근
보안 그룹: 세밀한 접근 제어 (가상 방화벽)
실제 구성 시 알아둘 점
저는 춘천(South Korea North) 리전을 선택했어요
IP 주소들이 좀 복잡해 보이시죠? 걱정마세요! 나중에 설정할 때 하나하나 안내해드릴게요
보안은 처음부터 꼼꼼하게 신경 쓸 거예요. 블로그에 소중한 글도 많이 쓰실 텐데, 안전하게 지켜야죠!
자, 이제 전체 구성이 어떤지 감이 좀 오시나요? 이런 구조로 만들면 우리의 블로그가: 안전하게 보호되고 빠르게 접속되며 나중에 방문자가 많아져도 걱정 없어요!
그럼 이제 하나씩 만들어볼까요? 첫 단계로 컴파트먼트(Compartment) 생성부터 시작해보겠습니다!
OCI에서 리소스를 효율적으로 관리하고 격리하기 위해서는 컴파트먼트를 생성하는 것이 좋습니다. 이를 활용하면 관련 리소스를 그룹화하고 액세스를 제어하는 데 도움이 됩니다.

3. 컴파트먼트(Compartment) 생성

첫 단계로 컴파트먼트를 만들어볼 건데요, 이건 쉽게 말해서 우리가 만들 자원들을 담아둘 디지털 서랍이라고 생각하시면 됩니다!
여러분, 이제 본격적으로 Hands-on을 시작해볼까요?
컴파트먼트를 구성하려면 이렇게 진행 합니다!
1.
OCI 콘솔에 로그인합니다.
2.
좌측 상단의 햄버거 메뉴를 클릭하고 "Identity & Security" > "Compartments"로 이동합니다.
네비게이션 메뉴 클릭
Identity & Security - Compartments 클릭
3.
"Create Compartment" 버튼을 클릭합니다.
‘Create Compartment’ 클릭
4.
다음 정보를 입력합니다:
Name: WordPress-Compartment (원하는 이름을 사용하세요)
Description: Compartment for WordPress hosting resources
Parent Compartment: 루트 compartment를 선택합니다 (일반적으로 테넌시 이름)
5.
"Create Compartment" 버튼을 클릭합니다.
컴파트먼트 생성
컴파트먼트 생성 결과 화면

4. 우리만의 가상 네트워크(VCN) 만들기

이제 워드프레스를 위한 네트워크를 만들 차례예요! VCN(Virtual Cloud Network)이라고 하면 어려워 보이시죠? 쉽게 설명드릴게요.
VCN이 뭔가요?
VCN은 클라우드 안에 만드는 우리만의 작은 인터넷이라고 생각하시면 됩니다. 마치 아파트를 분양받아 우리 가족만의 공간을 꾸미는 것처럼, 클라우드에서 우리만의 독립된 네트워크 공간을 만드는 거예요!
VCN 만들기 순서
자, 이제 하나씩 따라해보세요:
a.
메뉴 찾아가기
왼쪽 위 메뉴(☰) 클릭
네비게이션 메뉴 클릭
"네트워킹(Networking)" 선택
"가상 클라우드 네트워크(Virtual cloud networks)" 클릭
네트워킹 - 가상 클라우드 네트워크(Virtual cloud networks) 클릭
b.
기본 설정 확인
WordPress-Compartment가 선택되어 있는지 꼭 확인하세요!
다른 컴파트먼트를 선택하면 나중에 찾기 어려울 수 있어요
c.
VCN 생성하기
"VCN 생성" 버튼 클릭
WordPress-Compartment 선택 - Create VCN 클릭
d.
세부 정보 입력하기
이름: WordPress-VCN 컴파트먼트: WordPress-Compartment CIDR 블록: 10.0.0.0/16
Plain Text
복사
e.
완료하기
"VCN 생성" 버튼 클릭하면 끝!
VCN Name & CIDR block 지정 - VCN 생성 클릭
CIDR... 뭔가 어려워 보이시죠? 아파트 동호수처럼 생각하시면 됩니다!
CIDR(예: 10.0.0.0/16)는 우리가 만들 네트워크의 주소 범위를 정하는 거예요. 마치 "아파트 단지 전체" 이런 식으로 범위를 정하는 것처럼요!
예를 들어:
10.0.0.0/16 은 "한 단지 전체"
10.0.1.0/24 는 "그 중 1동"
10.0.2.0/24 는 "그 중 2동"
이렇게 생각하시면 이해하기 쉬우실 거예요
주의할 점
컴파트먼트 선택 잘 확인하기
CIDR 블록 숫자 정확히 입력하기
이름은 나중에 찾기 쉽게 'WordPress-VCN'으로 통일하기
확인하기
VCN이 잘 생성되었다면 목록에서 'WordPress-VCN'이 보일 거예요. 이제 우리만의 네트워크 공간이 생겼습니다!
VCN 생성 결과 확인
참고!
이렇게 나만의 네트워크인 VCN을 하나 만들면 그 안에 기본적으로 따라서 만들어지는 것들이 있어요. 한번 살펴 볼까요?
VCN 생성으로 따라서 만들어지는 구성요소
CIDR 블록
내가 사용 할 수 있는 내부 IP 주소는 약 65,000개 정도 랍니다!
경로 테이블(Route Table)이 하나 - Default Route Table for WordPress-VCN라는 이름으로 기본 경로 테이블이 만들어 졌어요. 아래 그림에서 보이듯, 어디로 가라고 하는 규칙은 아직 설정되지 않았어요! 규칙은 나중에 추가 할 거에요.
보안 목록 - 기본 보안 목록도 하나 만들어졌어요! 이 보안 목록은 외부로 나가는 것과 외부로부터 들어오는 트래픽의 규칙을 정의하는 거랍니다. 나중에 상세하게 설정 할께요!
그리고 DHCP 옵션
다음 단계에서는 이 네트워크 안에 실제 워드프레스가 사용할 공간(서브넷)을 만들어볼게요.
알아두세요: VCN은 한 번 만들어두면 쉽게 바꾸기 어려워요. 그래서 처음부터 신중하게 설정하는 게 좋답니다!

5. 서브넷 만들기 - 우리 워드프레스의 안방과 보안실

이제 VCN이라는 우리만의 아파트가 생겼으니, 그 안에 방을 만들 차례예요! 여기서는 두 개의 방이 필요한데요, 하나는 손님(방문자)을 맞이할 수 있는 공개된 공간(Public Subnet), 다른 하나는 중요한 데이터를 보관할 나만의 공간(Private Subnet)이에요.
공개 공간(공용 서브넷, Public Subnet) 만들기
여기는 우리 블로그 방문자들이 직접 접속하는 공간이에요!
1.
들어가기
a.
방금 만든 WordPress-VCN을 클릭
b.
VCN 메인 화면에서 "서브넷" 메뉴 클릭
c.
"서브넷 생성" 버튼 누르기
서브넷 만들기 시작
2.
설정하기
이름: Public-Subnet 컴파트먼트: WordPress-Compartment 서브넷 유형: Regional (기본값 그대로 두세요!) CIDR 블록: 10.0.1.0/24 경로 테이블: Default Route Table for WordPress-VCN 서브넷 액세스: 공용 서브넷 (Public Subnet)
Plain Text
복사
Public Subnet 상세 항목 정의
"서브넷 생성" 버튼을 클릭합니다.
Tip: 공용 서브넷은 방문자들이 블로그에 접속할 수 있게 해주는 공간이에요.
비밀 공간 (전용 서브넷, Private Subnet) 만들기
이곳은 데이터베이스가 있는 보안구역이에요. 외부에서는 접근 못하게 할 거예요!
1.
다시 한번 서브넷 생성
같은 방법으로 "서브넷 생성" 버튼을 클릭합니다.
서브넷 생성 클릭
2.
설정하기
이름: Private-Subnet 컴파트먼트: WordPress-Compartment 서브넷 유형: Regional CIDR 블록: 10.0.2.0/24 경로 테이블: Default Route Table for WordPress-VCN 서브넷 액세스: 전용 서브넷 (Private Subnet)
Plain Text
복사
"서브넷 생성" 버튼을 클릭합니다.
Private Subnet 상세 항목 정의
보안 Tip: Private Subnet은 외부에서 절대 접근할 수 없어요. 우리의 소중한 데이터를 지키는 금고같은 공간이죠!
이로써 VCN이 만들어지고 Public Subnet과 Private Subnet이 만들어 졌습니다. 이제부터는 Internet Gateway를 만들도록 하겠습니다.
확인하기
두 개의 서브넷이 모두 생성되었다면:
Public-Subnet (외부 접속 가능)
Private-Subnet (외부 접속 불가)
이렇게 목록에 표시될 거예요.
Public/Private Subnet 생성 결과 확인
다음 단계는?
이제 기본 공간은 다 만들었어요! 다음은 이 공간들을 인터넷과 연결하는 관문(Internet Gateway)을 만들 차례입니다.
잠깐!: 설정값들이 조금 복잡해 보이시죠? 걱정마세요! 위의 값들을 그대로 복사해서 입력하시면 됩니다. CIDR 블록 숫자만 특히 주의해서 입력해주세요!

6. 인터넷 게이트웨이 만들기 - 우리 블로그의 정문

자, 이제 우리 블로그의 정문을 만들 차례예요! 인터넷 게이트웨이는 쉽게 말해서 우리 VCN과 인터넷을 연결해주는 출입구예요. 마치 아파트 정문처럼, 방문자들이 드나들 수 있는 통로를 만드는 거죠!
외부 손님(인터넷)이 들어올 수 있는 출입구
우리가 외부(인터넷)로 나갈 수 있는 통로
출입 기록도 남기고, 보안도 체크하는 똑똑한 정문!
실제 예시로 보면:
워드프레스 블로그에 방문자가 접속할 때 → 이 정문으로 들어와요
워드프레스가 업데이트를 다운로드 할 때 → 이 정문으로 나가요
마치 아파트 경비실에서 방문객을 체크하고 주민들의 출입을 관리하는 것처럼, 인터넷 게이트웨이는 우리 네트워크의 출입을 관리해 준답니다!
인터넷 게이트웨이 만들기
1.
위치 찾아가기
VCN 화면에서 왼쪽 메뉴의 "인터넷 게이트웨이(Internet Gateways)" 클릭
인터넷게이트웨이 생성 클릭
WordPress-Compartment가 선택되어 있는지 꼭 확인!
2.
게이트웨이 생성하기
이름: WordPress-IGW 컴파트먼트: WordPress-Compartment
Plain Text
복사
인터넷게이트웨이 이름 입력
"인터넷 게이트웨이 생성" 버튼을 클릭합니다.
Tip: 이름에 IGW를 넣어두면 나중에 찾기 쉬워요!
길 안내 표지판 세우기 (라우트 테이블 설정)
이제 게이트웨이는 만들었지만, 아직 어디로 가야하는지 알려주는 이정표를 세워 줄 필요가 있어요!
라우트 규칙(Route Rules)은 우리 네트워크의 교통 표지판이에요!
네트워크에서 데이터가 어디로 가야 할지 알려주는 이정표라고 생각하시면 됩니다. 예를 들어:
"인터넷으로 가려면 인터넷 게이트웨이로 가세요"
"데이터베이스로 가려면 이쪽 길로 가세요"
마치 네비게이션처럼 데이터 패킷이 가야 할 길을 안내해주는 거죠!
1.
라우트 테이블 찾기
"Default Route Table for WordPress-VCN"으로 이동
Route Tables - Default Route Table으로 이동
"경로 규칙(Route Tules) 추가" 버튼 클릭
Route Rule 추가 버튼 클릭
2.
규칙 설정하기
대상 유형(Target Type): 인터넷 게이트웨이 (Internet Gateway) 대상 CIDR: 0.0.0.0/0 타겟: WordPress-IGW (방금 만든 게이트웨이)
Plain Text
복사
설명: 0.0.0.0/0는 "어디로든 갈 수 있어요"라는 의미예요!
"경로 규칙 추가" 버튼을 클릭하여 완료합니다.
라우트 규칙(Route Rule) 정의 화면
Route Rule 생성 결과 확인
완료 후에는...
이제 우리 블로그가 인터넷과 연결됐어요!
방문자들이 블로그에 접속할 수 있게 됐고
워드프레스도 필요한 업데이트를 받을 수 있어요
만약 아파트 정문(인터넷 게이트웨이)은 있는데 이 길안내표지판이 없으면 어떻게 될까요?
결과적으로:
방문자가 들어올 수는 있지만 어디로 가야할지 모르게되요!
우리 블로그에서 인터넷으로 나가지도 못해요
즉, 정문은 있지만 아무도 제대로 된 출입을 할 수 없는 상태가 되는 거에요!
그래서 꼭 인터넷 게이트웨이를 만들고 라우트 규칙도 설정해야 해요
주의할 점
게이트웨이 설정은 한 번만 하면 돼요
라우트 규칙 추가할 때 CIDR 블록 숫자 정확히 입력하기
설정 후에는 꼭 연결 테스트 해보기
다음은 뭘 하나요?
다음은 NAT 게이트웨이를 만들 거예요. 이건 Private Subnet에 있는 데이터베이스가 안전하게 업데이트를 받을 수 있게 해주는 특별한 통로랍니다!

7. NAT 게이트웨이 만들기 - 데이터베이스의 안전한 출구

이번에는 NAT 게이트웨이를 만들어볼 거예요. NAT 게이트웨이는 조금 특별한 친구인데요, Private Subnet에 있는 데이터베이스가 보안을 유지하면서도 필요한 업데이트는 받을 수 있도록 해주는 특별한 통로랍니다!
NAT 게이트웨이 만들기
VCN 메인 화면 → "NAT 게이트웨이" 클릭
"NAT 게이트웨이 생성" 버튼 클릭
NAT 게이트웨이 생성 클릭
이름: WordPress-NGW 컴파트먼트: WordPress-Compartment
Plain Text
복사
이름을 입력하고 (예: WordPress-NGW) "생성" 버튼을 클릭합니다.
NAT 게이트웨이 상세 정의
NAT 게이트웨이 생성 결과 확인
Tip: NGW는 NAT Gateway의 약자예요. 이름을 통일하면 나중에 찾기 쉽답니다!
안전한 길 만들기 (라우트 테이블 설정)
라우트 테이블은 네트워크의 종합 안내도예요!
아파트로 비유하면:
1층 로비에 있는 전체 안내도
"주차장은 지하 1층, 관리사무소는 1층, 놀이터는 뒤편" 처럼
모든 이정표(라우트 규칙)를 한곳에 모아둔 것
즉, 우리 네트워크에서 "어디로 가려면 어디로 가세요~"라는 모든 안내 정보를 담고 있는 곳이에요!
이 라우트 테이블은 모든 네트워크 통신에 필요해요.
주요 설정 대상:
인터넷 게이트웨이 (외부 인터넷 통신용)
NAT 게이트웨이 (프라이빗 서브넷용)
서브넷 간 통신
VCN 내부 통신
마치 아파트의 각 구역마다 안내도가 필요한 것처럼, 네트워크의 모든 주요 지점에 라우트 테이블이 필요합니다!
따라서, Internet Gateway를 설정하면서 다루었던 Route Table과는 별개로, NAT Gateway 설정 할 때에도 새로운 라우트 테이블이 필요해요. 그 이유는:
1.
기존 라우트 테이블
인터넷 게이트웨이용
Public Subnet의 외부 통신 담당
2.
새로운 라우트 테이블 필요
NAT 게이트웨이 전용
Private Subnet의 안전한 외부 통신용
데이터베이스 서버의 업데이트 등 필요
즉, 용도가 다르기 때문에 각각 별도의 라우트 테이블이 필요합니다!
이번 섹션에서 만들 라우트 테이블은 NAT Gateway용으로 사용 될 거랍니다!
1.
새로운 라우트 테이블 만들기
이름: Private-RT 컴파트먼트: WordPress-Compartment
Plain Text
복사
VCN 세부 정보 페이지에서 "라우트 테이블 생성"을 클릭합니다.
NAT 게이트웨이를 위한 신규 라우트 테이블 생성
"라우트 테이블 추가" 버튼을 클릭합니다.
Route Rule 추가 버튼 클릭
2.
경로 규칙(Route Rule) 설정하기
방금 만든 Private-RT 라우트 테이블을 클릭
경로 규칙 생성 버튼 클릭
상세 규칙 설정하고 “경로규칙 생성(Add Route Rules)” 클릭
대상 유형: NAT 게이트웨이 대상 CIDR: 0.0.0.0/0 대상 NAT 게이트웨이: WordPress-NGW
Plain Text
복사
이렇게 Private-RT라는 라우트 테이블에 만들어진 경로규칙(Route Rules)을 아래와 같이 확인 해 볼 수 있답니다.
Private Subnet과 연결하기
1.
Private Subnet 찾아가기
a.
Private-Subnet 상세 페이지로 이동
프라이빗 서브넷(Private Subnet)으로 이동
b.
"서브넷 편집" 버튼 클릭
프라이빗 서브넷(Private Subnet) 편집 모드 열기
2.
라우트 테이블 변경하기
a.
기존 Default Route Table 대신 새로 만든 Private-RT 선택
b.
"변경사항 저장" 클릭
기존 Default Route Table for WordPress-VCN을 방금 생성한 Private-RT RouteTable로 변경
이해하기: 이 설정은 "데이터베이스야, 인터넷에 갈 때는 꼭 이 길로 다녀!"라고 알려주는 거예요.
설정 완료! 이제 우리는...
데이터베이스가 안전하게 업데이트 받을 수 있어요
외부에서는 직접 접근 불가능해요
보안은 지키면서 필요한 작업은 가능해요!
여기까지 오시느라 수고 많으셨어요!
이제 기본적인 네트워크 구성이 거의 다 끝났어요. 다음은 보안 설정으로 우리의 워드프레스를 더욱 안전하게 만들어볼게요!

8. 보안 설정하기 - 우리 블로그의 방범 시스템

이제 가장 중요한 보안 설정을 할 차례예요. 마치 우리 집에 현관문 잠금장치와 CCTV를 설치하는 것처럼, 블로그에도 꼼꼼한 보안 설정이 필요하답니다!
현재 상황 체크하기
지금은 Public Subnet(워드프레스)과 Private Subnet(데이터베이스)에 같은 보안 설정이 되어있어요. 한번 보실래요?
프라이빗 서브넷에 기본 적용된 보안 목록 확인
퍼블릭 서브넷에 기본 적용된 보안 목록 확인
이제 각각의 서브넷의 특성에 맞도록 다르게 설정해 볼께요!
워드프레스 서버(Public Subnet)의 보안 목록 설정
퍼블릭 서브넷에는 기본으로 적용된 보안 목록 대신 새롭게 보안 목록을 만들고 이것을 사용하도록 할 거에요.
1.
새로운 보안 목록 만들기
a.
"보안 목록 생성" 버튼을 클릭합니다.
보안 목록 생성을 위해 VCN - 보안 목록으로 이동
b.
이름을 "Public-Subnet-Security-List"로 지정합니다.
이름: Public-Subnet-Security-List 컴파트먼트: WordPress-Compartment
Plain Text
복사
새 보안목록 생성 화면
2.
들어오는 트래픽(Ingress) 규칙 설정
다음 수신(Ingress) 규칙을 추가합니다:
a.
HTTP 규칙:
소스 유형: CIDR
소스 CIDR: 0.0.0.0/0
IP 프로토콜: TCP
소스 포트 범위: All (기본값)
대상 포트 범위: 80
설명: Allow inbound HTTP traffic
Ingress Rule - HTTP
쉽게 말하면:
"누구든지(0.0.0.0/0) 우리 워드프레스 블로그(포트 80)에 접속할 수 있게 해주세요"
마치 카페에서 "누구나 들어올 수 있음" 표지판을 붙여두는 것과 같아요!
b.
HTTPS 규칙:
소스 유형: CIDR
소스 CIDR: 0.0.0.0/0
IP 프로토콜: TCP
소스 포트 범위: All (기본값)
대상 포트 범위: 443
설명: Allow inbound HTTPS traffic
Ingress Rule - HTTPS
"누구나 우리 블로그에 보안 접속(HTTPS)이 가능해요"
HTTP(80)와 비슷하지만, 암호화된 안전한 통신을 사용
로그인이나 개인정보가 오가는 페이지에 꼭 필요해요!
참고: 요즘은 대부분의 웹사이트가 HTTPS를 기본으로 사용해요.
c.
SSH 규칙:
소스 유형: CIDR
소스 CIDR: <Your_IP_Address>/32
IP 프로토콜: TCP
소스 포트 범위: All (기본값)
대상 포트 범위: 22
설명: Allow SSH access from admin IP
Ingress Rule - SSH / 접근 가능 IP 최소화
"지정된 관리자 IP에서만 서버 관리 접속이 가능해요"
/32는 "딱 이 IP만!"이라는 의미
마치 건물 관리실에 관리자 카드키만 출입 가능한 것과 같아요
IP Protocol 선택 할 때에는 TCP를 선택해야 합니다. SSH는 TCP를 기반으로 동작하는 프로토콜이에요. OCI 보안 목록 설정에서는 기본 전송 프로토콜인 TCP를 선택하고, 포트 22(SSH용 포트)를 지정하는 방식으로 SSH 접속을 설정합니다.
참고: 프로토콜 선택에서 SSH라는 옵션이 보이더라도, TCP를 선택하는 것이 표준이래요!
보안 팁: SSH는 서버 관리용이라 특정 IP만 허용하는 게 안전해요!
SSH는 꼭 본인 IP만 허용하세요. 카페나 다른 곳에서 작업하실 때는 그때그때 IP를 추가하시면 됩니다!
여기서 잠깐! 내 컴퓨터의 IP를 알아내는 방법 다들 알고 계시죠?
https://whatismyipaddress.com/ 이런 사이트를 활용하면 편하 답니다!
3.
나가는 트래픽(Egress) 규칙
모든 방향으로 자유롭게 나갈 수 있게, 모든 아웃바운드 트래픽을 허용합니다:
대상 CIDR: 0.0.0.0/0
소스 포트 범위: All
대상 포트 범위: All
설명: Allow all outbound traffic
퍼블릭 서브넷을 위한 Egress Rule
4.
Ingress Ruls과 Egress Rule 설정이 완료되면 화면 아래 “보안 목록 생성(Create Security List)를 클릭
5.
아래는 생성된 Public-Subnet-Security-List 보안 목록의 내용입니다.
퍼블릭 서브넷을 위한 보안 목록 생성 결과 - Ingress Rule
퍼블릭 서브넷을 위한 보안 목록 생성 결과 - Egress Rule
데이터베이스(Private Subnet)에 사용될 보안 목록 설정
Private Subnet은 데이터베이스 서버를 호스팅하며, 직접적인 외부 접근을 차단해야 합니다. 이런 요건에 맞도록 새로운 보안 목록을 만들기 보다는 기존 보안 목록을 재활용하는 차원에서 수정해 보도록 할께요!
1.
기존 보안 목록 수정하기
들어오는 트래픽: - MySQL 포트(3306)만 허용 - 워드프레스 서버 IP대역(10.0.1.0/24)에서만 접속 가능 나가는 트래픽: - 업데이트 등을 위한 기본적인 외부 연결만 허용
Plain Text
복사
Public Subnet을 위한 보안 목록은 새로 만들었었는데요, 이번에는 이미 만들어져 있던 기본 보안 목록인 "Default Security List for WordPress-VCN"를 재활용 하기로 합니다. 우선, 이 보안 목록에 설정된 Ingress/Egress 규칙을 제거합니다.
a.
"Default Security List for WordPress-VCN" 선택
b.
Ingress Rule 제거
c.
Egress Rule 제거
d.
새로운 "Ingress 규칙 추가" 합니다: MySQL (3306 포트) 규칙:
소스 유형: CIDR
소스 CIDR: 10.0.1.0/24 (Public Subnet의 CIDR)
IP 프로토콜: TCP
대상 포트 범위: 3306
설명: Allow MySQL access from WordPress server
"워드프레스가 있는 Public Subnet에서만 데이터베이스 접속 가능"
외부에서는 절대 접근 불가능
마치 은행 금고에 지정된 직원만 들어갈 수 있는 것처럼!
보안 중요: 데이터베이스는 워드프레스 서버에서만 접근할 수 있도록 제한하는 게 안전해요!
e.
Egress 규칙 추가 버튼을 클릭하여 다음 규칙을 추가 합니다.
위 설정은 Private Subnet의 보안 목록으로 최소 권한의 원칙을 따르기 위한 설정이에요.
Private Subnet의 데이터베이스가 필요로 하는 최소한의 외부 통신만 허용하게 되요:
포트 443: 보안 업데이트용
포트 53: DNS 조회용
보안 측면에서는 안전해요, 왜냐하면:
특정 포트만 개방하고
NAT 게이트웨이를 통해서만 외부 통신을 하기 때문이죠.
직접적인 인터넷 접속은 불가능해요.
여기서 잠깐!
NAT(Network Address Translation) 게이트웨이가 안전한 이유는요:
1.
단방향 통신만 허용
Private Subnet에서 외부로 나가는 통신만 가능해요
외부에서 직접 Private Subnet으로 들어오는 통신은 불가능해요
2.
IP 주소 변환
Private Subnet의 내부 IP를 외부에 노출하지 않아요
마치 사설 우편함을 통해 택배를 받는 것처럼, 실제 주소는 숨겨 줘요
3.
중앙 통제
모든 외부 통신이 NAT를 통과하므로 모니터링/제어가 용이 하대요
보안 정책 일괄 적용이 가능해요
쉽게 말해, NAT는 Private Subnet의 '안전한 대리인' 역할을 하는 거예요!
f.
"변경사항 저장" 버튼을 클릭합니다.
g.
다음은 보안 목록 변경 결과입니다.
소스 포트(Source Port): 트래픽이 시작되는 포트입니다. 대부분의 경우 임의의 포트이므로 보안 규칙에서는 보통 지정하지 않습니다.
대상 포트(Destination Port): 트래픽이 도달하는 포트입니다. 특정 서비스(예: HTTP, HTTPS, SSH)에 해당하는 포트를 지정합니다
보안 설정 실제로 적용하기
자, 이제 우리가 만든 보안 목록을 실제로 적용해 볼께요!
Public Subnet에 새로 만들어진 보안 목록 적용하기
1.
VCN 메인 화면에서 "서브넷" 메뉴로 이동해주세요
2.
Public-Subnet을 클릭하고 "보안 목록 추가" 버튼을 눌러주세요
Public-Subnet에 보안 목록 추가
3.
새 보안 목록 연결하기
선택할 항목: Public-Subnet-Security-List
Plain Text
복사
잠깐!: 이 단계에서는 잠시 두 개의 보안 목록이 같이 표시될 거예요. 걱정마세요, 곧 정리할 거예요!
4.
기존 보안 목록 정리하기
이제 Default Security List는 필요없으니 제거해주세요
Public-Subnet으로 부터 기존 Default Security List 제거
5.
최종 확인하기
Public Subnet에는 'Public-Subnet-Security-List'만 남아있어야 해요
Private Subnet은 생성 시 자동으로 'Default Security List'가 할당되어 있어요. 이미 이 보안 목록의 규칙을 MySQL 전용으로 수정했죠! 혹시 모르니 이 수정된 'Default Security List'가 그대로 적용되어 있는지 확인해주세요
Private-Subnet에 기존 보안목록이 적용되어 있는지 확인
Tip: Private Subnet의 경우 추가 보안 목록은 필요 없어요. 이미 수정한 Default Security List로 충분합니다!
Tip: 마치 이사할 때 새 도어락은 설치하고 옛날 도어락은 제거하는 것처럼, 새 보안 설정을 적용하고 옛날 설정은 깔끔하게 정리하는 거예요!
이렇게 하면 두 서브넷 모두 각자의 역할에 맞는 보안 설정이 완료됩니다:
Public Subnet → Public-Subnet-Security-List (웹 서버용)
Private Subnet → Modified Default Security List (데이터베이스용)
꼭 기억하세요!
HTTP(80)와 HTTPS(443)는 모든 방문자가 접속할 수 있어야 해요
SSH는 관리자 IP에서만 접속 가능하게 설정하세요
데이터베이스는 워드프레스 서버에서만 접속할 수 있어요
설정 변경 후에는 꼭 테스트해보세요!
보안 설정 완료!
이렇게 하면 우리 블로그는:
일반 방문자는 편하게 접속
관리는 안전하게
데이터베이스는 철통보안
추가 팁: 나중에 트래픽이 많아지면 웹 방화벽(WAF)도 고려해보세요. 지금은 이 정도로 충분해요!  
자, 이제 기본적인 보안 설정이 완료됐습니다.

 보안 관리와 앞으로의 계획

여기까지 오시느라 정말 수고 많으셨어요! 이제 기본적인 설정은 모두 끝났는데요, 앞으로 블로그를 안전하게 운영하기 위한 꿀팁들을 정리해드릴게요!

블로그 보안 체크리스트

1.
트래픽 관리하기
Public Subnet: - 외부로 나가는 트래픽은 자유롭게 - 워드프레스 업데이트도 필요하니까요! Private Subnet: - 꼭 필요한 트래픽만 허용 - 데이터베이스 업데이트 정도만 있으면 충분해요
Plain Text
복사
2.
정기적인 보안 점검
매월 1일: 보안 규칙 검토하기
매주 1회: 트래픽 로그 확인하기
수상한 접속 시도는 없었는지 체크!
3.
최소 권한 원칙 지키기
"필요한 것만, 필요한 만큼만!"
사용하지 않는 포트는 꼭 닫아두기
관리자 접속은 집이나 회사 IP로만!
4.
업데이트 관리
WordPress: 매월 확인
MySQL: 보안 패치 주시하기
운영체제: 자동 업데이트 설정

앞으로 해야 할 일

다음 글에서는 더 실전적인 내용을 다룰 거예요:
네이버/구글 검색엔진 등록하기

실전 운영 팁!

1.
지역 선택 현명하게 하기
한국 사용자라면 서울 리전 강추!
일본 리전도 속도 괜찮아요
춘천은 아직 좀 지켜봐야 할 듯해요
2.
보안 관리 꿀팁
IP 주소 자주 확인하기 (특히 카페에서 작업할 때!)
통신사 유동IP 주의하기
중요한 작업은 믿을 수 있는 네트워크에서!
3.
비용 관리 똑똑하게
사용량 알림 설정해두기
매주 사용량 체크하기
프리티어 한도 숙지하기

도움이 필요하시다면

막히는 부분이 있으시면 언제든 댓글 남겨주세요! 다른 분들도 같은 어려움이 있을 수 있으니, 여러분의 질문이 모두에게 도움이 될 거예요
마지막으로! 여기까지 긴 여정을 함께 해주셔서 감사합니다. 다음 글에서는 더 실전적인 내용으로 찾아뵐게요! 여러분의 멋진 블로그 제작을 응원합니다!
PS: 이 글의 설정값들은 2024년 11월 기준입니다. UI가 조금씩 바뀔 수 있으니 참고해주세요!
다음 편에서 이어 갈께요~