AWS EC2를 이용해서 Wordpress 홈페이지를 구축하셨는데 갑자기 접속이 안되시나요? 참으로 난감한 상황인데요. EC2가 무슨 이유에서든 중지가 되었다가 다시 시작되면서 IP주소가 바껴서 생기는 문제일 수 있습니다. 다음의 방법으로 쉽게 해결할 수 있습니다.
1. AWS EC2를 이용하는 이유
AWS 라이트세일이나 클라우드웨이즈 등 쉽고 간편하게 웹 서버를 운영할 수 있도록 도와주는 서비스들이 있습니다. 더군다나 클라우드웨이즈의 경우 무료로 사용하는 기간이 가장 짧은만큼 기술적인 지원도 적극적으로 해 주고 있습니다. 상당히 매력적인 서비스가 아닌가 싶습니다.
하지만 저는 AWS 라이트세일도 아닌 EC2를 이용해서 직접 워드프레스 웹페이지를 운영하기로 결정하였습니다. 가장 큰 이유는 클라우드웨이즈 3일, 라이트세일 3개월, EC2의 경우 1년의 무료 사용을 할 수 있다는 이유 때문이었습니다. 블로그를 처음 시작하는 입장에서 한동안은 거의 수익이 없을거고 트래픽도 거의 발생하지 않을텐데 1~2만원씩 발생하는 비용이 적지만 누적된다면 이마저도 부담이 될 것이기 때문이었습니다.
2. 문제가 생긴 EC2
AWS EC2(우분투)에 워드프레스 설치하기를 통해서 EC2에 성공적으로 워드프레스를 설치하였습니다. 그 후에 Route53 서비스를 이용해서 외부 도메인도 연결하고 탄력적 IP를 설정하여 고정IP도 생성하였습니다. 그런데 그 이후 갑자기 사이트 접속이 안되는 것입니다. EC2를 몇번이고 중지하고 시작하여도 증상은 마찬가지였습니다.
3. 원인은 데이터베이스
그래서 찾아낸 원인은 바로 데이터베이스 MySQL이었습니다. 정확히 이야기하면 데이터베이스에 저장된 IP 정보가 문제였던 것이죠. EIP(탄력적 IP)를 설정하면서 IPv4 주소가 바뀌었는데 이 때문에 데이터베이스 내 주소정보와 일치하지 않아 사이트 접속에 문제가 발생한 상황이었습니다. 이제 원인을 파악하였으니 이를 해결해 보도록 하겠습니다.
EC2 인스턴스를 선택하고 '연결' 버튼을 눌러 SSH 접속을 수행합니다.
MySQL에 접속한 뒤 show databases; 명령어를 입력하면 현재 데이터베이스 목록을 볼 수 있습니다. 이 중 'wordpress'라는 DB에 접속합니다. 명령어는 use wordpress; 입니다.
4. 이렇게 해결하였습니다
show tables;를 입력하였을 때 나오는 결과 목록에서 wp_options 테이블 목록을 찾을 수 있습니다.
내용을 살펴보면 과거 IP 주소가 기록되어 있는 것을 확인할 수 있습니다. 이제 이 주소정보를 현재 바뀐 고정 IP 주소로 변경해주도록 하겠습니다. 다음의 명령어를 입력하시면 됩니다. <변경할IP>에는 현재 자신의 EC2의 IPv4 퍼블릭 주소를 입력하시면 됩니다.
UPDATE wp_options SET option_value='http://<변경할IP>' WHERE option_id<3;
이제 IP주소를 이용해서 다시 wordpress에 접속해보면 정상적으로 잘 동작하는 것을 확인하실 수 있습니다.
댓글