그냥 사는 이야기

AWS의 LightSail을 사용하여 워드프레스 생성하기 본문

IT

AWS의 LightSail을 사용하여 워드프레스 생성하기

없다캐라 2023. 9. 27. 00:47
반응형

 

WordPress 사이트를 하나 운영할 필요가 생겼는데 아무리 도커로 한다 해도 직접 설치하고 운영하기에는 조금 부담스럽습니다. 크게 어렵지는 않은데 운영이슈가 있어서 가끔씩 서버를 들여다 보려면 기억이 안나서 검색 하면서 하다 보면 꽤 귀찮습니다.

그렇다고 이걸 서비스 해주는 업체것을 사용하려니 EC2 보다 비용이 더 나오는 편이라 그거 생각하면 또 직접 올려 사용해서 한푼이라도 절약할 필요가 있습니다.

예전부터 봐두었던 LightSail 서비스로 저렴이 EC2에 고정 ip 까지 받으려고 합니다. 무엇보다 가격 경쟁력이 좋다고 들었습니다. 

AWS LightSail 이란?

AWS LightSail은 웹 사이트나 작은 애플리케이션을 쉽게 올릴 수 있는 클라우드 서비스입니다.

  1. 간편함 - AWS의 다른 서비스들은 종종 설정이나 관리가 복잡할 수 있습니다. 그런데 LightSail은 초보자도 쉽게 서버를 만들고 시작할 수 있게 디자인되었습니다.
  2. 고정된 비용 - 매달 지불해야 할 금액이 미리 정해져 있습니다. 그래서 예상외의 비용에 대해 걱정할 필요가 없습니다.
  3. 필요한 것 모두 포함 - 웹사이트를 실행하는 데 필요한 모든 것(서버, 스토리지, 데이터베이스)이 포함되어 있습니다.
  4. 안전 - AWS의 보안 기능을 사용하여 정보를 보호합니다.

즉, AWS LightSail은 웹사이트나 애플리케이션을 온라인에 쉽게 게시하려는 사람들을 위한 서비스입니다. 몇 번의 클릭만으로 시작할 수 있으며, 사용하는 만큼의 비용을 지불하게 됩니다.

WordPress 설치?

사실 설치라고 할 것도 없습니다. 서버 + SW형태의 템플릿이 여럿 있고 이중 WorePress 있는 것을 선택하기만 하면 됩니다. 그리고 그 템플릿의 인스턴스를 생성 시키면 설치? 가 완료 되었습니다. 개인적으로는 맨처음 들어가서 우분투 보안업데이트를 다 하고 reboot을 한번 더 해줬습니다.

좋은 아침입니다. 내돈내산 워드프레스 서버입니다.

LightSail 인스턴스 설정

이제 여기서 몇가지 필요한 설정을 더 해주면 끝입니다.

정적 IP 설정

처음 주어진 IP는 유동IP 라고 합니다. 인스턴스를 사정이 생겨 stop을 하게 되면 이후 start 하면 변경이 됩니다. 나중에 DNS 연결을 IP를 향하도록 해놓았다면 IP가 변경되면 안되겠죠? 고정 IP 혹은 정정 IP를 정해주려면 Networking 탭으로 갑니다. 

처음에 보이는 ip는 정적ip가 아닙니다. 정적 ip를 줄 수 있습니다.
Networkging 탭에 가보면 IP 밑에 Attach static IP 를 선택할 수 있습니다.

Attach 시켜주면 끝입니다. 참고로 Networking 탭에서는 방화벽에 열린 포트들이 나와 있으며 현재는 필요한 것만 열려있습니다.

도메인 연결

전 가비아에서 사용중이기에 하나 가져 왔습니다. 왼쪽 사이드바의 Domain & DNS 를 클릭한 후 Create DNS Zone 버튼을 클릭합니다. 

그런 다음 아래 화면에서 AWS의 Route53에서 만든 도메인이 아니면 another 로 선택하고 도메인 주소를 입력해줍니다.

도메인 주소에 굳이 앞 www를 안써도 됩니다.

그러면 아래처럼 4개의 네임서버를 알려주는데 이것을 자신의 도메인 관리 페이지(저는 가비아) 에서 네임서버 등록을 해주시면 됩니다.

그리고 DNS Records 에서 A record를 추가해서 LightSail 로 만든 인스턴스의 ip를 넣어줍니다.

DNS records 탭을 선택해줍니다.

Add record를 눌러서 내용을 채우되 @ 하나만 입력해주고 IP를 넣어주면 www 없이 도메인 주소만 연결이 됩니다. 그리고 Add record를 한개 더 해서 CNAME, www 를 넣은 후 도메인 주소를 넣어서 redirect가 되도록 해주면 2가지 경우가 더 처리됩니다.

최종 DNS 세팅 화면

SSL/TLS 설정

위의 경우까지 진행했다면 sample.com 이란 도메인 주소를 입력하면 워드프레스가 나오지만 http만 되고 https는 안되는 상황입니다. 따라서 브라우저 창에서 보면 주의요함이 떠 있습니다. HTTPS 를 활성화 해야겠습니다.

Amazon Lightsail의 WordPress 인스턴스에서 HTTPS 활성화 문서를 보면 초기의 준비 단계는 특별한 경우가 아니고선 AWS가 세팅을 적절히 해두었습니다. 문서를 보니 Let's encrypt 무료 ssl 인증서를 발급받고 그것을 적용하는 기능을 미리 명령어로 세팅해 두었네요. let's encrypt 를 발급받으려면 원래는 다른 명령어를 사용해야 하는데 문서를 보면 bncer-tool 로 한방이면 되는 것 같습니다.

WordPress 인스턴스에 ssh로 접속하거나 AWS 콘솔에서 Connect 를 눌러서 들어갑니다. 그리고 문서의 5단계 활성화 편의 명령어 하라는대로 바로 시작하면 됩니다.

bitnami@ip-172-26-8-27:~$ sudo /opt/bitnami/bncert-tool
----------------------------------------------------------------------------
Welcome to the Bitnami HTTPS Configuration tool.

----------------------------------------------------------------------------
Domains

Please provide a valid space-separated list of domains for which you wish to 
configure your web server.

Domain list []: sample.com www.sample.com

----------------------------------------------------------------------------
Enable/disable redirections

Please select the redirections you wish to enable or disable on your Bitnami 
installation.



Enable HTTP to HTTPS redirection [Y/n]: Y




Enable non-www to www redirection [Y/n]: n




Enable www to non-www redirection [y/N]: Y


----------------------------------------------------------------------------
Changes to perform

The following changes will be performed to your Bitnami installation:

1. Stop web server
2. Configure web server to use a free Let's Encrypt certificate for the domains: 
sample.com www.sample.com
3. Configure a cron job to automatically renew the certificate each month
4. Configure web server name to: sample.com
5. Enable HTTP to HTTPS redirection (example: redirect http://sample.com to 
https://sample.com)
6. Enable www to non-www redirection (example: redirect www.sample.com to 
sample.com)
7. Start web server once all changes have been performed



Do you agree to these changes? [Y/n]: Y


----------------------------------------------------------------------------
Create a free HTTPS certificate with Let's Encrypt

Please provide a valid e-mail address for which to associate your Let's Encrypt 
certificate.

Domain list: sample.com www.sample.com

Server name: sample.com

E-mail address []:

 문서에 같은 내용이 있어서 반복하긴 싫지만 나의 경우엔 sample.com이 메인이고 www가 붙어도 떼어내고 리다이렉션을 시키기 위해 Enable non-www to www redirection [Y/n]: 질문에 n 라고 했습니다. 그 밑에는 반대로 하였구요.

여기까지 한다면 이제 자신의 워드프레스에 도메인 주소를 연결하고 https (TLS 보안 적용) 까지 적용을 마칠 수 있습니다.

 

Comments