メンテナンス中は、サーバー到達性を無効にすることをおすすめします。 必要な時間はありません。ネットワーク到達性が無効になっている場合、トラフィックは あります。たとえば、Message Processor でネットワーク到達性が無効になっていると、Router は その Message Processor にトラフィックを転送します。
たとえば、Message Processor をアップグレードするには、次の手順を使用します。
- Message Processor でネットワーク到達性を無効にします。
- Message Processor をアップグレードします。
- Message Processor でネットワーク到達性を有効にします。
ネットワーク到達性を無効または有効にする Message Processor
Message Processor のネットワーク到達性を無効にするには、 Message Processor:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
Message Processor はシャットダウンする前に、まず保留中のメッセージを処理します。新規 使用可能な他の Message Processor にルーティングされます。
Message Processor を再起動するには、次のコマンドを使用します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor start
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
メッセージが Google Cloud Storage バケットにある場合、wait_for_ready
コマンドは、
プロセッサがメッセージを処理する準備が整いました:
Checking if message-processor is up: message-processor is up.
ネットワーク到達性を無効または有効にする ルーター
本番環境では、通常、エッジルーターの前にロードバランサを配置します。 ロードバランサは、Router のポート 15999 をモニタリングして、ルートが使用可能であることを確認します。
次を使用して、Router で HTTP または TCP のヘルスチェックを実行するようにロードバランサを構成します。 できます。
http://router_IP:15999/v1/servers/self/reachable
Router が到達可能な場合、この URL は HTTP 200 レスポンス コードを返します。
Router を到達不能にするには、Router でポート 15999 をブロックします。ロードバランサが ポート 15999 で Router にアクセスできないと、リクエストはその Router に転送されなくなります。対象 たとえば、Router ノードで次の iptables コマンドを使用して、ポートをブロックできます。
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
後で Router を利用できるようにするには、iptables をフラッシュします。
sudo iptables -F
ノード上の他のポートの管理に iptables を使用している可能性があるため、これを iptables をフラッシュするか iptables を使用してポート 15999 をブロックする場合は、この点に注意してください。以下を使用している場合: 他のルールについては、-D オプションを使用して特定の変更を元に戻すことができます。
sudo iptables -D INPUT -i eth0 -p tcp --dport 15999 -j REJECT
ルーターのヘルスチェックを行う
Router では、次の種類のヘルスチェックを実行できます。
- liveness: 再起動できることをモニタリング サブシステムに知らせます。
説明します。次に例を示します。
To check a router's liveness: http://router_IP:8081/v1/servers/self/up To check a load balancer's liveness: http://router_IP:15999/v1/servers/self/reachable
- 準備状況: ルーターが特定の環境に対するお客様のリクエストを処理できるかどうかを判断します。
例:
To check both a router and MP pool's availability: http://router_IP:15999/{org}__{env}
Router のステータスを取得するには、Router のポート 8081 にリクエストを送信します。
curl -v http://router_IP:8081/v1/servers/self/up
Router が稼働している場合、リクエストは「true」を返します。HTTP 200 が返されます。なお、 呼び出しでは、Router が稼働しているかどうかを確認します。ルーターのネットワーク到達性を ポート 15999 によって決まります。
Message Processor のステータスを取得するには:
curl http://Message_Processor_IP:8082/v1/servers/self/up