Как подключиться к частному кластеру в Redshift? - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь максимально безопасно переместить данные из баз данных MySQL в Amazon Redshift. Я смог подключиться к кластеру, используя boto3, чтобы поместить CSV в S3, создать таблицу в красном смещении для данных, а затем использовать команду копирования, чтобы переместить данные из S3 в красное смещение. Это было все, когда кластер был общедоступным.

Я понял, что для наших потребностей в безопасности, вероятно, лучше установить кластер как частный. Однако после этого я больше не мог подключаться к красному смещению для создания таблиц, загрузки данных из S3, и клиенты SQL, с которыми я использовал для запросов, больше не подключались. Тем не менее, мой VPC настроен так, чтобы разрешить подключение к моему IP. Кто-нибудь знает, как подключиться к частному кластеру?

* sidenote, это все еще в стадии исследований и разработок, поэтому мы фактически не поместили конфиденциальные данные в облако

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

С Создание кластера в VPC - Amazon Redshift :

Общедоступно: Выберите Да , если вы хотите, чтобы кластер имел общедоступный IP-адрес, к которому можно получить доступ из общедоступного Интернета, выберите Нет , если вы хотите, чтобы кластер имел частный IP-адрес, доступ к которому возможен только из VPC.

При выборе Нет кластер больше не имеет общедоступного IP-адреса. Это означает, что к можно получить доступ только из VPC . Вы не указываете, откуда вы подключаетесь к Redshift, но похоже, что вы делаете это из Интернета.

Распространенный способ подключения людей к частной базе данных (которая недоступна из Интернета) - это использование переадресации портов через сервер Bastion (или «Jump Box»), доступный из Интернета. .

Например, см .: Простое туннелирование SSH и переадресация портов | AVM Consulting

Группа безопасности , связанная с экземпляром Redshift, также должна разрешать доступ из любого места, где вы подключаетесь.

0 голосов
/ 25 июня 2018

Я понял, что для наших потребностей в безопасности, вероятно, лучше установить кластер как частный.

Все в AWS может быть общедоступной / частной / настраиваемой защитой, хорошо, что вы сейчас включили VPC и сделали его приватным.

Однако после этогоЯ больше не мог подключаться к Redshift для создания таблиц, загрузки данных из S3, и клиенты SQL, с которыми я использовал запросы, больше не подключались.

Вы можете подключиться к Redshift, используя любой клиент толстый (psql) или тонкий (jdbc / odbc), с вашими правильными учетными данными и URL-адресом.Пример psql:

psql postgresql://username:password@redhift-url-datawarehouse.:5439/dbname?sslmode=require

S3 вы делаете его личным или личным файлом, а затем используете функцию копирования, предоставляя свою роль и учетные данные IAM при выполнении Copy.

Вот пример команды копирования.

COPY my_tablename
    (C1  
    ,C2   
    ,C3,...    
  )
    FROM 's3://<<YOUR-BUCKET>>/<<YOUR-FILE>>'
    credentials 'aws_access_key_id=<access-key-id>;aws_secret_access_key=<secret- access-key>';

Однако мой VPC настроен на подключение моего IP.Кто-нибудь знает, как подключиться к частному кластеру?

Команда, которую я упомянул выше, должна нормально работать с вашей машины, которая указана в белом списке на Redshift.

Дайте мне знатьесли пропустили любой вопрос.

...