IT 관련/클라우드

[AWS, 프로젝트] 워드프레스 설치를 위한 설계 및 설정(4)

insu90 2024. 11. 6. 23:53

 

이번 목적은 WAF와 CloudWatch를 이용한 경고발송입니다.

 

먼저 WAF를 연동하겠습니다.

WAF web ACL을 생성합니다. 해당 페이지는 영어로만 되어있으며, 웹페이지의 자동 번역기능을 사용하면 에러가 발생하는 경우가 있으므로 영어 그대로 진행하기 바랍니다.

 

 제 경우 실습환경이 시드니이고 연결할 AWS 리소스는 ELB로 했습니다.

 

add rule을 했을 때 AWS에서 공짜로 지원하는 룰들이 있습니다. 전 공짜를 좋아하기에 공짜만 추가했습니다.

다만 1500 WCUs를 초과하면 비용이 발생하니 유의하시기 바랍니다.

룰의 우선권은 기본세팅 그대로 진행했습니다.

나머지는 기본상태 기대로 생성했습니다.

 

이제 ALB로 가서 통합쪽 항목을 찾아가보면 WAF가 적용됨을 볼 수 있습니다.

 

 

이번에는 클라우드 와치의 알람입니다.

먼저 WAF에서 발생하는 요청을 클라우드 와치 로그에 기록하도록 설정해야합니다.

여기 disabled를 enable 버튼을 눌러 활성화하면

 

이런 화면이 뜹니다. 여기서 로그 그룹을 통해서 만들겠습니다.

여기서 그룹을 만들 때 주의점이 있습니다. 위에 보면 aws-waf-logs- 로 시작해야 한다는 부분입니다. 만약 그렇게 만들지 않으면 로그그룹에 나오지 않습니다.

 

위와같은 이름으로 설정하겠습니다.

 

생성을 누르면 새로고침을 통해 로그 그룹을 확인할 수 있습니다. redacted 필드에서는 쿼리 스트링을 체크해주면 좋습니다. 이 부분은 추가적으로 해설을 보심이 좋습니다. 민감한 데이터를 마킹하거나 생략하기 위해서입니다.

 

이제 클라우드 와치에서 경보를 생성하겠습니다.

먼저 지표를 생성해야합니다. 가장 기본적인것은 모든 룰에대해 blocked requests를 수집하는것입니다.

해당 내용은 모든 룰에 대해 blocked request가 발생한게 1분간 10개 보다 이상이라면 알람을 보낸다는 뜻입니다.

 

위 내용으로 경보를 메일로 보낼 수 있도록 하겠습니다. 주제 생성을 누르고 다음을 누릅니다.

이름과 설명을 추가합니다.

그 다음페이지는 요약페이지입니다. 이상이 없으면 생성을하면 됩니다.

 

이것으로 WAF의 설정와 CloudWatch를 통한 설정이 끝났습니다.

 

다음은 오토스케일링 작동 전, 작동에 따른 경보 설정입니다. 이번에는 SNS를 조합하도록 하겠습니다. 현재 클라우드와치는 한사람에게 보내지지만 SNS로 연결하면 여러명에게 다량으로 보낼 수 있습니다.