티스토리 뷰

SW 개발

Amazon MQ, RabbitMQ 브로커 생성하기

지단로보트 2020. 12. 1. 09:46

개요

  • RabbitMQ는 오랫동안 오픈 소스 진영에서 널리 쓰이고 있는 메시지 브로커이다.
  • 2020-11-04, Amazon MQ에서 RabiitMQ 브로커 지원을 공식 발표했다. 완전한 서버리스 매지니드로 RabbitMQ 브로커를 생성하고 운영할 수 있게 되었다. [관련 링크]

RabbitMQ 브로커 생성

  • RabbitMQ 브로커 생성 방법은 아래와 같다.
Amazon MQ 콘솔 접속
→ [브로커] 클릭
→ [브로커 생성] 클릭

# 브로커 엔진 선택
→ 브로커 엔진 유형: [RabbitMQ] 선택
→ [다음] 클릭

# 배포 모드
→ 배포 모드 선택: [클러스터 배포] 선택
→ [다음] 클릭

# 설정 구성
→ 브로커 이름: foobar-prod-broker (입력)
→ 브로커 인스턴스 유형: mq.m5.xlarge (선택)
→ 사용자 이름: foobar (입력)
→ 암호: ***** (입력)
→ [CloudWatch Logs 활성] 체크
→ 액세스 유형: [프라이빗 액세스] 선택
→ [기존 VPC와 서브넷 선택] 선택
→ VPC: [foobar-prod] 선택
→ 서브넷: [foobar-prod-private-1], [foobar-prod-private-2], [foobar-prod-private-3]
→ [기존 보안 그룹 선택] 선택 → [foobar-prod-broker] 선택
→ [다음] 클릭

# 검토 및 생성
→ [브로커 생성] 클릭
  • 배포 모드는 단일 인스턴스, 클러스터 배포 중에 선택할 수 있는데 클러스터를 선택할 경우 동일 리전 내의 서로 다른 가용 영역에 각 클러스터 노드를 구성할 수 있어 안정성과 고가용성에 강점을 가질 수 있다. 요금이 부담스러울 경우는 단일 인스턴스를 선택하면 된다.
  • 액세스 유형을 프라이빗 액세스로 선택할 경우, 격리된 서브넷 안에서 애플리케이션과의 안전한 통신을 보장할 수 있다. 이 경우, 외부에서 웹 콘솔 접근이 불가능한데 아래 언급할 SSH 터널링을 이용하면 된다.
  • 브로커 생성 후 리스너 포트는 아래와 같다.
- 5671: RabbitMQ 브로커 리스너 포트, amqps 프로토콜로 접근 가능
- 443, 15671: RabbitMQ 웹 콘솔 리스너 포트

RabbitMQ 브로커 정보 확인

  • AWS CLI를 이용할 경우 아래와 같이 생성한 브로커의 상세 정보를 확인할 수 있다.
$ aws mq describe-broker --region "us-east-2" --broker-id "foobar-prod-broker"

RabbitMQ 웹 콘솔 접속

  • 보안을 위해 격리된 서브넷에 브로커를 생성하였을 경우, RabbitMQ 웹 콘솔 접속은 어떻게 할까? 공식 홈페이지에서는 SSH 터널링을 이용하라고 안내하고 있다.
  • SSH 터널링은 격리된 서브넷에 위치한 브로커와 같은 VPC에 있는 개방된 서브넷에 퍼블릭 IP 주소를 할당 받은 Amazon EC2 인스턴스를 생성한 후, 외부에서 이 인스턴스에 SSH 접속 후 터널링을 통해 443 또는 15671 포트로 접속하는 것이다. 중간 경유지로 사용하는 것이다. 클라이언트 측이 Windows 계열이라면 PuTTY로 아래와 같이 손쉽게 터널링이 가능하다.
Session
- Host Name: XXX.XXX.XXX.XXX (개방된 서브넷에 위치한 RabbitMQ 웹 콘솔에 직접 접속 가능한 EC2 인스턴스의 IP 주소)
Connection
ㄴ SSH
    ㄴ Tunnels
        - Source Port: 15671 (현재 로컬에서 포워딩을 통해 접속할 RabbitMQ 웹 콘솔 포트 번호)
        - Destination: {amazon_mq_host_name}:15671 (원격 서버에서 접속할 RabbitMQ 웹 콘솔 주소와 포트 번호)
        - [Add] 버튼 클릭
  • 설정 후, SSH로 로그인하면 이제 클라이언트의 웹 브라우저에서 https://localhost:15671RabbitMQ 웹 콘솔 접속이 가능하다.
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함