트래픽에 영향을 주지 않고 라우터 및 메시지 프로세서 다시 시작

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

이 문서에서는 수신 API 트래픽에 영향을 주지 않고 라우터 및 메시지 프로세서 (MP)를 다시 시작하는 방법을 설명합니다. 경우에 따라 라우터와 MP를 다시 시작해야 할 수도 있습니다. 다음은 몇 가지 예입니다.

  • 가상 호스트에서 직접 참조되는 키 저장소가 타겟 서버 또는 타겟 엔드포인트는 참조를 사용하지 않고 업데이트됩니다.
  • API 프록시가 일부 MP에 부분적으로 배포되는 경우

시작하기 전에

라우터 및 메시지 프로세서에 대해 잘 모른다면 프라이빗 클라우드용 Edge 개요를 읽어보세요.

트래픽에 영향을 미치지 않고 라우터 순차적 재시작

이 섹션에서는 수신 API 트래픽에 영향을 주지 않고 라우터를 다시 시작하는 데 사용되는 단계를 설명합니다.

  1. 다시 시작해야 하는 라우터에 로그인합니다.
  2. 다음 명령어를 사용하여 라우터에서 상태 점검 포트를 차단합니다. 이렇게 하면 라우터가 비정상으로 간주되어 트래픽이 이 라우터로 라우팅되지 않습니다.
    sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
        
  3. 라우터를 다시 시작하기 전에 진행 중인 트래픽이 원활하게 처리될 수 있도록 2분 동안 기다립니다. 다음과 같이 sleep 명령어를 실행하면 됩니다.
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  4. 다음과 같이 Apigee Monit 서비스를 중지합니다.
    apigee-service apigee-monit stop
        
  5. 다음과 같이 Apigee Router 서비스를 중지합니다.
    apigee-service edge-router stop
        
  6. 다음과 같이 Apigee Router 서비스를 시작합니다.
    apigee-service edge-router start
        
  7. Apigee Router 서비스가 시작되고 다음 명령어를 사용하여 수신 트래픽을 처리할 준비가 될 때까지 기다립니다.
    apigee-service edge-router wait_for_ready
        
  8. 다음과 같이 Apigee Monit 서비스를 시작합니다.
    apigee-service apigee-monit start
        
  9. 다음 명령어를 실행하여 IP 테이블을 플러시하여 상태 점검 포트 15999를 차단 해제하고 라우터가 트래픽을 다시 처리할 수 있도록 합니다.
    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)를 다시 시작하는 데 사용되는 단계를 설명합니다.

  1. 다시 시작해야 하는 메시지 프로세서에 로그인합니다.
  2. 다음 명령어를 사용하여 메시지 프로세서의 상태 점검 포트를 식별합니다.
    curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'
        
  3. 메시지 프로세서에서 상태 점검 포트 (2단계에서 확인됨)를 차단합니다. 이렇게 하면 메시지 프로세서가 비정상으로 간주되어 트래픽이 이 메시지 프로세서로 라우팅되지 않습니다.
    sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
        

    여기서 port #는 2단계에서 수행한 명령어에서 반환된 포트 번호입니다.

  4. 메시지 프로세서를 다시 시작하기 전에 진행 중인 트래픽이 원활하게 처리될 수 있도록 2분 동안 기다립니다. 다음과 같이 sleep 명령어를 실행하면 됩니다.
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  5. 다음과 같이 Apigee Monit 서비스를 중지합니다.
    apigee-service apigee-monit stop
        
  6. 다음과 같이 Apigee 메시지 프로세서 서비스를 중지합니다.
    apigee-service edge-message-processor stop
        
  7. 다음과 같이 Apigee 메시지 프로세서 서비스를 시작합니다.
    apigee-service edge-message-processor start
        
  8. Apigee 메시지 프로세서 서비스가 시작되고 다음 명령어를 사용하여 수신 트래픽을 처리할 준비가 될 때까지 기다립니다.
    apigee-service edge-message-processor wait_for_ready
        
  9. 다음과 같이 Apigee Monit 서비스를 시작합니다.
    apigee-service apigee-monit start
        
  10. 아래 명령어를 실행하여 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단계에서 수행한 명령어에서 반환된 포트 번호입니다.