[블로그운영] Blog 0원으로 운영하기 ( 마이그레이션 )

안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 매년마다 연례행사인 0원으로 AWS 서버 사용하기 위한, 마이그레이션의 여정에 대해서 정리를 해보려고 합니다.

필자는 2018년부터 2022년까지 약 5년동안 AWS에서 0원으로 (물론 완벽한 0원은 아니였습니다. ) 서버를 운영하였습니다. 완벽하지 않다는 것은 초반에는 서버 운영에 무지하여, 여러대의 서버를 발급받아 비용청구가 발생했던 적이 있습니다.

AWS에서는 프리티어 서버를 제공하여, 1년동안 여러가지 서비스를 무상으로 사용할 수 있도록 제공을 해주고 있는데요. 1년동안이기 때문에 기간이 지나면 비용이 청구 되기 때문에 지속적으로 서버를 마이그레이션 해주어야 합니다.

블로그 구축 지난글 다시 보기

1. AWS 계정 신규 발급

Google 계정 신규 생성

구글에서는 계정 발급이 상당히 쉽습니다. 단지 계정에 대한 아이디만 있으면 발급이 되어, 필자는 특정 넘버링으로 계정발급을 받고 있으며, 1년이 지난것은 당연하게도 폐기(?) 처분을 하고 있습니다.

AWS 계정 신규 생성

이제 발급받은 Google 계정으로 AWS의 계정을 신규 생성해보도록 하겠습니다. 가입 절차는 지시에 잘 따르면 되고, 중간에 실제 사용하는 카드를 입력해서 100원을 결재 하여, 사용 가능한 카드인지를 판별합니다. (물론 결재 후 바로 취소도 됩니다.)

생성이 모두 되고나면, 아래의 그림과 같이 무료 플랜으로 시작하여 1년간의 무료 서비스를 이용할 수 있습니다.

  • 반드시 계정 생성후, MFA 셋팅을 해주세요. (계정 해킹시 비용이 발생할 수 있습니다.)

2. 신규 서버 발급

기존 계정 작업

기존계정에서는 현상태의 서버 이미지(AMI)를 생성해야 합니다.

  • EC2에서 해당 인스턴스 이미지를 생성 및 공유 합니다.
  • RDS에서 해당 인스턴스 스냅샷을 생성 및 공유 합니다.

신규 계정 작업

  • 네트워크 관련
    • VPC
    • Subnets
    • Internet Gateway
    • Routing Table
    • 보안 그룹 생성

그런데 생성하다보니, 요즘 AWS는 너무 좋아진 것 같습니다. 자동으로 VPC, Subnet, IGW, Routing Table까지 설정해야되는것을 모식도로 보여주니 너무 좋은것 같습니다.

2. blog_mig_2

  • 서버 생성 관련
    • 공유된 AMI로부터 EC2 인스턴스를 생성합니다.
    • 공유된 DB 스냅샷으로부터 MySQL 인스턴스를 생성합니다.

3. 어플리케이션 업데이트

신규로 생성된 EC2(WordPress)에서는 신규로 생성된 DB 인스턴스에 접근하기 위해서는 DB의 Endpoint를 변경해주어야 합니다. 이를 위해서는 직접 서버에 접근을 수행해야합니다.

  • /htdocs/wp-config.php
/** MySQL hostname */
define('DB_HOST', '{신규 DB 호스트}:3306');

이미 DB에 대한 정보들은 모두, 스냅샷을 통해서 들어가 있기 때문에 별도로 바꿔줄 정보는 없습니다. 서버에서 DB정보만 업데이트를 해준 뒤, 서버를 Restart를 하게 되면 새로운 정보로 기동하게 됩니다.

4. DNS 엔드포인트 변경

필자는 Freenom 의 무료 DNS를 사용하고 있습니다. 여기서는 필자가 dot tk(.tk)를 사용하게 된 것도 처음에는 무료로 이용하자라는 취지에서 시작했지만, 이제는 사이트에 접속하는 사용자들이 늘어나면서 Google에도 모든 검색 기록이 저장이 되어, 바꾸기가 어려운 시점이 되었습니다.

Freenom에서 A Record를 신규 서버의 Public IP로 바꿔주는 것으로 작업은 마무리가 됩니다.

5. 마치며…

작업의 순서가 명확하게 정해져있어, 작업하는데는 1H 안팍으로 소요 됩니다. 매년 하는 작업이였는데 이번에는 포스팅으로 작업 순서를 정리해두고 다음 시기가 도래하면 이 포스팅을 참고해서 변경을 하려고 합니다.

AWS에서 무료로 이렇게 워드프레스를 운영할 수 있다는 것에 감사함을 느끼지만, 때로는 해킹의 위협도 받은적이 있고, 무지함으로 서버를 무분별하게 생성해서 비용을 지불했던 경험도 있습니다.

이러한 경험들을 기반으로 지금은 무난하게 작은 놀이터처럼 블로그를 운영하고 있습니다. 다른 분들도 저의 포스팅이 도움이 되어 블로그를 운영했으면 합니다.

감사합니다. 🙂

답글 남기기

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