AWS MQ - RabbitMQ WebConsole 접속하기
작성일자 : 2025년 01월 09일
개요
AWS MQ를 통해 RabbitMQ를 생성하면, 아래와 같이 RabbitMQ의 Endpoints와 Web Console URL이 생성됩니다.
하지만, 만일 RabbitMQ가 VPC의 Private Subnet에 생성되었을 경우, 바로 링크를 클릭해도 Web Console에 접속할 수 없습니다.
이번 포스트에서는 Public Subnet에 존재하는 Bastion 호스트를 통해서 Local에서 RabbitMQ Web Console에 접속하는 방법을 소개합니다.
VPC 구성
Public Subnet
Bastion 호스트 (EC2 인스턴스)
Bastion 호스트는 Public Subnet에 존재하는 EC2 인스턴스로, Local에서 Private Subnet에 존재하는 RabbitMQ에 접속하기 위한 Gateway 역할을 합니다.
Security Group은 아래와 같이 설정합니다:
- Inbound Rule
- Type: SSH
- Protocol: TCP
- Port Range: 22
- Source: 내 IP
- Outbound Rule
- Type: Custom TCP
- Protocol: TCP
- Port Range: 15671
- Destination: RabbitMQ의 Security Group
Private Subnet
RabbitMQ
RabbitMQ는 Private Subnet에 존재합니다. RabbitMQ의 Security Group은 아래와 같이 설정합니다:
- Inbound Rule
- Type: Custom TCP
- Protocol: TCP
- Port Range: 15671
- Source: Bastion 호스트의 Security Group
+ RabbitMQ 접속을 위한 5671 포트는 별도로 설정해주셔야 합니다. 이 포스트는 Web Console 접속에만 초점을 맞추고 있습니다.
- Outbound Rule
- Type: All traffic
- Protocol: All
- Port Range: All
- Destination: 0.0.0.0/0
접속 방법
SSH Config 파일 작성
Local에서 Bastion 호스트로의 SSH 접속 편의를 위해 Config 파일을 작성하겠습니다.
~/.ssh/config
파일을 열어 아래와 같이 작성합니다.
Host bastion
HostName ec2-XXXXXXXXX.ap-northeast-2.compute.amazonaws.com
User ec2-user
IdentityFile ~/.ssh/XXXX.pem
ForwardAgent yes
Host
: SSH 접속 시 사용할 호스트명HostName
: Bastion 호스트의 Public DNSUser
: EC2 인스턴스의 사용자명IdentityFile
: EC2 인스턴스의 Key Pair 파일 경로ForwardAgent
: SSH Agent Forwarding 설정
SSH Forwarding
아래의 명령어를 통해 Local에서 Bastion 호스트로 SSH Forwarding을 설정합니다.
ssh -L 15671:xxxxxxxxxxxxxxxxxxxxxxxxxx.mq.ap-northeast-2.amazonaws.com:15671 bastion
-L
: Local 포트 포워딩15671
: Local에서 접속할 포트xxxxxxxxxxxxxxxxxxxxxxxxxx.mq.ap-northeast-2.amazonaws.com
: RabbitMQ의 Endpoints
RabbitMQ Web Console 접속
이제 Local에서 아래와 같이 Web Console에 접속할 수 있습니다. Username
과 Password
는 RabbitMQ 생성 시 설정한 것을 입력해주시면 됩니다.
https://localhost:15671