송민준의 개발노트

Amazon MQ(RabbitMq) 초기 설정 본문

AWS/Amazon MQ

Amazon MQ(RabbitMq) 초기 설정

송민준 2023. 6. 3. 21:28

AWS에서는 RabbitMQ와 ActiveMQ를 서비스로 제공한다.

본 글은 RabbitMQ를 엔진으로 사용하는 설정을 기록한다.

 

 

1. Amazon MQ 브로커 엔진 선택

 

2. 배포 모드 설정

- 단일 인스턴스 브로커를 사용한다. 개발 테스트 용도이기에 단일 인스턴스로 구성.

프로덕션에서는 클러스터 배포를 해야한다.

 

3. 설정 구성

- 브로커 이름은 식별가능한 이름으로 정한다.

- 인스턴스는 프리티어 사용이 가능한 t3 micro 선택

- 액세스 계정은 초기 rabbitmq 계정이니 지정 후 백업 필요하다.

 

- 엔진 버전은 최신 버전 세팅

- CloudWatch Logs 설정 사용

- 프라이빗 엑세스 설정 ( 프라이빗의 경우 rabbitmq 어드민에 접근을 위해선 별도 처리가 필요함)

- 별도 사용하는 VPC와 보안 그룹이 있다면 세팅

- 나머지는 기본 세팅

 

 

생성 완료까지는 20분 이상이 소요된다.

 

 

4. 외부에서 RabbitMQ 접속 세팅 방법

- 다양한 방법들이 있지만 Nginx를 이용한 리버스 프록시를 세팅하여 접근할 것임

- RabbitMQ 웹 콘솔 주소 백업

 

- 사용하는 ip의 uri에 /rabbitmq로 접근 시 라우팅할 것임

- / 경로에 분기처리를 해준 이유는 rabbitmq 어드민에서 정적파일 리소스들이 필요해서임.

server {
    listen 80;
    server_name ip주소;
    root /usr/share/nginx/html;
    
    location /rabbitmq {
          rewrite ^/rabbitmq(.*)$ /$1 break;
          proxy_pass 백업한 RabbitMQ 어드민 주소;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    
    location / {
          if($http_referer ~* (http?://ip주소/rabbitmq)) {
              proxy_pass 백업한 RabbitMQ 어드민 주소;
              break;
          }
          
          -- 생략 --
    }

}

 

정적파일들