У меня есть 5 узлов Greenplum Cluster в Amazon Web Services с Ambari. В моей группе безопасности открыты следующие порты (все с протоколом TCP): 80 50030 28080 8080 5432 50075 8441 50020 50010 443 9000 50070 22 50475 8021 8440 50470 50470 8020 50060 50090 51111 Я не могу запускать службы в Ambari, только Я могу запускать службы, если добавлю правило «весь трафик» в мою группу AWS Security. Какие порты мне нужно открыть и какие порты из моей группы безопасности я могу закрыть? Спасибо за помощь!
Какие порты нужно открыть в AWS для запуска кластера Greenplum, развернутого в Ambari?
Ответы (1)
При развертывании в AWS вам потребуется создать несколько ресурсов.
- Зона доступности: вы захотите использовать только одну зону доступности при развертывании любого продукта для работы с большими данными в Amazon.
- VPC: так же, как AZ, создайте только один VPC. Вы также можете настроить VPC для включения имен хостов DNS, что упрощает работу.
- Подсеть: подсеть указывает диапазон IP-адресов для развертываемых вами хостов. Вы также хотите, чтобы подсеть автоматически назначала IP-адрес при запуске.
- Группа безопасности: при создании VPC автоматически создается группа безопасности. Вы можете использовать это или создать еще один. Вероятно, здесь у вас возникли проблемы.
Включите TCP-порты 0-65535, UDP-порты 0-65535 и ping (icmp-порт -1) только для группы безопасности. Не открывайте все это миру (0.0.0.0/0).
Например:
aws ec2 authorize-security-group-ingress --group-id $security_group_id --protocol tcp --port 0-65535 --source-group $security_group_id
aws ec2 authorize-security-group-ingress --group-id $security_group_id --protocol udp --port 0-65535 --source-group $security_group_id
aws ec2 authorize-security-group-ingress --group-id $security_group_id --protocol icmp --port -1 --source-group $security_group_id
Затем получите свой IP-адрес. Вот изящный способ сделать это:
security_cidr=$(wget http://ipecho.net/plain -O - -q ; echo "/32")
Теперь разрешите доступ к ssh и подключитесь к базе данных только со своим IP-адресом.
aws ec2 authorize-security-group-ingress --group-id $security_group_id --protocol tcp --port 22 --cidr $security_cidr
aws ec2 authorize-security-group-ingress --group-id $security_group_id --protocol tcp --port 5432 --cidr $security_cidr
- Шлюз: создайте шлюз и подключите его к своему VPC.
- Маршрут: для VPC будет автоматически создана таблица маршрутов. Вам нужно будет выполнить маршрутизацию, используя шлюз и вашу таблицу маршрутизации, которая допускает пункт назначения 0.0.0.0/0. Это позволяет кластеру обмениваться данными через Интернет, но ваша группа безопасности по-прежнему разрешает подключение только вашему IP-адресу.
- Группа размещения: создание этой группы объединяет все ваши узлы для повышения производительности.
- Развертывание экземпляров: используйте вариант, оптимизированный для ebs, и выделенную аренду. При использовании хранилища EBS используйте диск типа st1. Если вы используете эфемерный, используйте RAID 0 с как можно большим количеством томов. Не создавайте только одно монтирование RAID0.
Вам еще предстоит выполнить множество оптимизаций, таких как включение сети 10 ГБ, установка сетевых драйверов Intel, настройка операционной системы, а также форматирование и монтирование дисков.
Намного более простым решением является использование предложения Pivotal Greenplum Amazon Marketplace, в котором все это уже настроено для вас. Он также развертывает кластер за считанные минуты.