Я создал apache nifi ami, используя упаковщик и упаковщик ansible provisioner, NiFi начинает привязываться только к петлевому IP-адресу по умолчанию, как видно из conf/nifi.properties
нифи.веб.http.хост=127.0.0.1
nifi.web.http.port=8080
nifi.web.http.network.interface.default=
IP-адрес для привязки не может быть известен во время создания AMI, поэтому мы оставляем это свойство как есть и вместо этого создаем правила iptables; как задокументировано здесь, здесь и здесь
Команды, которые я намеревался запустить
судо sysctl net.ipv4.ip_forward = 1
sudo sysctl -w net.ipv4.conf.all.route_localnet=1
sudo iptables -t nat -I PREROUTING -m tcp -p tcp --dport 80 -j DNAT --назначение 127.0.0.1:8080
Вот несущие задачи
- имя: Переадресация всех IP
sysctl:
имя: net.ipv4.ip_forward
значение: "1"
sysctl_set: да
состояние: присутствует
перезагрузить: да
теги:
- примечание
# Настройка порта iptables для перехода с общедоступного IP на 127.0.0.1:8080
# Это потому, что мы не можем настроить IP-адрес, на котором NiFi прослушивает в то время
# построения AMI, чтобы он прослушивал только 127.0.0.1:8080
- имя: разрешить маршрутизацию трафика с подключенного сетевого адаптера AWS на петлю
sysctl:
имя: net.ipv4.conf.all.route_localnet
значение: "1"
sysctl_set: да
состояние: присутствует
перезагрузить: да
теги:
- примечание
- имя: включить переадресацию портов для общедоступного блока CIDR на порт Nifi localhost 8080.
IP-таблицы:
стол: физ.
цепь: ПРЕДВАРИТЕЛЬНАЯ
протокол: TCP
совпадение: TCP
пункт назначения_порт: "80"
прыжок: ДНАТ
to_destination: "127.0.0.1:8080"
теги:
- примечание
Когда я создаю экземпляр из этого AMI sudo iptables -t nat -v -L PREROUTING -n --номер строки
возвращается безрезультатно.