переход от общедоступной базы данных rds к использованию экземпляра bastion ec2 для подключения к нему - PullRequest
0 голосов
/ 10 февраля 2020

Если у вас есть общедоступная база данных rds на aws и он хочет вместо этого использовать экземпляр bastion ec2 для доступа и выполнения функций базы данных (любой пользователь inte rnet должен иметь возможность использовать приложение и выполнять функции базы данных в соответствии с функциями, предоставляемыми приложением), как следует go о выполнении этой смены? Я попытался выполнить поиск по inte rnet, но часто получаю массу информации с терминологией, которую не совсем легко переварить. Любая помощь будет принята с благодарностью.

Опять же, я хочу, чтобы общие publi c могли использовать и получать доступ к предоставляемым приложением функциям БД, но не иметь возможности напрямую обращаться к базе данных.

Ответы [ 2 ]

1 голос
/ 10 февраля 2020

Типичная 3-уровневая архитектура:

  • A Балансировщик нагрузки через подсети c, которые отправляют трафик c в ...
  • Множество экземпляров Amazon EC2 в частных подсетях, предпочтительно предоставляется через автоматическое масштабирование Amazon EC2, которое может масштабироваться по требованию и также может заменять сбойные экземпляры, которые все говорят ...
  • A База данных в частном su bnet, предпочтительно в режиме Multi-AZ, что означает, что сбой в базе данных или в зоне доступности не приведет к потере данных

Однако вашему приложению может не потребоваться такая большая инфраструктура. Для приложений с низким уровнем использования вы можете просто использовать:

  • Экземпляр Amazon EC2 в качестве сервера приложений , работающий в паблике c su bnet
  • База данных Amazon RDS в частном su bnet, с группой безопасности, настроенной на разрешение доступа из экземпляра Amazon EC2

Пользователи будут подключаться к вашему серверу приложений. Сервер приложений будет подключаться к базе данных. Пользователи не будут иметь прямого доступа к базе данных.

Однако YOU может потребоваться доступ к базе данных для целей администрирования и тестирования. Поскольку база данных находится в частном su bnet, она недоступна из Inte rnet. Чтобы предоставить вам доступ, вы можете запустить еще один экземпляр Amazon EC2 в общедоступной c su bnet, с группой безопасности, настроенной на you для доступа к экземпляру. Этот экземпляр «торчит» на Inte rnet и, таким образом, называется Бастионный сервер (названный в честь части стены замка, которая торчит , чтобы позволить стрелкам стрелять по захватчики взбираются на стену касты).

Вы можете использовать переадресацию порта для подключения к серверу Bastion и затем через базу данных. Например:

ssh -i key.pem ec2-user@BASTION-IP -L 3306:DATABASE-DNS-NAME:3306

Конфигурирует соединение S SH для переадресации localhost:3306 на порт 3306 на указанном сервере базы данных. Это позволяет вашему локальному компьютеру общаться с базой данных через сервер Bastion.

1 голос
/ 10 февраля 2020

Для этого вам потребуется создать частные подсети и обновить группы DBsu bnet соответственно только с частными подсетями. Кроме того, в группу безопасности БД добавьте группу безопасности бастион и экземпляры приложения в качестве источника для порта БД.

Как и в случае использования механизма mysql, разрешите 3306 для идентификаторов групп безопасности целевых экземпляров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...