[AWS LightSail] LightSail에 5분만에 SSL 인증서 적용하는 방법 (이거보다 쉬운거 없음!!!)
Lightsail은 EC2에 비해 더 경량화된 서버 호스팅을 제공하는데요. 간단한 웹 서비스나, Wordpress를 서비스할 수 있도록 다양한 패키지도 제공합니다. EC2가 전문가용이라면 Lightsail은 일반용이라고 생각하면 편합니다. 웹사이트를 Lightsail을 통해 호스팅 하는 경우 SSL 인증서 적용을 해야 하는데요. 원래라면 인증서 구매부터 적용까지 좀 복잡한 과정을 거쳐야 하지만 여기서 제공하는 Let’s encrypt를 사용하면 5분 만에 SSL 인증서를 적용할 수 있습니다.
Route53 도메인 설정
Let’s encrypt로 인증서를 설치하고 적용하려면 먼저 기본 세팅이 되어있어야합니다.
AWS의 Route53에 해당 도메인 호스팅 영역이 설정이 되어있어야 합니다. 그리고 A 레코드를 생성해서 Lightsail 인스턴스와 연결을 해주어야 하는데요.
위처럼 A 레코드를 생성하고 라우팅 대상에 Lightsail의 public ip 혹은 static ip를 적어줍니다.
만약 서브도메인을 활용하려면 A 레코드의 레코드 이름에 서브 도메인을 적어주면 됩니다.
예를 들어, example.com 도메인을 사용하는데 blog.example.com을 웹사이트 주소로 하고 싶다면 A 레코드에 blog.example.com을 적어주면 됩니다.
이렇게 연결한 뒤 해당 도메인으로 접속해서 Lightsail에 세팅된 웹사이트가 정상적으로 나오는지 확인합니다. 만약 Wordpress가 설치되어 있다면 Wordpress 사이트가 나와야 합니다. 아직 SSL 인증서는 적용되지 않은 상태입니다.
이제 Lightsail 콘솔에 들어갑니다. Route53에 연결된 인스턴스의 터미널 아이콘을 선택해서 SSH Console에 접속합니다.
이제 아래 명령어를 입력합니다.
$ sudo /opt/bitnami/bncert-tool
만약 업데이트하라고 뜬다면 y를 누른 후 다시 위 명령어를 입력해 줍니다.
이제 인증서 설치를 진행하는데요. SSL 인증서를 적용할 도메인을 입력합니다.
그럼 www가 포함된 도메인도 함께 적용할 거냐고 물어보는데 원하면 y 아니면 n를 선택합니다.
그리고 HTTP 요청이 올 때 HTTPS로 리다이렉션 할 것이냐고 물어보는데 y를 선택합니다.
그럼 사용자가 http를 통해 접속해도 알아서 https 요청으로 바꿔주기 때문에 편리하고 좋습니다.
인증서를 설치하게 전에 안내사항이 나오고 동의하냐고 물어보는데요. y를 누르면 진행됩니다.
이어서 이메일을 입력하고 Let’s Encrypt 구독에 동의하냐고 물어보면 y를 누릅니다.
진행하게 되면 먼저 Web server를 멈추고 SSL 인증서를 설치하게 됩니다.
Let’s encrypt 인증서는 무료이고 3개월마다 갱신해줘야 하는데요. 자동 갱신이 되도록 구독하는 설정을 하면 번거롭게 갱신할 필요가 없습니다.
모든 설정을 적용하고 다시 Web Server를 시작해 주는데요. 이 과정이 2분 내외기 때문에 사이트가 오랫동안 다운되지는 않습니다. 만약 트래픽이 아주 많이 발생하는 사이트라면 사용자가 적은 시간에 진행하던지 미리 공지를 띄우고 진행하는 것이 좋습니다.
가장 좋은 것은 사이트 생성할 때 SSL을 적용해 주는 것이겠죠.
모든 설치가 완료되었습니다. 백업 파일의 위치를 알려주는데 참고하면 좋습니다. 문제가 생겼을 때 복원할 수 있으니까요.
하지만 가장 편한 방법은 Lightsail Snapshot을 설치 전에 미리 생성해 놓고 문제가 생겼을 때 복원하는 것입니다.
이제 설정한 도메인으로 접속해 보면 https가 적용되어 브라우저에서 안전한 사이트라고 뜨는 것을 확인할 수 있습니다.