컴공생 누르지 마세요! 컴공생 울어요.

[AWS] WordPress blog 생성 및 DDoS attack 방어 (2) 본문

STUDY/클라우드 컴퓨팅

[AWS] WordPress blog 생성 및 DDoS attack 방어 (2)

당도최고치악산멜론 2022. 11. 23. 19:30

(지난 게시글: https://kwonppo.tistory.com/26)

 

DDoS 방어를 위해서는 여러 인스턴스로 load balancing을 해주어야 한다.

이를 위해 여러 인스턴스를 만들어야 하는데, 이 인스턴스가 각기 다른 블로그 내용을 보여주면 안된다.

그렇기 때문에 한 인스턴스 블로그에서 수정한 내용이 다른 인스턴스 블로그에도 반영될 수 있도록 데이터베이스를 동기화하기 위해 AWS RDS와 S3를 이용할 것이다.

 

이번 게시글에서는 RDS부터 연동해보도록 하겠다.


우선 RDS management console에 들어가서 데이터베이스 생성 버튼을 누른다.

엔진 옵션은 MySQL을 선택할 것이다.

템플릿은 프리티어로 선택하고, 

다음과 같이 DB 인스턴스 식별자, 마스터 사용자 이름, 마스터 암호를 입력했다. 이 세가지는 나중을 위해 기억해두어야 한다.

VPC는 인스턴스와 같은 vpc로 설정해두었고, 보안그룹도 해당 vpc에 있는 보안 그룹으로 설정하였다.

그외 나머지는 다 default로 설정하였다.

 

이제 생성 버튼을 누르면 데이터베이스가 생성된 것을 볼 수 있다.

 

이제 보안 그룹의 인바운드 규칙을 수정해주겠다.

생성된 데이터베이스를 클릭한 후, 연결 & 보안 탭에서 보안 그룹을 클릭한다.

노란 형광펜 부분에 보안 그룹이 있을 것이다. 이를 클릭하면 보안 그룹 창으로 이동하고, 여기서 "인바운드 규칙" 탭을 선택한다.

여기서 "인바운드 규칙 편집"을 누르고, 다음과 같이 규칙을 추가해주었다.

이때, 소스의 경우에는 현재 보안 그룹으로 선택해주었고 설명은 생략 가능하다.

 

이제 인스턴스에 RDS를 연결해줄 것이다. wordpress 인스턴스에서 기존에 사용하던 데이터베이스 대신, RDS를 사용하도록 데이터베이스를 대체하는 것이다.

 

EC2 콘솔로 돌아와서 만들었던 인스턴스를 연결한다.

다음과 같이 연결할 인스턴스를 선택하고 "연결" 버튼을 누르면 된다.

연결 방법으로는 독립 실행형 SSH 클라이언트를 선택하였다.

git bash를 실행하고 위 창에 뜨는 명령어를 입력하면 연결이 된다. 연결이 완료된 화면은 다음과 같다.

여기서 cd 명령어를 사용해서 /home/bitnami/stack/wordpress 경로로 이동해주면 wp-config.php 파일이 있는 것을 볼 수 있다. vim 명령어로 이 파일을 수정해줘야 한다.

위와 같이 파일을 수정해준다.

DB_NAME에는 앞에서 만든 RDS database의 식별자를, DB_USER에는 사용자 이름을, DB_HOST에는 RDS database 엔드포인트를 입력한다.

 

이 과정을 통해 wordpress 인스턴스에 RDS를 연결할 수 있다.

Comments