Skip to main content

AWS Route 53 health check

It monitors endpoints by sending HTTP requests at regular intervals. It marks the endpoint 'healthy' if the response is successful, 'unhealthy' otherwise. The endpoint will be marked 'unhealthy' if there is no response. In addition to endpoints, the Route 53 health checks can also be used to monitor other calculated health checks or cloudwatch alarms' state.

Question: what is monitoring other health checks?

You might want to make sure some minimum number of resources among multiple web servers are healthy.

Question: What does monitoring a cloudwatch alarm mean?

You could have created a CloudWatch alarm that monitors the number of targets running healthy in the load balancer's target group. The Route 53 health check could monitor such CloudWatch alarms.

You can specify the endpoint using an IP address or domain name (the domain name could be configured in Route 53). 

Example: The endpoint can be from an API Gateway which has a path parameter using which it queries a DynamoDB item.

The additional configuration will incur additional costs. You can check the cost by clicking the 'View pricing' link in the console.

You can create a CloudWatch alarm which will send you an SNS notification when the state of the Route 53 health check becomes unhealthy. You can either create a new SNS topic or use an existing SNS topic.

The Route 53 health check will not wait for the CloudWatch alarm to go into the alarm state. Both the Route 53 health check and the CloudWatch alarm will become unhealthy in nearly the same time.

Note: The CloudWatch alarm and the SNS topic should be in the same location.

Comments

Popular posts from this blog

How to squash multiple commits into one?

Suppose you have commits as follows: HEAD~0 --> Commit 5 eeeeeee HEAD~1 --> Commit 4 ddddddd HEAD~2 --> Commit 3 ccccccc HEAD~3 --> Commit 2 bbbbbbb HEAD~4 --> Commit 1 aaaaaaa If you want to squash commits 3, 4 and 5 and make them as a single commit, run the commands below: git rebase -i HEAD~3 3 means, you are squashing the last 3 commits. Update text in editor opened, save and close. git push -f Now, the commits would be as follows: HEAD~0 --> Squashed Commit fffffff HEAD~1 --> Commit 2 bbbbbbb HEAD~2 --> Commit 1 aaaaaaa

GoLang - How to check if key exists in map?

package main import "fmt" var m map[string]string func main() { m = make(map[string]string) m["foo"] = "abc" if val, ok := m["foo"]; ok { fmt.Println("foo found -", val) } else { fmt.Println("foo not found") } if val, ok := m["bar"]; ok { fmt.Println("bar found -", val) } else { fmt.Println("bar not found") } } Output: foo found - abc bar not found

How to delete commits in Git?

Suppose you have 3 commits with SHAs as follows: HEAD~0 --> Commit 3 ccccccc HEAD~1 --> Commit 2 bbbbbbb HEAD~2 --> Commit 1 aaaaaaa If you want to remove the last two commits (i.e., commits 2 and 3) and make Commit 1 as the latest commit, run the following commands: git reset --hard aaaaaaa git push origin HEAD --force Now, the commit history would be as follows: HEAD~0 --> Commit 1 aaaaaaa