Для тех, кто подписывает и GeoDNS, и «тяжёлый» пайплайн: см. матрицу глобального входа (GeoDNS и SSH), split-horizon и p95 артефактов и Worker и SSH p95. Ниже — SCP/SFTP, окно TCP и приёмка JP / KR / HK / SG / US-West.
Матрица решений: SCP/SFTP и кросс-регион
Выберите протокол и топологию до того, как закрепите hostname в Terraform. SCP (поверх одного SSH-канала) проще в аудите ключей, но упирается в один поток на сессию; SFTP даёт множественные запросы внутри подсистемы, но требует согласовать лимиты сервера и клиента.
| Критерий | SCP по прямому SSH | SCP/SFTP через бастион | SFTP к выделенному сервису |
|---|---|---|---|
| Предсказуемость p95 | Высокая при одном крупном файле | Зависит от очереди на jump; измеряйте отдельно | Хороша при зеркале рядом с Mac |
| Параллелизм | Ограничен моделью одного канала | Часто лучше разнести файлы по разным туннелям | Несколько async-запросов в одной сессии |
| Целостность | Доверие к SSH + размеру на диске | Двойной hop — логируйте оба host key | Добавьте manifest (SHA-256) поверх протокола |
| Операционная стоимость | Минимум ролей | Выше: ACL, ротация ключей, корреляция логов | Сертификаты, WAF, отдельный SLO |
| Узел / рынок | Цель по p95 (обратная вытяжка фикстуры 500 МБ) | Шунт / приёмка |
|---|---|---|
| JP | ≤ 1,25× от внутренней базовой линии команды в Kanto | DNS-ответ и SFTP endpoint в одном метро; без «улёта» в US-West без явной метки в логе |
| KR | Аналогично; контроль потерь < 0,3 % на пути к bastion | Отдельный hostname для domestic CI; GeoDNS только с ECS |
| HK | Сравнивайте с SZ-выходом; фиксируйте оба профиля | Две синтетические пробы (ISP HK и GBA); расхождение в тикете |
| SG | ≤ 1,25× для SEA-раннеров; AU — отдельная строка бюджета | Шунт на SG при аварии JP: ручной ack + снижение TTL заранее |
| US-West | Для APAC-команд документируйте «высоколатентный путь» | Не смешивать в одной джобе вытяжку из US и интерактивный SSH в JP без разделения записей |
close() на клиенте, с разбивкой: DNS, TCP+TLS (если есть), SFTP handshake, байты. Сравнение «до/после» бессмысленно без фиксации версии OpenSSH и включённого HPN/pipelining.Выбор маршрута
Разделите управляющий и артефактный hostname: первый — GeoDNS для людей, второй — split-horizon или региональный CNAME к городу удалённого Mac. Транстихоокеанский стык — отдельная строка матрицы с удвоенным бюджетом p95 и меткой «запасной US-West». Прямой SCP выигрывает на одном tarball; ProxyJump — только с замером p95; выделенный SFTP — в одном регионе с object store.
Параллельные соединения
Несколько мелких файлов в одном SSH-канале часто проигрывают одному потоку. Компромисс: 2–4 параллельные сессии на сборщик; дальше — только после MaxSessions на сервере и проверки CPU. На SFTP согласуйте MaxStartups и FD, иначе p95 уезжает в хвост accept().
Контрольные суммы
SSH защищает транспорт, не зеркало. Публикуйте SHA-256 или подпись; сверяйте до распаковки. Manifest держите в том же регионе, что и сборщик.
Повторы при сбоях
Backoff с джиттером, лимит попыток, идемпотентные имена; без ретраев при auth-ошибках. Докачка — если сервер даёт offset; иначе — только полная перекачка и атомарная замена после checksum.
sysctl и OpenSSH: что можно трогать
Ниже — параметры, которые реально влияют на сквозной throughput при высоком BDP. Каждый сопровождайте границей применимости: не выкатывайте на общие ноутбуки без измерений.
# Linux (отправитель или промежуточный relay) — только если вы владеете хостом и понимаете память
# Граница: не на многоарендных VPS с жёстким лимитом памяти ядра; откат при росте retransmits.
sudo sysctl -w net.ipv4.tcp_window_scaling=1
sudo sysctl -w net.core.rmem_max=134217728 net.core.wmem_max=134217728
sudo sysctl -w net.ipv4.tcp_rmem="4096 87380 67108864" net.ipv4.tcp_wmem="4096 16384 67108864"
# macOS клиент: проверить, что scaling включён (чтение; изменения через системный профиль)
sysctl net.inet.tcp.sendspace net.inet.tcp.recvspace
# Клиент OpenSSH — высокий BDP, длинные сессии SCP/SFTP
# Граница: только между доверенными хостами; может ухудшить fairness на шаренном Wi‑Fi.
Host artifact-*
HostName your-sftp.example
Compression no
IPQoS throughput
ServerAliveInterval 30
ServerAliveCountMax 6
# Сервер sshd (фрагмент) — согласовать с политикой безопасности
# Граница: не открывать шире, чем требует CI; мониторить число сессий на пользователя.
# MaxSessions 20
# ClientAliveInterval 60
# TCPKeepAlive yes
На удалённом Mac приоритет — стабильный путь и диск: агрессивный tcp_wmem на стороне сборщика бессмысленен, если узкое место — подпись кода или распаковка. Всегда фиксируйте версию OpenSSH в отчёте приёмки.
Итог для закупки: сначала закрепите региональные имена и чеклист шунтирования, затем поднимите сборщика рядом с зеркалом артефактов. На vpshalo выберите PoP (JP, KR, HK, SG, US-West и др.) под вашу матрицу, сравните тарифы, оформите аренду без лишней бюрократии и продолжайте мерить p95 после каждого изменения DNS или бастиона.
Сверьте матрицу с витриной и оформите Mac в нужном PoP
Откройте главную, загляните в помощь, сравните локали: Япония, Корея, Китай (упрощённый), Тайвань, English — и вернитесь к списку статей за дополнительным контекстом по DNS и Worker.