Redshift Copy and Unload Security

Мой кластер Redshift находится в частной подсети, которая полностью заблокирована. Я хочу бежать COPY а также UNLOAD команды в Redshift, которые будут взаимодействовать с корзиной S3. Я понял, что захочу использовать конечную точку VPC для подключения сегмента S3, но в документации ничего не показано, как открыть правильные порты для правильных диапазонов IP-адресов, чтобы COPY а также UNLOAD чтобы это произошло, и единственный способ, с помощью которого я могу заставить его работать на данный момент, - это поддерживать ACL и группы безопасности входящих и исходящих сетей широко открытыми. Мне неудобно запускать это в работе, и должен быть лучший способ обеспечить Redshift для этих операций.

Любая помощь высоко ценится!

3 ответа

Решение

Группы безопасности достаточны для защиты кластера Amazon Redshift.

NACL, как известно, сложно настроить на ресурсах из-за способа взаимодействия систем. Например, экземпляр Amazon EC2 может отправить запрос в Redshift через порт 5439. Пакет включает в себя адрес возврата, который имеет случайно выбранный порт в экземпляре EC2, куда должен быть отправлен ответ. Это способ, которым компьютеры обрабатывают ответы при отправке нескольких запросов в систему.

Недостатком является то, что вы не знаете, какой порт потребуется для отправки ответа. Вот почему у вас возникают проблемы с настройкой NACL.

Группы безопасности, однако, имеют состояние и автоматически разрешают исходящие ответы обратно на порт, указанный в исходном запросе. Просто думайте о них как о интеллектуальных NACL.

Итог: используйте группы безопасности, а не NACL.

Если предположить, что Redshift обращается к S3 как к веб-службе (как и все остальные), то открытия 443 для исходящих запросов должно быть достаточно. Группы безопасности не блокируют возврат трафика, поэтому нет необходимости оставлять входящие порты открытыми (за исключением 5439, конечно, для указанных источников).

Но почему вы обеспокоены блокировкой исходящего трафика из Redshift? Обычно вы блокируете исходящий трафик, только если существует опасение, что неконтролируемая программа будет работать на сервере. Возможно, вы слишком продумали конфигурацию вашей сети.

Другой возможной причиной этого является расширенная маршрутизация VPC https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html

Если это включено, и у вашего кластера нет общедоступного IP-адреса, а ваш VPC заблокирован для внешнего трафика, вам нужно будет создать конечную точку VPC для S3, чтобы весь трафик был внутренним по отношению к вашему VPC.

Ссылка: https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-working-with-endpoints.html

Другие вопросы по тегам