Apigee Edge 문서를 보고 있습니다.
Apigee X 문서를 확인하세요.
이 문서에서는 수신 API 트래픽에 영향을 주지 않고 라우터 및 메시지 프로세서 (MP)를 다시 시작하는 방법을 설명합니다. 특정 상황에서는 라우터와 MP를 다시 시작해야 할 수도 있습니다. 다음은 몇 가지 예입니다.
- 가상 호스트에서 직접 참조되는 키 저장소는 참조를 사용하지 않고 대상 서버 또는 대상 엔드포인트가 업데이트됩니다.
- API 프록시가 일부 MP에 부분적으로 배포되는 경우
시작하기 전에
라우터와 메시지 프로세서에 익숙하지 않은 경우 Private Cloud용 Edge 개요를 읽어보세요.
트래픽에 영향을 주지 않고 라우터 순차적 재시작
이 섹션에서는 수신 API 트래픽에 영향을 주지 않고 라우터를 다시 시작하는 데 사용되는 단계를 설명합니다.
- 다시 시작해야 하는 라우터에 로그인합니다.
-
다음 명령어를 사용하여 라우터에서 상태 점검 포트를 차단합니다. 이렇게 하면 라우터가 비정상으로 간주되어 트래픽이 이 라우터로 라우팅되지 않습니다.
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
-
라우터를 다시 시작하기 전에 이동 중인 트래픽이 원활하게 처리될 수 있도록 2분 동안 기다립니다. 다음과 같이
sleep
명령어를 실행하면 됩니다.for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
다음과 같이 Apigee Monit 서비스를 중지합니다.
apigee-service apigee-monit stop
-
다음과 같이 Apigee 라우터 서비스를 중지합니다.
apigee-service edge-router stop
-
다음과 같이 Apigee 라우터 서비스를 시작합니다.
apigee-service edge-router start
-
Apigee 라우터 서비스가 시작되고 다음 명령어를 사용하여 수신 트래픽을 처리할 준비가 될 때까지 기다립니다.
apigee-service edge-router wait_for_ready
-
다음과 같이 Apigee Monit 서비스를 시작합니다.
apigee-service apigee-monit start
-
상태 점검 포트 15999를 차단 해제하고 라우터가 다음 명령어를 실행하여 트래픽을 다시 처리할 수 있도록 IP 테이블을 삭제합니다.
sudo iptables -F sudo iptables -L
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT for i in {001..120}; do sleep 1; printf "\r ${i}"; done apigee-service apigee-monit stop apigee-service edge-router stop apigee-service edge-router start apigee-service edge-router wait_for_ready apigee-service apigee-monit start sudo iptables -F sudo iptables -L
트래픽에 영향을 주지 않고 메시지 프로세서 순차적 재시작
이 섹션에서는 수신 API 트래픽에 영향을 주지 않고 메시지 프로세서 (MP)를 다시 시작하는 단계를 설명합니다.
- 다시 시작해야 하는 메시지 프로세서에 로그인합니다.
-
다음 명령어를 사용하여 메시지 프로세서의 상태 점검 포트를 식별합니다.
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'
-
2단계에서 식별한 메시지 프로세서의 상태 점검 포트를 차단합니다. 이렇게 하면 메시지 프로세서가 비정상으로 간주되어 트래픽이 이 메시지 프로세서로 라우팅되지 않습니다.
sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
여기서 port #는 2단계에서 실행된 명령어에서 반환된 포트 번호입니다.
-
2분 정도 기다린 후 진행 중인 트래픽이 원활하게 처리되도록 메시지 프로세서를 다시 시작하세요. 다음과 같이
sleep
명령어를 실행하면 됩니다.for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
다음과 같이 Apigee Monit 서비스를 중지합니다.
apigee-service apigee-monit stop
-
다음과 같이 Apigee 메시지 프로세서 서비스를 중지합니다.
apigee-service edge-message-processor stop
- 다음과 같이 Apigee 메시지 프로세서 서비스를 시작합니다.
apigee-service edge-message-processor start
-
Apigee 메시지 프로세서 서비스가 시작되어 다음 명령어를 사용하여 수신 트래픽을 처리할 준비가 될 때까지 기다립니다.
apigee-service edge-message-processor wait_for_ready
-
다음과 같이 Apigee Monit 서비스를 시작합니다.
apigee-service apigee-monit start
- IP 테이블을 삭제하여 상태 점검 포트를 차단 해제하고 메시지 프로세서가 아래 명령어를 실행하여 트래픽을 다시 처리할 수 있도록 합니다.
sudo iptables -F sudo iptables -L
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")' sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT for i in {001..120}; do sleep 1; printf "\r ${i}"; done apigee-service apigee-monit stop apigee-service edge-message-processor stop apigee-service edge-message-processor start apigee-service edge-message-processor wait_for_ready apigee-service apigee-monit start sudo iptables -F sudo iptables -L
여기서 port #는 2단계에서 실행된 명령어에서 반환된 포트 번호입니다.