Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Data Proc
  • Сценарии использования
    • Настройка сети для кластеров Data Proc
    • Использование Apache Hive
    • Запуск Spark-приложений
    • Запуск приложений с удаленного хоста
    • Копирование файлов из Yandex Object Storage
  • Пошаговые инструкции
    • Все инструкции
    • Создание кластера
    • Подключение к кластеру
    • Изменение подкластера
    • Управление подкластерами
    • Удаление кластера
  • Концепции
    • Обзор Data Proc
    • Классы хостов
    • Версии Hadoop и компонентов
    • Интерфейсы и порты компонентов
    • Веб-интерфейсы компонентов
    • Автоматическое масштабирование
    • Декомиссия подкластеров и хостов
    • Сеть в Data Proc
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • ClusterService
      • JobService
      • ResourcePresetService
      • SubclusterService
      • OperationService
    • REST
      • Обзор
      • Cluster
        • Обзор
        • create
        • delete
        • get
        • list
        • listHosts
        • listOperations
        • start
        • stop
        • update
      • Job
        • Обзор
        • create
        • get
        • list
      • ResourcePreset
        • Обзор
        • get
        • list
      • Subcluster
        • Обзор
        • create
        • delete
        • get
        • list
        • update
  • Вопросы и ответы
  1. Сценарии использования
  2. Настройка сети для кластеров Data Proc

Настройка сети для Data Proc

  • NAT в интернет
  • Использование NAT-инстанса и статических маршрутов

Согласно концепции сети в Yandex.Cloud, хосты без публичных IP-адресов в кластере Data Proc не имеют доступа к ресурсам, находящимся за пределами виртуальной сети VPC. Чтобы взаимодействовать с узлами других сетей, интерфейсами сервисов Yandex.Cloud или узлами в интернете необходимо настроить публичный IP-адрес для хоста или воспользоваться NAT в интернет для нужной подсети.

NAT в интернет

Возможность настроить NAT в интернет для подсетей VPC находится на стадии Preview. Если эта функция вам пока недоступна, консоль управления предложит вам заполнить заявку, чтобы запросить доступ.

Чтобы включить NAT для подсети:

  1. Войдите в консоль управления.
  2. Выберите сервис VPC в нужном каталоге.
  3. Нажмите на строку нужной виртуальной сети.
  4. Нажмите значок в строке подсети и выберите пункт Включить NAT в интернет.

Использование NAT-инстанса и статических маршрутов

При использовании NAT-инстанса весь трафик проходит через дополнительную виртуальную машину, NAT-инстанс:

  • Вы можете контролировать весь исходящий трафик, и при необходимости развернуть не только NAT, но и VPN между подсетью Yandex.Cloud и нужными ресурсами.
  • При этом возникают дополнительные затраты на NAT-инстанс, и может оказаться существенным ограничение в пропускной способности одного порта виртуальной машины.

Чтобы воспользоваться NAT-конфигурацией, вам понадобится две виртуальных подсети: одна с кластерами Data Proc, и вторая с виртуальной машиной, которой присвоен публичный IP-адрес.

Примеры подсетей:

  • dataproc-net - подсеть с кластерами Data Proc, с CIDR 192.168.1.0/24.
  • dataproc-nat-net - подсеть для NAT-инстанса, с CIDR 192.168.100.0/24.

Чтобы из подсети dataproc-net появился доступ к внешним ресурсам:

  1. Создайте в сети dataproc-nat-net виртуальную машину на основе образа NAT-инстанс, с публичным IP-адресом.

  2. Скопируйте внутренний IP-адрес созданной машины.

  3. На странице сети, в которой находятся подсети, создайте таблицу маршрутизации с именем nat.

  4. В таблицу маршрутизации добавьте статический маршрут:

    • Префикс назначения — 0.0.0.0/0
    • Next hop — внутренний IP-адрес NAT-инстанса.
  5. На странице сети привяжите таблицу маршрутизации nat к подсети dataproc-net.

  6. Включите маршрутизацию на NAT-инстансе, дописав следующие строки в файл /etc/sysctl.conf:

    net.ipv4.ip_forward = 1
    net.ipv4.conf.all.accept_redirects = 1
    net.ipv4.conf.all.send_redirects = 1
    
  7. Включите исполнение /etc/rc.local на запуске, выполнив команды:

    $ sudo systemctl enable rc-local
    $ sudo touch /etc/rc.local
    $ sudo chmod 755 /etc/rc.local
    
  8. В файл /etc/rc.local допишите следующий код:

    #!/bin/sh
    
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    
  9. Перезапустите виртуальную машину:

    $ sudo reboot -f
    

Чтобы проверить, правильно ли настроен NAT, выполните на NAT-инстансе следующую команду:

$ curl ifconfig.co

При корректной конфигурации команда выведет публичный IP-адрес NAT-инстанса.

В этой статье:
  • NAT в интернет
  • Использование NAT-инстанса и статических маршрутов
Language
Вакансии
Политика конфиденциальности
Условия использования
© 2021 ООО «Яндекс.Облако»