各動作は Amazon Web Services より提供されている AWS CLI より実行されます。

起動処理 (restore)

  1. 以下のコマンドにて、Route53 の A レコードに設定されている IP アドレスを 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
    

    上記コマンドの実行に失敗した場合は、起動処理はエラーで終了します。
    上記コマンドの実行に成功した場合は、次の項目2. の処理へ移行します。
  1. Route53 リソースと依存関係がある IP リソースから IP アドレスを取得します。
    Route53 の A レコードで設定されている IP アドレスと IP リソースの IP アドレスを比較して一致した場合は、正常と判断して起動処理は成功で終了します。

    一致しなかった場合は、次の項目3. の処理へ移行します。
  1. 以下のコマンドにて、Route53 の A レコードを更新します。何も設定されていない場合は、A レコードを新規作成します。
    # 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
    

    更新および作成に失敗した場合は、異常と判断し起動処理はエラーで終了します。
    成功した場合は、次の項目4. の処理へ移行します。
  1. 以下のコマンドにて、A レコードの更新、新規作成処理のステータスが “INSYNC” となっていることを確認します。
    INSYNC となっていない場合は、ROUTE53_CHANGEID_INTERVAL の値(デフォルト値 : 20秒)の間隔でで最大で ROUTE53_CHANGEID_TRY_COUNT の値(デフォルト値 : 5回)の回数実施します。
    # aws --output text --cli-connect-timeout AWSCLI_CONNECT_TIMEOUT --cli-read-timeout AWSCLI_READ_TIMEOUT route53 get-change --id /change/$changeId 2>&1
    

    INSYNC とならなかった場合は、異常と判断し起動処理はエラーで終了します。
    INSYNC となった場合は、次の項目5. の処理へ移行します。
  1. 再度、項目1. と同様の処理を行います。
  1. 再度、項目2. と同様の処理を行います。
    前の項目5. で取得した IP アドレスと IP リソースの IP アドレスが一致した場合は、正しい IP アドレスが A レコードに登録できたと判断し起動処理は成功で終了します。
    一致しなかった場合は、起動処理はエラーで終了します。

AWS CLI から応答がない場合は ROUTE53_RESTORE_TIMEOUT の値(デフォルト値 : 140秒)でタイムアウトします。

停止処理 (remove)

Route53 リソースに関する処理はありません。

監視処理 (quickCheck)

  1. 以下のコマンドにて、Route53 の A レコードに設定されている IP アドレスを 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
    

    上記コマンドの実行に失敗した場合は、監視処理はエラーで終了します。
    上記コマンドの実行に成功した場合は、次の項目2. の処理へ移行します。
  1. Route53 リソースと依存関係がある IP リソースから IP アドレスを取得します。
    Route53 の A レコードで設定されている IP アドレスと IP リソースの IP アドレスを比較して一致した場合は、正常と判断して起動処理は成功で終了します。

    一致しなかった場合は、監視処理はエラーで終了します。

AWS CLI から応答がない場合は ROUTE53_QUICKCHECK_TIMEOUT の値(デフォルト値 : 25秒)でタイムアウトします。ただし、タイムアウトではリソース障害とは判断しません。

回復処理 (recover)

起動処理と同じ処理を実行します。
AWS CLI から応答がない場合は ROUTE53_RECOVERY_TIMEOUT の値(デフォルト値 : 140秒)でタイムアウトします。

Recovery Kit for Route53 のパラメーターについて

処理概要の中で使用されている Recovery Kit for Route53 のパラメーターについては、Route53パラメータ一覧 をご参照ください。

フィードバック

お役に立ちましたか?

はい いいえ
お役に立ちましたか
理由をお聞かせください
フィードバックありがとうございました

このトピックへフィードバック

送信