
기술블로그를 운영하면서 늘 고민이 있었다. 네이버 블로그는 코드 가독성이 떨어지고 구글 검색(SEO)에 불리했고, 티스토리는 최근 자체 광고 이슈로 수익성과 자율성이 떨어졌기 때문이다. 그래서 결국 결단을 내렸다 구글 검색도 유리하면서 자율성이 보장된 블로그를 운영하기로..
결국.. 그동안 숫하게 들어만 봤던 워드프레스로 갈아타기로 했다. 그리고 드디어 AWS Lightsail과 Route53을 이용하여 워드프레스 블로그를 구축했다. 나와 같이 워드프레스를 구축하기로 결심한 분들에게 이 포스팅이 도움이 되기를 바란다.
구축에 필요한 요소
AWS 환경에서 워드프레스 서버를 구축하기 위해서는 다음과 같은 요소가 필요하다.
- AWS Lightsail 인스턴스
- 호스트할 도메인 (어떤 나만의 도메인을 사용할지 미리 정해두자)
- Route53 DNS 등록
AWS Lightsail 인스턴스 생성
워드프레스 구축에 가장 첫번째로 할일은 AWS Lightsail로 인스턴스를 생성하는 것이다.
AWS Lightsail은 미리 필요한 패키지를 구축해 둔 올인원 패키지형 EC2라고 생각하면 쉬울 것 같다.
AWS Lightsail은 워드프레스 인스턴스를 제공하기 때문에 정말 쉽게 구축할 수 있다.
우선 가장 먼저 해야 할 것은 뭐? … 바로 AWS 로그인이다. ㅎㅎ
AWS 로그인 후 lightsail로 검색하면 손쉽게 lightsail 페이지로 들어갈 수 있다.
Lightsail 페이지에서 좌측 메뉴에 Instances 메뉴로 들어가서 ‘Create Instance’를 클릭한다.
디폴트 Instance 위치는 Virginia 리전으로 설정되어 있는데 ‘Change AWS Region and Availability Zone’을 선택하여 Seoul 리전으로 변경할 수 있다.

그 외에 다음 항목을 선택한다.
- Select a blueprint: Apps + OS, WordPress
- Select a Size: 가격을 설정한다. 우선 처음에는 월 $5 달러 플랜으로 시작하는 것이 좋다. 처음 구축하는 거라 트래픽량도 거의 없을뿐더러 낮은 플랜에서 높은 플랜으로 변경할 수는있지만 높은 플랜에서 낮은 플랜으로 가는것은 어렵다. (낮은 플랜부터 시작해서 점차 높은 플랜으로 변경하는 방향으로 하는 것을 강력하게 추천한다.)
- Instance name: 인스턴스 이름 (ex. My WordPress)
- 나머지는 모두 기본값 그대로 사용하면 된다.
Select a bluepring에서 WordPress
–> 가장 하단에 있는 Create Instance를 선택하면 인스턴스가 생성된다.
static IP (고정 아이피) 생성
내가 구축한 워드프레스를 외부에 서비스하기 위해서는 고정된 공인아피이가 필요하다.
좌측 메뉴에서 Networing을 선택하여 Create static IP를 선택한다.
static IP 생성 페이지에서 가장 먼저 리전을 변경한다.

Identify your static IP: static IP를 식별하기 위한 유니크한 이름을 입력한다. (ex. <도메인명> static IP)
Create 버튼을 선택하면 static IP를 생성한다. 이 때 생성된 static IP를 어딘가에 기록해 두는 것이 좋다.
Route53에서 도메인 만들기
호스팅 하고자 하는 도메인을 생성하는 시간이다. 우선 도메인 호스팅을 위해서 Route53을 선택한 이유는 관리의 통일성이 가장 컸다. 또한 가격 측면에서 보면 호스팅케이알 이나 가비아가 조금 더 유리할 수 있지만 년 단위의 가격으로 봤을 때 가격차이가 그렇게 크다고 생각하지 않았다. (몇 천원 차이?)
참고로 .com(년 15$), .net(년 17$) 도메인 가격이 착하다. 아쉽게도 .kr, .dev 와 같은 도메인은 지원하지 않는다. 그냥 .com 으로 하는 것이 무난할 것 같다.
아래 링크는 AWS에서 지원하는 도메인 등록 가격표다.
도메인 생성
이제 도메인을 만들어 보자.
AWS 관리 콘솔에서 Route53을 검색하여 페이지로 들어가면 좌측에 도메인 > 등록된 도메인 페이지로 들어간다. 우측 상단에 도메인 등록 버튼을 선택하여 도메인을 등록한다.

등록하고자 하는 도메인을 입력 후 검색을 누르면 현재 사용중인 도메인인지 여부를 검색결과에 표시해 준다. 이미 사용되고 있는 도메인이라면 제안된 사용 가능한 도메인 항목에 사용가능한 도메인을 추천해 준다. 추천한 도메인을 선택하여 사용하거나 다른 도메인을 입력하여 다시 검사를 수행해도 좋다.
최종적으로 사용할 도메인을 선택한 후 결제 진행 으로 결제를 진행한다.
절차대로 진행을 하면 되는데 중간에 입력하는 연락처 정보 페이지에서 가장 마지막에 있는 개인 정보 보호 항목을 반드시 체크 상태로 해야 한다. (디폴트로 체크 되어 있다. 건들지 말자)

도메인 DNS 등록
도메인을 만들었다면 이제 DNS를 구성할 차례다.
좌측 메뉴에서 호스팅 영역으로 들어가자. 호스팅 영역 생성 버튼을 선택한다.
도메인 이름에는 앞에서 생성한 도메인 이름을 입력한다. 나머지는 그대로 둔 채 호스팅 영역 생성 버튼을 선택한다.
호스팅 영역 페이지에 보면 방금 생성한 호스팅 영역이 보일 것이다. 클릭하면 호스팅 영역 세부 정보 페이지로 진입하는데 여기서 A 레코드를 2개 생성할 것이다.
앞에서 생성한 도메인을 dev-post.com 이라고 해보자.
- dev-post.com
- www.dev-post.com

dev-post.com에 대한 A레코드를 등록할 때는 레코드 이름 부분을 빈 공란으로 두면 된다.
값 항목에는 Lightsail 인스턴스 생성 항목에서 생성했던 static IP를 입력한다.
정상적으로 등록이 되면 Lightsail의 Domains & DNS 페이지에 보면 Registered domains로 등록되어 있을 것이다.

Lightsail 인스턴스 내에서 작업해야 할 것
이제 Lightsail 인스턴스 내부로 들어갈 시간이다.
Lightsail 설정 페이지에서 Instances 메뉴로 들어가면 처음에 생성한 Lightsail 인스턴스가 보일 것이다.

콘솔창 내부에서 다음 작업을 수행한다.
http 스키마를 https 스키마로 변경
기본적으로 처음 Lightsail 워드프레스 인스턴스를 생성하면 http 스키마도 동작하도록 되어 있는데 이를 https로 변경해 주는 작업이 필요하다.
sudo vi /opt/bitnami/wordpress/wp-config.php위 경로의 파일을 열어 다음과 같이 수정한다. (생성한 도메인은 dev-post.com이라고 가정한다.)
# 아래 두 라인을 주석처리 한다.
# define( 'WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/' );
# define( 'WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/' );
# 아래 코드를 define( 'WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/' ); 아래에 추가.
define('WP_HOME', 'https://dev-post.com');
define('WP_SITEURL', 'https://dev-post.com');
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}위 코드에서 https://dev-post.com 이 부분은 여러분이 등록한 도메인을 입력해야 한다.
(https://<생성한도메인>)
저장 후 apache를 재시작 한다.
sudo /opt/bitnami/ctlscript.sh restart apache인증서 갱신
Lightsail 인스턴스의 SSL 인증서를 새로 등록한 도메인으로 다시 적용을 해주어야 워드프레스 블로그 사이트로 접속할 때 경우 보안경고가 뜨지 않는다.
생성한 도메인은 dev-post.com 이라고 가정한다.
Lightsail 인스턴스의 시스템 콘솔에서 다음 작업을 수행한다.
sudo /opt/bitnami/bncert-tool위 명령을 실행하면 사용자 입력을 받는 상호작용을 해야 한다.
- Domain list: <생성한도메인> <www.생성한도메인> (ex. dev-post.com www.dev-post.com)
- Enable HTTP to HTTPS redirection? y (y를 입력)
- Enable non-www to www redirection? n (n을 입력)
- Enable www to non-www redirection? y (y를 입력)
- E-mail: 본인 이메일 입력 (갱신 알림용)
- 그외 나머지는 모두 ‘y’를 입력한다.
Success가 화면에 보인다면 성공한 것이다.
자! 이제 당신만의 워드프레스 블로그 사이트가 생성되었다!!!
관리자 페이지 접속하기
브라우저에서 주소창에 https://<도메인> 을 입력하여 처음 내블로그의 방문자가 되어 보자.
이제 내 블로그 관리를 위한 설정을 해야 하는데 관리자 페이지 접속을 위해서는 아이디와 비밀번호를 알아야 한다.
Lightsail 인스턴스 생성시 관리자 접속을 위한 초기 아이디와 비밀번호는 다음 화면에서 알아보자.
AWS Lightsail 페이지로 다시 돌아가서 Instances > 생성된 인스턴스 를 선택하여 페이지로 들어가자.
페이지 가장 하단에 보면 WordPress Credentials 항목이 있다.
Access default user name 항목을 펼쳐보면 ‘user’로 되어 있다. 즉 초기 아이디는 ‘user’다.
Access default password 항목을 펼쳐보면 Step1 -> Step2가 있는데 그대로 따라하면 초기 비밀번호를 얻을 수 있을 것이다.
- Step1 에서 Launch CloudShell을 눌러 실행하면 브라우저 하단에 쉘이 열린다.
- Step2에 나와 있는 코드를 복사하여 Step1에서 열린 쉘에 붙여넣은 후 실행하면 비밀번호가 생성된다.
이제 https://<도메인>/wp-admin 페이지에 접속하여 아이디와 비밀번호를 입력하여 로그인 성공하면 이제 진정한 관리자가 된 것이다. 유후~
로그인에 성공했다면 좌측 메뉴바에서 사용자 페이지에서 새롭게 계정을 생성할 수도 있고 기존 계정의 비밀번호도 변경할 수 있다.
추가로 필수 플러그인 설치 및 설정, 테마 선정 및 설정 등등 많은 것들이 필요할 텐데 이런 부분들은 많은 포스팅에서 다루고 있으니 참고하면 좋을 것 같다. (여기서 다루기엔 내용이 너무 많아요 ㅠ)
AWS 내에 구축한 서버이다 보니 워드프레스 내에서 메일 발송이 기본적으로 막혀 있다. 이 부분을 해결하기 위한 방법은 추후에 업데이트 할 수 있도록 해보겠다.
그래서 사이트 유지 비용은 얼만데?
비용.. 중요하다. 나도 처음에 워드프레스 구축을 하려면 비용이 든다고 해서 거부감이 있었다.
그럼 년에 드는 비용이 얼만지 계산해 보자.
- Lightsail 인스턴스 비용: 가장 낮은 비용 월 5$ (5 x 12 = 60$) – 참고로 3개월 무료다. 개꿀.
- Route53 도메인 사용료: com 도메인으로 했을 때 연 15$
- 처음 25개 호스팅 영역의 경우 호스팅 영역당 월 0.50 USD (년 12$)
총 합산을 해보면 87$다. 가만보자 현재 시점 기준 달러 환율이 1462원 정도 되니까 년 127216원 정도 나온다. 지금 환율이 상당히 고점인 점을 감안하면 시간이 지나면 좀 더 싸지지 않을까? 암튼 뭐 나만의 블로그를 운영하면서 년 약 13만원 가량의 비용은 투자할 가치가 있다고 생각한다.
끝.