본문 바로가기

재테크

AWS 클라우드 프론트(CF)와 Hugo로 저렴한 개인블로그 운영하기.

반응형

2026.03.30일 업데이트

------------------------------

이전 제목을 보고 찾아오신 분들도 호~~~옥시 계실 것 같아 한 4~5개월 운영했던 기록을 공유드립니다.

참고로 이 포스트 작성일은 2025년 10월 23일 이었습니다!

1. 운영 결과

결과는 처참합니다. 아래 기술적으로는 재미있게 설치하여 운영을 했으나.

구글서치콘솔에서 컨텐츠를 받아주지를 않았습니다.

이전에 운영하던 티스토리 블로그는 티스토리라는 백그라운드 때문인지 제 수준의 글도 무난하게 인덱싱이되고 구글에서 검색이 되어서 가장 큰 인입 채널이었으나!

아래 제가 운영하는 블로그는 돈을 목적으로 처음에 MLB 경기결과를 요약해서(AI 도움으로) 글을 올렸는데 한 2-3일 있다가 검색결과에서 사라진 이후 어떤 글을 올려서 인덱싱은 했으나 검색결과에 노출은 하지않는 상태로 계속 머물렀습니다.

나름 정성들여 직접 쓴글을 포함해서 20건 이상의 포스트가 올라갔으나 결과는 요지부동! ㅎㅎ

그래서 지난주에 접었습니다!

2. AWS 운영 결과

인입이 적으니 비용도 적었겠지만 결론은 도메인 비용외 AWS 비용은 나오지 않았습니다.

인보이스에 0.01usd가 표시되긴 했지만 무료 범위라 그런지 비용청구는 없었으니 참고하세요.

다만 아래 방식으로 정적 페이지를 운영하는 것은 분명 유의미한 결과로 보이니 필요하시면 참고하시면 좋겠습니다!

 

3. 앞으로는?

hugo로 로컬에서 글을 빌드하니 저같이 여기저기서 글쓰는데는 불편함이 좀 있습니다.

git으로 형상관리를 해도 이미지 올리거나 할 때  md에 익숙치 않아서인지 손이 많이가서

일단 전 티스토리로 돌아갑니다~!

------------------------------

 

 

친구가 이야기해준 블로그 수익으로 돈버는 이야기에 훅~ 꽂혔습니다 ㅎㅎ.

내용을 보니 결국 광고가 목적인 이야기 같기는 하지만 정말 수익을 낼 수 있지 않을까 하는 생각에 공감이 가는데다.

뭔가 새로운걸 만들어보고 싶었는데 안쓰던 이런 저런 것들을 사용해보니 재미가 있어 좋았습니다 ;-)

 

우선 제가 본 영상은 아래 입니다.

이 영상을 추천하기 위한 내용은 아니니 참고만하세요.

워드프레스 언급을 많이 하는데,,, 아마도 꽤 오래전부터 블로그 자체 운영을 위한 유명한  플랫폼(?)이기도 하고 가장 적절하게 강좌 같은 것을 적용하기 좋기 때문으로 보입니다.

 

하지만 내맘대로 광고나 자유도를 위해서는 자체 운영이 의미가 있기 때문에 저도 티스토리나 네이버 블로그가 아닌 자체 운영을 목표로 시작해보겠습니다.

 

일단 상세 내용까지 모두 다루려면 글이 아주 길어질 것 같아 어느정도 IT 경험이 있으신 분이 참고할 수 있는 수준으로 작성하겠습니다.

혹!! 상세 설명이 필요한 부분이 있으시면 댓글 주시면 꼭 추가로 다루겠습니다. ;-)

 

https://www.youtube.com/watch?v=yLTuGRhex_Q

쉽게 돈 벌 수 있다는 영상 혹은 광고?

 

 

우선 저는 워드프레스가 아닌 휴고(hugo)를 사용하는 것으로 정했습니다.

워드프레스는 서버에서 돌아가는 어플리케이션이라 어플리케이션을 돌릴 수 있는 서버 즉 WAS(Web Application Server)가 필요합니다. EC2 같은 AWS Cloud 환경에서 가장 저렴한 녀석으로 하면 최초 1년정도는 무료로 운영도 가능하지만 여튼 비용 부담이 있습니다.

이에 반해 hugo는 내 pc에서 블로그 글들을 미리 정적인 파일로(html등) 생성하여 배포하기 때문에 어플리케이션 서버는 불필요하고 정적인 파일만으로 운영이 가능합니다.

그리고 정적 파일이니 동적으로 운영되는 것보다 더 빠르다는 장점과

지금 가지는 가장 큰 장점은 WAS 대비 정적인 파일은 운영비용이 훨씬 저렴하는 것에 있습니다.

저는 AWS에서 돌려볼 생각이니 S3와 CloudFront를 이용해서 운영을 해볼 예정이고 이 방법은 서버 운영에 비해 아주 저렴합니다.

 

아래는 대략적인 비교 입니다.

비용 항목 워드프레스 (EC2 기반) Hugo (S3 + CloudFront 기반)
호스팅 방식 동적 웹 호스팅 (서버 유지 필요) 정적 웹 호스팅 (파일 저장 및 CDN 사용)
월 1만 건 노출 시 예상 비용 월 $5 ~ $20+ (EC2 인스턴스 사양 및 트래픽에 따라 다름) 월 $0.50 미만 ~ $5 (거의 무료인 경우 많음)
✅ 필수 주요 비용 EC2 인스턴스 비용 (24시간 가동) S3 저장 비용 (파일 용량)
➕ 추가 비용 요소 EBS(저장소), 데이터 전송(트래픽), RDS(데이터베이스) CloudFront 데이터 전송(CDN), S3 요청 수
비용 구조의 특징 서버 가동 시간에 비례하여 비용 발생 데이터 용량 및 전송량에 비례하여 비용 발생
초기 비용 보통 없음 (세팅 비용 발생 가능) 보통 없음

 

예상으로 월 30만명씩이나!!! 사이트를 방문해주신다고 가정하면 Hugo 기반 정적 호스팅을 하면 3,4만원 정도 나올수 있지않을까 예상됩니다. 뭐,,, 정말 그정도가 된다면 아마 광고수익으로 충분히 커버가능할 테고 필요하다면 그 때 이전을 다시 고려해보고 일단 hugo 기반으로 가겠습니다.

 

필요한 것들을 다음과 같습니다.

구분 서비스/도구 설치/가입 필요 여부 간단한 설명 및 용도
블로그
구축


Hugo 설치 필요 Markdown 파일을 정적 HTML 사이트로 변환해주는 정적 사이트 생성기입니다.
Git 설치 필요 소스 코드 버전 관리를 위해 사용하며, 배포(예: GitHub, GitLab)와도 연동됩니다.
Go 설치 필요 Hugo가 작동하는 기반 언어 및 런타임 환경입니다. Hugo의 모듈 기능을 사용하기 위해 필요합니다.
핵심 AWS
서비스
Amazon S3 가입 및 설정 필요 (AWS 계정) Hugo가 생성한 모든 정적 파일을 저장하는 원본 저장소(Origin) 역할을 합니다.
CloudFront 설정 필요 (AWS 계정) S3에 저장된 파일을 전 세계에 캐싱하여 전송 속도를 높이고 HTTPS를 적용하는 CDN 서비스입니다.
AWS ACM (Certificate Manager) 설정 필요 (AWS 계정) CloudFront를 통해 HTTPS를 적용하기 위한 SSL/TLS 인증서를 무료로 발급 및 관리합니다. (버지니아 북부 리전)
운영 도구 개인 도메인 구매 필요 블로그에 접속할 때 사용할 고유한 인터넷 주소입니다. (도메인 등록 대행업체 이용)
  AWS CLI (선택 사항) 설치 필요 로컬에서 Hugo 빌드 후, S3로 파일을 업로드하고 CloudFront 캐시를 무효화(Invalidation)하는 과정을 자동화하는 데 유용합니다.

 

개인이 호스팅을 한다면 도메인은 필수로 보입니다.

제가 검색한 바로는 아래 사이트가 kr 도메인은 가장 저렴했으니 참고하세요.

xxxxx.kr 도메인의 경우 1년에 10,700원 입니다. (다년으로 해도 동일 가격이니 참고)

 

https://www.yesnic.com/

 

예스닉

대한민국 최초 ICANN 인증 최상위도메인 등록기관 예스닉

www.yesnic.com

 

 

 

자 이제 순서대로 진행하겠습니다.

1. Hugo 설치

hugo는 아래 사이트에서 설치하시면 됩니다.

https://gohugo.io/installation/

 

Installation

Install Hugo on macOS, Linux, Windows, BSD, and on any machine that can run the Go compiler tool chain.

gohugo.io

 

위에 표에서 설명이 있지만 다시 설명하면 md(markdown) 문법으로 글을 작성하면 이녀석이 빌드하면 정적 웹 서버에서 가장 운영하기 좋은 형태로 배포본을 만들어주는 서비스로 이해하시면 됩니다.

배포본을 만드는 과정에서 이미지를 조정하는등 최적화 하는 과정이나 태그나 카테고리 별로 묶어주거나 하는 등의 작업을 편하게 해주는 도구 입니다.

 

2. Git 설치

우리는 S3 를 사용할 것이기는 하지만 hugo에서도 터미널 호환성 때문에 git bash를 추천하기도 하고 내부적으로 변경이력을 관리하면 좋아서 git도 설치가 필요합니다.

https://git-scm.com/install/windows

 

Git - Install for Windows

Click here to download the latest (2.51.1) x64 version of Git for Windows. This is the most recent maintained build. It was released on 2025-10-17. Other Git for Windows downloads Standalone Installer Git for Windows/x64 Setup. Git for Windows/ARM64 Setup.

git-scm.com

 

3. Go Runtime 설치

hugo는 Go 언어로 만들어진 제품이라 hugo 사용을 위해서는 필수입니다.

https://go.dev/

 

The Go Programming Language

DevOps & Site Reliability With fast build times, lean syntax, an automatic formatter and doc generator, Go is built to support both DevOps and SRE.

go.dev

 

 

 

3. AWS 가입 및 서비스 설정

운영을 위한 핵심 인프라를 AWS로 하기로 했으니 AWS 가입은 필수입니다.

사용하게 될 서비스는 S3, CloudFront, ACM 세가지 입니다. 위에도 설명이 있지만

S3는 실제 파일을 저장할 클라우드상의 저장공간이고 CloudFront는 S3 앞단에서 캐싱을 하거나 전세계 각지의 AWS 인프라를 활용해서 접근성을 높이는 도구로 보시면되고 무료로 https를 적용하게 하기 위해서 필요한 서비스 입니다. 만약 https가 없어도 된다면 S3 에서도 웹을 통한 접근을 할 수 있긴하지만 https가 요즘은 필수이니 필요한 서비스 입니다.

ACM은 인증서 발급서비스 입니다.

 

aws cli는 윈도우에서 커맨드로 AWS를 이용할 수 있도록 해주는 서비스라고 보시면 됩니다.

예를 들어 독자분이 hugo 를 이용해서 배포본을 만들었다고 하면 aws cli를 사용하지 않는다면 웹으로 AWS 콘솔에 접속해서 파일을 드래그 앤드롭으로 직접 올리셔야 하지만 aws cli를 이용하면 git bash화면에서 명령어 한줄로 샤라락~ 올릴 수 있습니다.

이후로 배포과정을 자동화 하려면 꼭 필요하기도 하고 평소에도 위 설명처럼 훨~ 씬 편리하니 설치가 필요합니다.

 

준비가 되었다면 이제 단계별로 진행 과정을 살펴보겠습니다.

 

1단계: Hugo 사이트 준비 및 S3 버킷 생성 (동일)

세부 작업 설명
1-1. Hugo 사이트 생성 및 설정 터미널에서 Hugo 프로젝트 생성, 테마 설치 및 config.toml 설정 (hugo new site my-hugo-blog)
1-2. 콘텐츠 작성 content/posts/ 폴더에 Markdown 파일 작성 (hugo new posts/my-first-post.md)
1-3. 사이트 빌드 정적 파일 생성 (hugo --minify), 결과물은 public/ 폴더에 저장됩니다.
1-4. S3 버킷 생성 AWS S3 콘솔에서 도메인과 동일한 이름(예: myblog.com)으로 버킷 생성. '퍼블릭 액세스 차단'은 유지합니다.

2단계: HTTPS를 위한 SSL 인증서 발급 및 검증 (ACM & 외부 DNS)

세부 작업 설명
2-1. ACM 접속 (버지니아 북부) AWS Certificate Manager 콘솔에 접속하여 **리전을 '미국 동부(버지니아 북부)'**로 설정합니다.
2-2. 인증서 요청 및 CNAME 확인 퍼블릭 인증서를 요청하고, 사용할 도메인(예: myblog.com 및 www.myblog.com)을 입력합니다. DNS 검증을 선택하고, ACM이 제시하는 **CNAME 레코드 값(이름과 값)**을 복사합니다.
2-3. 외부 DNS에 CNAME 등록 ⭐ 도메인 제공 업체의 DNS 관리 페이지에 접속하여, ACM에서 복사한 CNAME 레코드를 직접 추가합니다.
2-4. 인증서 상태 확인 약 5분~수 시간 후, ACM 콘솔에서 인증서 상태가 **'발급됨'**으로 변경되는 것을 확인합니다.

3단계: CloudFront 배포 생성 및 S3 연결 (동일)

세부 작업 설명
3-1. 배포 생성 및 원본 지정 CloudFront 콘솔에서 새 배포를 생성하고, 원본 도메인에 S3 버킷 이름을 선택합니다.
3-2. OAC 설정 및 S3 정책 업데이트 **OAC(Origin Access Control)**를 생성 및 적용하고, CloudFront가 제시하는 버킷 정책을 복사하여 S3 버킷의 권한 탭에 붙여넣습니다.
3-3. 뷰어 프로토콜 설정 뷰어 프로토콜 정책을 **Redirect HTTP to HTTPS**로 설정합니다.
3-4. 도메인 및 인증서 연결 **대체 도메인 이름(CNAME)**에 개인 도메인(예: myblog.com)을 입력하고, 사용자 정의 SSL 인증서에 2단계에서 발급받은 인증서를 연결합니다.
3-5. 기본 루트 객체 설정 **index.html**을 입력합니다.

4단계: 개인 도메인(외부 DNS) 연결 ⭐

세부 작업 설명
4-1. 배포 도메인 확인 CloudFront 배포가 완료되면, 해당 배포의 도메인 이름 (예: d1234abcd.cloudfront.net)을 복사합니다.
4-2. 외부 DNS에 레코드 등록 도메인 제공 업체의 DNS 관리 페이지에 접속하여, 다음 두 가지 레코드를 추가합니다. 1. 루트 도메인 연결 (myblog.com): - 유형: A 또는 CNAME (업체 정책에 따라 다름) - 호스트: @ 또는 비워 둠 (루트 도메인을 의미) - 값: CloudFront 배포 도메인(d1234abcd.cloudfront.net)을 입력합니다. (단, 업체가 CNAME Flattening을 지원해야 A 레코드로 등록 가능. CNAME을 권장합니다.) 2. WWW 서브 도메인 연결 (www.myblog.com): - 유형: CNAME - 호스트: www - 값: CloudFront 배포 도메인(d1234abcd.cloudfront.net)을 입력합니다.

5단계: 배포 및 유지보수 (동일)

세부 작업 설명
5-1. S3 파일 업로드 Hugo 빌드 결과인 public/ 폴더의 모든 파일을 S3 버킷의 루트에 업로드합니다. (권장) AWS CLI를 이용해 변경 파일만 동기화: aws s3 sync public/ s3://myblog.com --delete
5-2. CloudFront 무효화 CloudFront 캐시를 초기화(/* 경로로 무효화)하여 새 콘텐츠가 즉시 사용자에게 전달되도록 합니다.
5-3. 최종 확인 개인 도메인(예: https://myblog.com)으로 접속하여 블로그 로드 및 HTTPS 적용을 확인합니다.

 

저도 어느정도 지식이 있다고 생각하고 시작했지만 준비하는데 하루는 꼬빡 걸린 것 같습니다.

보시는 분들의 수익에 조금이라도 도움이 되면 기쁘겠습니다 ;-)

설명이 더 필요한 부분은 언제든 알려주세요.

 

감사합니다.

 

반응형