トラフィックに影響を与えずに Router と Message Processor を再起動する

<ph type="x-smartling-placeholder"></ph> 現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント
詳細

<ph type="x-smartling-placeholder">

このドキュメントでは、デバイスに影響を与えずに Router と Message Processor(MP)を再起動する方法について説明します。 受信 API トラフィック。特定の状況では、Router と MP の再起動が必要になる場合があります。 以下に、いくつかの例を示します。

  • 仮想ホスト、ターゲット サーバー、またはターゲットで直接参照されるキーストアの場合、 エンドポイントが更新されます。
  • API プロキシが少数の MP に部分的にデプロイされる場合。

始める前に

Router と Message Processor について理解を深めるために、 Edge for Private Cloud の概要

トラフィックに影響を与えない Router のローリング再起動

このセクションでは、受信 API トラフィックに影響を与えることなく Router を再起動する手順について説明します。

<ph type="x-smartling-placeholder">
  1. 再起動が必要な Router にログインします。
  2. 次のコマンドを使用して、Router のヘルスチェック ポートをブロックします。これにより Router は正常でないと判断され、その Router にトラフィックはルーティングされません。
    sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
        
    <ph type="x-smartling-placeholder">
  3. 2 分待ってから、処理中のトラフィックがスムーズに処理されるようにしてから Router を再起動します。これを行うには、次のように sleep コマンドを実行します。
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
    <ph type="x-smartling-placeholder">
  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
        
で確認できます。 <ph type="x-smartling-placeholder">
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

トラフィックに影響を与えずに Message Processor をローリング再起動する

このセクションでは、メッセージ プロセッサ(MP)を 影響します。

  1. 再起動が必要な Message Processor にログインします。
  2. 次のコマンドを使用して、Message Processor のヘルスチェック ポートを特定します。
    curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'
        
  3. Message Processor でヘルスチェック ポート(手順 2 で特定)をブロックします。これにより、 Message Processor が正常ではないとみなされ、トラフィックは Message Processor です。
    sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
        

    ここで、port # は手順 2 で実行されたコマンドから返されたポート番号です。

  4. 2 分待ってから、処理中のトラフィックがスムーズに処理されるようにしてから Message Processor を再起動します。これを行うには、次のように sleep コマンドを実行します。
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
    <ph type="x-smartling-placeholder">
  5. 次のように Apigee Monit サービスを停止します。
    apigee-service apigee-monit stop
        
  6. 次のように Apigee Message Processor サービスを停止します。
    apigee-service edge-message-processor stop
        
  7. Apigee Message Processor サービスを次のように開始します。
    apigee-service edge-message-processor start
        
  8. Apigee Message Processor サービスが開始され、メッセージを処理する準備が整うまで待ちます。 受信トラフィックをモニタリングできます。
    apigee-service edge-message-processor wait_for_ready
        
  9. 次のように Apigee Monit サービスを起動します。
    apigee-service apigee-monit start
        
  10. IP テーブルをフラッシュしてヘルスチェック ポートのブロックを解除し、Message Processor が 次のコマンドを実行してトラフィックを再度処理します。
    sudo iptables -F
    sudo iptables -L
        
で確認できます。 <ph type="x-smartling-placeholder">
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 で実行されたコマンドから返されたポート番号です。