nhnacademy-be3-CookShoong / issue-manage

0 stars 0 forks source link

RabbitMQ 설정 #238

Open eora21 opened 1 year ago

eora21 commented 1 year ago

Docker RabbitMQ Image 설치

https://registry.hub.docker.com/_/rabbitmq/

docker pull rabbitmq

Docker run

docker run -d --hostname {hostname} --name {name} -p 5672:5672 -p 15672:15672 {containerName}

docker run -d --hostname cookshoong --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq

install manage(생략 가능)

인스턴스 안으로 들어가야 한다. UI로 rabbitMq를 관리하고 싶다면 설치해야 한다. 설치 후 port 15672에 접속 가능 docker exec {containerId or name} rabbitmq-plugins enable rabbitmq_management

docker exec -it rabbitmq sh docker exec rabbitmq rabbitmq-plugins enable rabbitmq_management

guest 계정 삭제하기

기존 guest 계정은 모든 권한 허용이 되어 있으며, 단순한 id와 pw를 통해 모든 것을 확인할 수 있다. localhost 환경에서만 접근 가능하나 혹시 모를 보안 사항에 대비하여 삭제하기로 했다.

rabbitmqctl delete_user guest

Virtual Host 추가하기

접근할 수 있는 범위라 봐도 좋을 것 같다. 기본으로 / 가상호스트가 존재하며, guest는 해당 가상호스트에 붙어있다. 두 팀의 범위를 나누기 위해 가상 호스트를 /, cookshoong, baegopa로 나누자

rabbitmqctl add_vhost cookshoong rabbitmqctl add_vhost baegopa

계정 추가하기

rabbitmqctl add_user {ID} {PW}

rabbitmqctl add_user shoong cook123 rabbitmqctl add_user baegopa baegopa123!

가상 호스트에 추가하면서 권한 주기

set_permissions -p {virtualHostPath} {user} {configure} {write} {read} configure: exchange, queue 등을 생성할 수 있음 write: publish(메시지 전송) 가능 read: consume(메시지 수신, 소비) 가능

rabbitmqctl set_permissions -p cookshoong shoong ".*" ".*" ".*" rabbitmqctl set_permissions -p baegopa baegopa ".*" ".*" ".*"

태그 추가

`rabbitmqctl set_user_tags {user} {tag} Admin(관리자), Monitoring(조회), Policymaker(정책 관리자), Management(conf 관리), None

rabbitmqctl set_user_tags shoong administrator rabbitmqctl set_user_tags baegopa administrator

채널 탭 활성화

cd /etc/rabbitmq/conf.d/ echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf