Доступ к веб-интерфейсам
Большинство сервисов экосистемы Hadoop не имеет авторизации, поэтому по умолчанию доступ к ним разрешен исключительно из внутренней сети. По умолчанию после старта кластера группы безопасности настроены следующим образом:
Исходящий трафик | Без ограничений |
Входящий и исходящий трафик между узлами кластера в рамках внутренней сети | Без ограничений |
Входящий трафик на TCP-порт 8080 головного узла | Без ограничений, используется для доступа в интерфейсAmbari(авторизация по логину и паролю). |
Входящий трафик на TCP-порт 22 головного узла | Без ограничений, используется для доступа по SSH (авторизация по SSH-ключу). |
Входящий ICMP-трафик на головной узел | Без ограничений |
Остальной трафик | Запрещен |
Таким образом, конфигурация по умолчанию обеспечивает доступ только к веб- интерфейсуAmbariи SSH-доступ к головному узлу. Доступ к внутренним веб-интерфейсам и API-сервисам возможен только из внутренней сети, изолированной от публичной сети Интернет. Для обеспечения доступа возможны следующие варианты:
- Настройка VPN-доступа к ресурсам VK Cloud из сети организации.
- Использование головного узла в качестве прокси-сервера.
- Открытие доступа к определенным диапазонам IP-адресов через группы безопасности.
Мы рекомендуем именно создание VPN-подключения от сети организации к сети VK Cloud для предоставления доступа ко всем ресурсам кластера Hadoop.При этом ресурсы VK Cloud будут доступны, как будто они находятся в рамках внутренней сети организации.
Для использования VPN с кластером Hadoop необходимо сделать следующее:
- Создать в рамках проекта новую внутреннюю сеть и маршрутизатор.
- Запустить кластер Hadoop, используя созданную сеть в качестве внутренней сети кластера.
- Настроить VPN-подключение к сервисам VK Cloud.
В качестве альтернативного варианта можно использовать SSH-туннель до головного узла. Для организации SSH-туннеля требуется машина с OpenSSH-клиентом любой версии. SSH-клиент запускается с опцией-D, которая запускает прокси-сервер SOCKS5, используя SSH-туннель до удалённого сервера:
ssh -D 3128 -C -q -N -f centos@хост
где:
- опция
-D 3128
говорит о том, что следует запустить прокси-сервер SOCKS5; - опция
-C
запрашивает компрессию данных; - опция
-q
минимизирует вывод статусных сообщений в консоль; - опция
-N
говорит о том, что при подключении не следует запускать никакие команды и использовать SSH-соединение исключительно для туннеля; - опция
-f
отправляет SSH-клиент в фон (background).
При необходимости SSH-SOCKS5-туннель может быть автоматически создан при загрузке системы. Для этого следует создать service-файл для systemd.
/etc/systemd/system/mcs-proxy.service: \[Unit\] Description="Setup SOCKS" Proxy After="network.target \[Service\] ExecStart=/usr/bin"/ssh -D 8123 -C -q -N centos@ХОСТ -i /home/user/.ssh/id\_rsa \[Install\] WantedBy="multi-user.target
После создания файла перезагрузите конфигурацию systemd и запустите сервис:
systemctl daemon-reloadsystemctl start mcs-proxy
Для работы SSH-туннеля необходимо наличие SSH-ключа без passphrase либо добавление ключа с passphrase в SSH-агент.
После запуска SSH-SOCKS5-прокси можно будет использовать адрес 127.0.0.1:3128 в качестве SOCKS5-прокси в браузере или других утилитах.
Более подробную информацию по включению SOCKS5-прокси в браузере можно найти в документации Firefox и Chrome. Подробная информация о процедуре и параметрах настройки самого туннеля содержится вдокументации SSH-клиента.
Настройка групп безопасности выполняется через раздел Виртуальные сети личного кабинета VK Cloud, подробнее в статьях Ограничение трафика и Управление правилами файервола.