Группы адресов

Группы адресов позволяют одной DNS записи разрешаться в несколько IP с балансировкой нагрузки.

Список групп адресов

curl -s "https://api.1bytedns.ru/client/v1/zones/42/address_groups?type=A" \
  -H "Authorization: Bearer TOKEN" | python3 -m json.tool

Параметры запроса: page, per_page, type (A или AAAA)

{
  "success": true,
  "result": [
    {
      "id": 5,
      "name": "web-servers",
      "type": "A",
      "lb_policy": "round_robin",
      "evaluate_health": true,
      "member_count": 3,
      "created_on": "2024-01-15T12:00:00Z",
      "modified_on": "2024-06-01T10:30:00Z"
    }
  ],
  "result_info": {"page": 1, "per_page": 20, "count": 1, "total_count": 1, "total_pages": 1},
  "errors": [],
  "messages": []
}

Получение группы адресов

curl -s https://api.1bytedns.ru/client/v1/zones/42/address_groups/5 \
  -H "Authorization: Bearer TOKEN" | python3 -m json.tool
{
  "success": true,
  "result": {
    "id": 5,
    "name": "web-servers",
    "type": "A",
    "lb_policy": "round_robin",
    "evaluate_health": true,
    "members": [
      {"id": 10, "address": "192.0.2.1", "weight": 1, "role": "primary", "sort_order": 0}
    ],
    "created_on": "2024-01-15T12:00:00Z",
    "modified_on": "2024-06-01T10:30:00Z"
  },
  "errors": [],
  "messages": []
}

Создание группы адресов

curl -s -X POST https://api.1bytedns.ru/client/v1/zones/42/address_groups \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "web-servers", "type": "A"}' | python3 -m json.tool

Параметры тела:

ПолеТипОбяз.Описание
namestringДаИмя группы (уникально в зоне, без учёта регистра)
typestringДаA (IPv4) или AAAA (IPv6)

Удаление группы адресов

curl -s -X DELETE https://api.1bytedns.ru/client/v1/zones/42/address_groups/5 \
  -H "Authorization: Bearer TOKEN"

Каскадное удаление: сначала удаляются все члены.

Члены группы адресов

Список членов

curl -s https://api.1bytedns.ru/client/v1/zones/42/address_groups/5/members \
  -H "Authorization: Bearer TOKEN" | python3 -m json.tool
{
  "success": true,
  "result": [
    {"id": 10, "address": "192.0.2.1", "weight": 1, "role": "primary", "sort_order": 0, "healthy": true},
    {"id": 11, "address": "192.0.2.2", "weight": 1, "role": "secondary", "sort_order": 1, "healthy": false}
  ],
  "errors": [],
  "messages": []
}

Добавление члена

curl -s -X POST https://api.1bytedns.ru/client/v1/zones/42/address_groups/5/members \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"address": "192.0.2.3", "weight": 1, "role": "primary"}' | python3 -m json.tool

Параметры тела:

ПолеТипОбяз.Описание
addressstringДаIP-адрес (IPv4 для типа A, IPv6 для типа AAAA)
weightintНетВес балансировки (по умолчанию: 1)
rolestringНетprimary или secondary

Обновление члена

curl -s -X PATCH https://api.1bytedns.ru/client/v1/zones/42/address_groups/5/members/12 \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"weight": 5, "role": "secondary"}'

Удаление члена

curl -s -X DELETE https://api.1bytedns.ru/client/v1/zones/42/address_groups/5/members/12 \
  -H "Authorization: Bearer TOKEN"

Обновлено: 2026-06-26