History: 1. 22 JAN 2019: 글 등록. 2. 29 JAN 2022: 오래된 글들의 포맷 수정.
사실 이러한 설정을 하기 전에 AWS 문서들 및 다른 블로그등에 올라간 글들을 잘 읽어볼 필요가 있었던 것 같은데, 몇몇 간략한 소개글만 읽고 바로 AWS서비스를 이용해 여러 서비스들을 적용하려다 보니 이런저런 문제에 부닥쳐서 해결해야만 했다. 그래서 여기 글은 내가 생각하기에 중요한 순서라고 하는 방법으로 나열되어 필자와 같은 실수를 범하지 않게끔 가이드 해주는것이 목적이다. 중요한 AWS의 문서들은 본문에 링크를 걸어두었기 때문에 자세한 내용은 해당 문서를 참조하는것이 정확할 것이라 생각한다. 개인적인 생각이지만, 적어도 이번 기회에 필자가 적용해본 서비스에 대해서는 아마존의 문서들은 해당 분야에 대한 지식이 제한적인 필자에게도 충분할정도로 직관적이고 정확하면서 어렵지 않게 쓰여진 것 같다. 다만 그 많은 문서들의 디테일에 앞서 어떻게 시행오류를 줄일수 있는지 그리고 적절한 문서가 무엇인지를 기술하는게 해당 글의 목적이다.
일단 WordPress multisite설정이 끝난 다음에는 간단히 IP로 접속해보면 테스트 페이지를 확인 할 수 있는데, AWS Route 53으로 생성한 도메인이 연결되 있는 경우 진행해보면 실제 주소는 network에서 주어진 기본 IP 주소임을 알 수 있다.
AWS Route 53에서 생성한 DNS (필자의 경우 edamyrepo.com)를 AWS Lightsail 네트워크 설정에 연결 해 주어야 하는데 먼저 static IP address를 Lightsail 인스턴스에 붙여야 한다. 다행이 Lightsail 인스턴스에 붙이는 경우 무료로 아마존에서 서비스를 해주므로 이를 설정한 다음에, DNS zone설정을 진행하게 된다. 여기서 등록한 도메인 설정을 연결해두고, 저장된 Nameserver (NS) 리스트를 기록해두었다가, AWS Route 53의 dns record에서 NS 레코드들을 Lightsail에 적혀있는 리스트로 대치한다.
이제 메인에 해당되는 IP주소를 도메인 주소로 바꿔주어야 하는데, 필자의 경우에는 WordPress Multisite설정에서 Network Admin에서 보이는 url주소가 바뀌지 않는 문제가 있었다. 이는 아마존 서비스의 문서를 참조하여 해결하게 되었다. 개별적인 딸림 블로그들의 경우 원래는 IP주소앞에 방점을 두고 구분되어 있었으나, 이를 Lightsail Network설정에서 추가해둔 subdomain address로 일일히 바꿔주고 (Network admin->all sites->edit) 난 다음에 URL update 플러그인을 통해서 여러 컴포턴트의 경로를 일괄적으로 수정해주면 된다.
이번에는 다음과 같이 Not secure가 뜨는 문제를 해결해보자.일단 전반적인 내용의 시작 문서는 AWS 튜토리얼을 참고하도록 하자. 기본적으로는 encrypt SSL certificate를 AWS certificate manager 를 통해서 발급받게 되고 (AWS Route 53 DNS의 경우에는 무료로 적용가능) 이를 적용한 도메인을 Lightsail instance 콘솔에서 적용하는 것이다. 해당 문서에 소개가 되어 있듯이 먼저 Lightsail에서 SSL certificate를 발행받아야 하는데 이는 SSL certificate in lightsail 문서를 참조하였다 (이 문서는 load balancer를 사용하는것을 기반으로 적혀있는데, 필자의 경우에는 첫번째 문서에서 기술하듯이 단일 인스턴스에서 특별한 load balancer없이 – 즉 추가요금 없이 – 설정이 가능했다). 첫번째 언급한 문서에 적혀있듯이 ssh로 접속한 터미널을 통해서 설정을 진행한 다음 “Really Simple SSL” 플러그인을 이용하여 각 블로그마다 certificate설정을 적용해주었다. 결국 방문자 접속이 http에서 https로 자동으로 바뀌게 되고 page not secured문제를 더 이상 겪지 않았다.
사실 필자의 경우에는, 해당 문서들을 잘 읽어보지 않고 대략적인 짐작으로 진행한것이 꽤 되다보니DNS와 IP addresss로 구성된 여러가지 사이트의 문제를 만나게 되었다. 위 설정을 진행하기 전에 이미 multisite로 구성된 블로그들의 조합에서 처음에 만족하다가 (아래의 문제를 인지하기도 전임) (1) 도메인으로 들어가서 IP주소로 변경되는 현상과 (2) encrypt SSL을 통해 https로 설정하기 위하여 한 여러가지 시도들을 통해서 다음 문제들을 만나고 해결하게 되었다. 이 때 인스턴스와 연결된 네트워크설정을 나중에 함으로서 모든 IP 주소가 바뀌는데 (다행이 이런 부분들은 손쉽게 설정에 반영되어서 직접 무언가를 해 줄 필요는 없었다), 여기에 도메인 주소로 대치시키면서 메인계정의 url을 변경할수 없었던 문제 (위에 언급된 문서에 잘 설명되어있다), 메인 url변경이후 기존의 IP앞에 .으로 구분된 각기 다른 블로그들의 주소가 잘 안된 문제 등을 해결해야만 했다. 뭔가 하나를 해결하면 다른 문제들이 불거져 나오고, 특히 subdomain address와 딸림 블로그들의 주소 변경에서 많이 헤매게 되었던 것 같다. 가장 큰 문제는, 위 문제들이 https로 redirect되는 문제와 섞여버려서 필자의 경우 어디서 문제가 발생했는지 분석하는게 제법 힘이 들었으나 모든 서비스를 AWS를 기반으로 이루어져서 그런지 약 하루의 시간을 투자하여 모두 해결할 수 있었다.
다음 편에는 조금 마이너 디테일한 부분들을 다뤄볼까 한다.
Leave a Reply