Мне кажется, что вы подключаетесь к прокси из за пределами AWS. Если это так, то его невозможно сделать это напрямую:
Ваш прокси-сервер RDS должен находиться в том же VP C, что и база данных. Прокси-сервер не может быть общедоступным , хотя база данных может быть.
Возможно, вы сможете подключиться к RDS, поскольку он общедоступен. С другой стороны, прокси-сервер RDS может иметь доступ только из одного и того же VP C, например, из экземпляра.
Поэтому решение состоит в том, чтобы настроить экземпляр в том же VP C, что и ваш RDS и прокси. Экземпляр должен быть доступен с использованием S SH.
На экземпляре вы можете запустить pgadmin4
, в docker:
docker run --rm -p 8080:80 \
-e 'PGADMIN_DEFAULT_EMAIL=user@domain.com' \
-e 'PGADMIN_DEFAULT_PASSWORD=Fz77T8clJqJ4XQrQunGA' \
-d dpage/pgadmin4
Команда после настройки docker, будет сервер pgadmin4
на порту 8080 экземпляра.
Вы можете проверить экземпляр, работает ли он:
curl localhost:8080
, что может дать следующее указание, что он работает:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should be redirected automatically to target URL: <a href="/login?next=%2F">/login?next=%2F</a>. If not click the link
Однако, поскольку ваш экземпляр доступен только через s sh (порт 22), для доступа к нему с локальной рабочей станции вам необходимо установить sh an s sh туннель :
ssh -i <private-key> -L 8080:localhost:8080 -N ubuntu@<public-instance-ip> -v
В приведенном выше примере моим экземпляром был Ubuntu. Для Amazon Linux 2 пользователь будет ec2-user
.
Туннель будет перенаправлять порт 8080 из экземпляра (т.е. pgadmin4
) на вашу локальную рабочую станцию через порт 8080.
Затем вы просто указываете в своем браузере localhost:8080
, и вы должны увидеть экран приветствия pgadmin4
.
PS Мои настройки RDS и прокси, используемые для проверки:
введите описание изображения здесь