AWS CLI v2を使ってRoute53のAレコードを更新

AWS
スポンサーリンク


AWS CLIを使うとRoute53のレコードセットを新規作成、更新、削除することができます。

AWS CLIをインストールしておく必要があるのでこちらを参考にしてください。

AWSで構築したUbuntuにAWS CLI v2をインストール
AWS CLI バージョン2をインストールしてみたので、その方法についてメモ書きです。 AWSを運用管理していく中では必須の機能となり、何かを「自動化したい」場合に役立ちます。 AWS CLI(コマンドラインインターフェース)については公式...
スポンサーリンク

JSONファイルの作成

AWS CLIでRoute53のレコードセットを更新するには更新内容をJSONファイルで作成して読み込む必要があります。
このようなフォーマットでJSONファイルを作成してください。
Action:UPSERT
ResourceRecordSet → Name:Route53で登録しているホストゾーンのレコード名
ResourceRecordSet → ResourceRecords:登録するグローバルIPアドレス

{
  "Comment": "Update A record",
  "Changes": [
    {
      "Action": "UPSERT",
      "ResourceRecordSet": {
        "Name": "hoge.example.com",
        "Type": "A",
        "TTL": 600,
        "ResourceRecords": [
          {
            "Value": "XXX.XXX.XXX.XXX"
          }
        ]
      }
    }
  ]
}

レコードセット更新

route53のchange-resource-record-setsコマンドでAレコードを更新します。

–hosted-zone-idには対象のゾーンIDを記入してください。
Route53→ホストゾーン→対象のホストゾーンを選択して「編集」で確認できます。

$ aws route53 change-resource-record-sets --hosted-zone-id ZXXXXXXXXXXXXXXXXXXXX --change-batch file://updaterecordsets.json

実行結果が表示されます。

{
    "ChangeInfo": {
        "Status": "PENDING", 
        "Comment": "Update A record", 
        "SubmittedAt": "2022-11-15T16:42:31.444000+00:00", 
        "Id": "/change/UQMW8IUW6EJ4WK"
    }
}

下記コマンドでStatusがINSYNCになれば設定反映完了です。

$ aws route53  get-change --id /change/UQMW8IUW6EJ4WK