AWS Terraform에 포함된 AWS Route53 상태 확인 모니터링 John Stilia

7599 단어 cloudawsobservability

어떤 AWS 리소스를 사용하고 있습니까?


  • Route53 Health Check
  • CloudWatch Alarm
  • SNS Topic
  • SNS Subscription

  • 우리가 해결하려는 문제는 무엇입니까?



    Route53 상태 확인이 실패할 때 알림을 받고 싶습니다. 엔드포인트를 사용할 수 없거나 응답하지 않는 경우 이에 대해 알고 싶습니다. CloudWatch를 사용하여 상태 확인을 모니터링하고 상태 확인이 실패하면 SNS 알림을 보낼 수 있습니다.

    문제를 어떻게 해결합니까?



    Terraform을 사용하여 필요한 리소스를 생성합니다. Route53 상태 확인, CloudWatch 알람, SNS 주제 및 SNS 구독을 생성합니다. Route53 상태 확인을 사용하여 엔드포인트의 상태를 모니터링합니다. CloudWatch 경보를 사용하여 Route53 상태 확인을 모니터링합니다. SNS 주제를 사용하여 알림을 보냅니다. SNS 구독을 사용하여 SNS 주제를 구독하겠습니다.

    참고 사항


  • CloudWatch 경보는 Route53 상태 확인이 실패하면 SNS 주제로 알림을 보냅니다.
  • SNS 구독은 SNS 주제를 구독하고 SNS 구독에 지정된 이메일 주소로 알림을 보냅니다.
  • SNS 구독은 SNS 주제가 "ALARM: "이라는 제목의 알림을 보내는 경우에만 알림을 보냅니다.
  • SNS 구독은 이메일 수신자가 SNS 주제를 구독하는 경우에만 알림을 보냅니다.

  • Terraform 코드란 무엇입니까?



    건강 체크를 위한 Cloudwatch 알람

    resource "aws_cloudwatch_metric_alarm" "iusearchbtw_blog" {
      alarm_name          = "iusearchbtw.blog"
      comparison_operator = "LessThanThreshold"
      evaluation_periods  = "2"
      metric_name         = "HealthCheckStatus"
      namespace           = "AWS/Route53"
      period              = "60"
      statistic           = "Minimum"
      threshold           = "1"
    
      dimensions = {
        HealthCheckId = aws_route53_health_check.iusearchbtw_blog.id
      }
    
      alarm_description = "This metric monitors status of the health check iusearchbtw.blog"
      alarm_actions     = [aws_sns_topic.iusearchbtw_blog.arn]
    
      tags = {
        creation-type = "terraform-cloud"
      }
    }
    


    Route53 상태 확인

    resource "aws_route53_health_check" "iusearchbtw_blog" {
      fqdn              = "iusearchbtw.blog"
      port              = 443
      type              = "HTTPS"
      resource_path     = "/"
      failure_threshold = "5"
      request_interval  = "30"
    
      tags = {
        creation-type = "terraform-cloud"
      }
    }
    


    SNS 주제

    resource "aws_sns_topic" "iusearchbtw_blog" {
      name = "iusearchbtw_blog"
    
      tags = {
        creation-type = "terraform-cloud"
      }
    }
    


    SNS 구독

    resource "aws_sns_topic_subscription" "iusearchbtw_blog" {
      topic_arn = aws_sns_topic.iusearchbtw_blog.arn
      protocol  = "email"
      endpoint  = "[email protected]"
    }
    
    


    참조


  • AWS
  • Route53 Health Check
  • CloudWatch Alarm
  • SNS Topic
  • SNS Subscription

  • 테라포밍
  • aws_cloudwatch_metric_alarm
  • aws_route53_health_check
  • aws_sns_topic
  • aws_sns_topic_subscription

  • 좋은 웹페이지 즐겨찾기