CDP:Deep Health Check pattern

From AWS-CloudDesignPattern
(Difference between revisions)
Jump to: navigation, search
 
(One intermediate revision by one user not shown)
Line 1: Line 1:
[[Category: CDP: All Patterns]][[Category: CDP: Patterns for Improving Availability]]
+
[[Category: CDP: All Patterns]][[Category: CDP: Patterns for Improving Availability]]{{List of CDP}}{{NoT}}
{{List of CDP}}{{NoT}}
+
 
System Health Check  
 
System Health Check  
  
 
== Problem to Be Solved ==  
 
== Problem to Be Solved ==  
The health check function in the Load Balancer can be used to evaluate the status of the servers bound to the Load Balancer when distributing processes.  
+
You can use the health check function in the Load Balancer to evaluate the status of the servers bound to the Load Balancer when distributing processes.  
  
In a configuration with a web server, a proxy server, an AP server, and a DB server, let us consider a case wherein there is a Load Balancer prior to the web server. The Load Balancer is able to evaluate the status of the web server, and cut off the web server if it is malfunctioning. However, the Load Balancer is unable to discern the status of the back-end servers, such as the proxy server, the AP server, and the DB server.  
+
In a configuration with a web server, a proxy server, an AP server, and a DB server, let's think about a case with a Load Balancer prior to the web server. The Load Balancer is able to evaluate the status of the web server, and cut off the web server if it is malfunctioning. However, the Load Balancer is unable to discern the status of the back-end servers, such as the proxy server, the AP server, and the DB server.  
  
 
== Explanation of the Cloud Solution/Pattern ==
 
== Explanation of the Cloud Solution/Pattern ==
The health check function in the Cloud Load Balancer is used to set up a dynamic page in PHP, JavaServlet, or the like (that is, a program) to perform checks. The program is able to check the operations of the proxy servers, AP servers, and DB servers, and the like, to return the results to the Load Balancer. This makes it possible to check the health of the system as a whole.  
+
You can use the health check function in the Cloud Load Balancer to set up a dynamic page in PHP, JavaServlet, or the like (that is, a program) to perform checks. The program is able to check the operations of the proxy servers, AP servers, and DB servers, and the like, to return the results to the Load Balancer. This makes it possible to check the health of the system as a whole.  
  
 
== Implementation ==  
 
== Implementation ==  
The health check function of the ELB Load Balancer service in AWS performs a status check in terms of whether or not HTTP(S) access to a specified URL is possible. Using this, the destination for the health check is set to a dynamic page. An example of implementation will be given for a system structured from a web server, a proxy server, an AP server, and a DB server.  
+
The health check function of the ELB Load Balancer service in AWS performs a status check in terms of whether or not HTTP(S) access to a specified URL is possible. Using this, set the destination for the health check to a dynamic page. We will give an example of implementation for a system structured from a web server, a proxy server, an AP server, and a DB server.  
  
 
(Procedure)
 
(Procedure)
 
* Start the ELB and enable the health check function.
 
* Start the ELB and enable the health check function.
* Create the program to run on the AP server. That program is to involve accessing the database.
+
* Create the program to run on the AP server. Have that program involve accessing the database.
 
* Set the URL for the health check in the ELB to the program, and have the request to that URL activate the program.
 
* Set the URL for the health check in the ELB to the program, and have the request to that URL activate the program.
 
* Execute the health check from the ELB.  
 
* Execute the health check from the ELB.  
Line 24: Line 23:
  
 
== Benefits ==  
 
== Benefits ==  
* This makes it possible to check all of the servers required for system operation.
+
* This makes it possible for you to check all of the servers required for system operation.
 
* Depending on how the program that responds to the health check is made, it may perform a Close Process (that is, not accept the request), or return customized error information, depending on the detail of the failure.  
 
* Depending on how the program that responds to the health check is made, it may perform a Close Process (that is, not accept the request), or return customized error information, depending on the detail of the failure.  
  
 
== Cautions ==   
 
== Cautions ==   
* If there is a large number of servers, then the health checks themselves will contribute to the traffic, so the timing for the health checks must be carefully considered.
+
* If there is a large number of servers, then the health checks themselves will contribute to the traffic, so you must carefully consider the timing for the health checks.
 
* If the DB server has become a single point of failure (SPOF) and has gone down, there may be an overreaction that can take all of the servers down, depending on how the back-end server check program is written.
 
* If the DB server has become a single point of failure (SPOF) and has gone down, there may be an overreaction that can take all of the servers down, depending on how the back-end server check program is written.
 
* The [[CDP: DB Replication Pattern |DB Replication Pattern]] should be used in parallel so that the DB server part does not become a SPOF.
 
* The [[CDP: DB Replication Pattern |DB Replication Pattern]] should be used in parallel so that the DB server part does not become a SPOF.

Latest revision as of 05:20, 26 November 2012

Architect

System Health Check

Contents

Problem to Be Solved

You can use the health check function in the Load Balancer to evaluate the status of the servers bound to the Load Balancer when distributing processes.

In a configuration with a web server, a proxy server, an AP server, and a DB server, let's think about a case with a Load Balancer prior to the web server. The Load Balancer is able to evaluate the status of the web server, and cut off the web server if it is malfunctioning. However, the Load Balancer is unable to discern the status of the back-end servers, such as the proxy server, the AP server, and the DB server.

Explanation of the Cloud Solution/Pattern

You can use the health check function in the Cloud Load Balancer to set up a dynamic page in PHP, JavaServlet, or the like (that is, a program) to perform checks. The program is able to check the operations of the proxy servers, AP servers, and DB servers, and the like, to return the results to the Load Balancer. This makes it possible to check the health of the system as a whole.

Implementation

The health check function of the ELB Load Balancer service in AWS performs a status check in terms of whether or not HTTP(S) access to a specified URL is possible. Using this, set the destination for the health check to a dynamic page. We will give an example of implementation for a system structured from a web server, a proxy server, an AP server, and a DB server.

(Procedure)

  • Start the ELB and enable the health check function.
  • Create the program to run on the AP server. Have that program involve accessing the database.
  • Set the URL for the health check in the ELB to the program, and have the request to that URL activate the program.
  • Execute the health check from the ELB.

Configuration

2XNdewVsgellO3x8-D1A0E.png

Benefits

  • This makes it possible for you to check all of the servers required for system operation.
  • Depending on how the program that responds to the health check is made, it may perform a Close Process (that is, not accept the request), or return customized error information, depending on the detail of the failure.

Cautions

  • If there is a large number of servers, then the health checks themselves will contribute to the traffic, so you must carefully consider the timing for the health checks.
  • If the DB server has become a single point of failure (SPOF) and has gone down, there may be an overreaction that can take all of the servers down, depending on how the back-end server check program is written.
  • The DB Replication Pattern should be used in parallel so that the DB server part does not become a SPOF.
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox