AWS Route53 헬스체크용 이미지출력 프로그램
AWS의 네임서버에서 사용가능한 헬스체크용(상태검사) 응답 프로그램 입니다.
이미지를 넣어야 되는데 별도의 확장자를 제한하지 않기 때문에 PHP를 이용해서 이미지를 출력하는 프로그램 입니다.
문자열 체크 방식을 사용하면 되는데 추가적인 비용이 있고. 한대라 아니라 여러대 이면서 계속 사용하기엔 부담이 없으면 이런 형태는 의미는 없습니다. 다만 그렇다 해도 프로그램을 만들어야 하기 때문이 이 프로그램하고 큰 차이는 없다고 볼 수 있겠습니다.
<?
/**
* --------------------------------------------------------------------------
*
* 헬스 체크에 필요한 항목을 체크 후 정상이면 이미지를 출력 한다
*
* 작성자: www.pabburi.co.kr
* 작성일: 2022. 00. 00
*
* --------------------------------------------------------------------------
*
*/
ini_set("display_errors", 0);
# -----------------------------------------------------
# 1) 서비스와 관계가 있는것들중 치명적인것 체크
# -----------------------------------------------------
// 디비 커넥션 체크
$oMysqlCon = dbcon_mysqli();
// 레디스 커넥션 체크
$oRedisCon = dbcon_redis();
// AWS 검색엔진 체크
# -----------------------------------------------------
# 2) 결과에 대한 출력
# -----------------------------------------------------
if ( $oMysqlCon && $oRedisCon )
{
// header('Content-Type: image/png');
// echo base64_decode('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=');
header('Content-Type: image/gif');
echo base64_decode('R0lGODlhAQABAJAAAP8AAAAAACH5BAUQAAAALAAAAAABAAEAAAICBAEAOw==');
}
else {
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
exit;
}
function dbcon_mysqli() : bool {
return true;
}
function dbcon_redis() : bool {
return true;
}
* 서버 상태체크용 응답 프로그램 원리는 간단 합니다.
1) 서비스에 치명적인 것들이 문제가 없는지 확인
2) 오류가 있으면 404 출력
정상이면 1픽셀 이미지를 출력 합니다.
네임서버의 헬스체크설정은 아래를 참고하세요
AWS 네임서버(route53) 상태검사구성 헬스체크(healthchecks) > AWS.클라우드 (pabburi.co.kr)
--
이러한 원리로 메일수신 체크도 합니다. 백그라운드 이미지로 지정하고 읽히면 그에 해당하는 메일주소에 대해서 수신 되었다고 표시를 하는 방식 입니다.