Each procedure is performed through the AWS CLI provided by Amazon Web Services.

Bringing a Resource In Service (restore)

  1. Use the following command to get the IP address configured in the Route 53 A record with the AWS CLI.
    # aws --output text --cli-connect-timeout AWSCLI_CONNECT_TIMEOUT --cli-read-timeout AWSCLI_READ_TIMEOUT route53 list-resource-record-sets --hosted-zone-id $zoneId --query \"ResourceRecordSets[?Name == \'$fqdn.\']\" 2>&1
    

    If the above command fails, the restore process ends with an error.
    If the above command is successful, proceed to step 2.
  1. Obtain an IP address from an IP resource that has a dependency on the Route 53 resource.
    If the IP address set in the A record of Route 53 and the IP address of the IP resource match, it is determined to be normal and the startup process ends successfully.

    If they do not match, proceed to step 3.
  1. Execute the following command to update the Route 53 A record. If nothing is configured, create a new A record.
    # aws --output text --cli-connect-timeout AWSCLI_CONNECT_TIMEOUT --cli-read-timeout AWSCLI_READ_TIMEOUT route53 change-resource-record-sets --hosted-zone-id $zoneId --change-batch \'$upsertJSON\' 2>&1
    

    If the update and creation fails, it is determined to be abnormal and the restore process ends with an error.
    If successful, proceed to step 4.
  1. Execute the following command to update the A record and verify that the status of the new creation process is “INSYNC”. If it is not “INSYNC”, execute the command at intervals of ROUTE53_CHANGEID_INTERVAL (default: 20 seconds) up to the value of ROUTE53_CHANGEID_TRY_COUNT (default: 5 times).
    # aws --output text --cli-connect-timeout AWSCLI_CONNECT_TIMEOUT --cli-read-timeout AWSCLI_READ_TIMEOUT route53 get-change --id /change/$changeId 2>&1
    

    If it does not become INSYNC, it is determined to be abnormal and the restore process ends with an error.
    If it becomes INSYNC, proceed to step 5.
  1. Perform the same process as in step 1 again.
  1. Perform the same process as in step 2 again.
    If the IP address obtained in step 5 and the IP address of the IP resource match, it is determined that the correct IP address has been registered in the A record and the restore process ends successfully.
    If they do not match, the restore process ends with an error.

If there is no response from the AWS CLI, it times out with the value of ROUTE53_RESTORE_TIMEOUT (default: 140 seconds).

Taking a Resource Out of Service (remove)

No actions are necessary to remove a Route 53 resource.

Monitoring (quickCheck)

  1. Use the following command to get the IP address configured in the Route 53 A record with the AWS CLI.
    # aws --output text --cli-connect-timeout AWSCLI_CONNECT_TIMEOUT --cli-read-timeout AWSCLI_READ_TIMEOUT route53 list-resource-record-sets --hosted-zone-id $zoneId --query \"ResourceRecordSets[?Name == \'$fqdn.\']\" 2>&1
    

    If the above command fails, the monitoring process ends with an error.
    If the above command is successful, proceed to step 2.
  1. Obtain an IP address from an IP resource that has a dependency on the Route 53 resource.
    If the IP address set in the A record of Route 53 and the IP address of the IP resource match, it is determined to be normal and the startup process ends successfully.

    If they do not match, the monitoring process ends with an error.

If there is no response from the AWS CLI, it times out with the value of ROUTE53_QUICKCHECK_TIMEOUT (default: 25 seconds). Note that a timeout is not considered a resource failure.

Recovery (recover)

Perform the same steps as the restore process.
If there is no response from the AWS CLI, it times out with the value of ROUTE53_RECOVERY_TIMEOUT (default: 140 seconds).

Recovery Kit for Route 53 Parameters

For more details on the Recovery Kit for Route 53 parameters described here, see Route 53 Parameters List .

Feedback

Was this helpful?

Yes No
You indicated this topic was not helpful to you ...
Could you please leave a comment telling us why? Thank you!
Thanks for your feedback.

Post your comment on this topic.

Post Comment