PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

django nie może połączyć się z RDS postgresql

Edycja:

Po prostu przeszedłem przez to jeszcze raz i mam łatwiejszy sposób.

Kiedy próbujesz użyć istniejącej bazy danych RDS z Django na EC2 lub EB, będziesz musiał dostosować grupy bezpieczeństwa, a następnie uzyskać odpowiednie parametry i ustawić je jako zmienne środowiskowe (RDS_*)

1) Utwórz RDS i dopasuj je:

Environment variables - RDS console label

RDS_HOSTNAME - Endpoint (this is the hostname)
RDS_PORT - Port
RDS_DB_NAME –  DB Name
RDS_USERNAME –  Username
RDS_PASSWORD – Password you set for your DB

2) Ustaw te używając na przykład eb setenv

3) Przejdź do swojej instancji EC2/EB i zdobądź dla niej grupę bezpieczeństwa, np. awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf

4) Przejdź do panelu swojego wystąpienia RDS, przewiń w dół do Grupy zabezpieczeń i zanotuj, którą grupę zabezpieczeń ma. np. rds-launch-wizard-1 (ab-sdjfalkajsdf39)

5) Wybierz grupę zabezpieczeń RDS i dodaj regułę Inbound z typem:PostgreSQL (lub inną bazą danych, której używasz) i używając instancji EC2 lub EB, którą otrzymałeś w kroku 2 jako źródło (awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf ). Protokół i zakres portów powinny być automatycznie wypełniane.

6) Zapisz to

To wszystko.

Oryginał:

Dla każdego, kto natknie się na to pytanie:

Kiedy próbujesz użyć istniejącej bazy danych RDS z Django na EC2 lub EB, będziesz musiał dostosować grupy bezpieczeństwa, a następnie uzyskać odpowiednie parametry i ustawić je jako zmienne środowiskowe (RDS_*)

1) Utwórz RDS i dopasuj je:

Environment variables - RDS console label

RDS_HOSTNAME - Endpoint (this is the hostname)
RDS_PORT - Port
RDS_DB_NAME –  DB Name
RDS_USERNAME –  Username
RDS_PASSWORD – Password you set for your DB

2) Ustaw te używając na przykład eb setenv

3) Przejdź do swojej instancji EC2/EB i zdobądź dla niej grupę bezpieczeństwa, np. awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf a dla load balancera:awseb-e-adsfadsf-stack-AWSEBLoadBalancerSecurityGroup-asdfadsf

4) Przejdź do panelu swojego wystąpienia RDS, przewiń w dół do Grupy zabezpieczeń i zanotuj, którą grupę zabezpieczeń ma. np. rds-launch-wizard-1 (ab-sdjfalkajsdf39)

5) Kliknij zmodyfikuj dla wystąpienia RDS i w środkowym ustawieniu Grupy zabezpieczeń dodaj grupę zabezpieczeń modułu równoważenia obciążenia, którą znalazłeś powyżej. Powinien zawierać sugestie.

6) Przejdź do panelu EC2 i wybierz grupy bezpieczeństwa z menu po lewej stronie.

7) Wybierz grupę zabezpieczeń modułu równoważenia obciążenia i dodaj regułę ruchu wychodzącego. Typ powinien być typem RDS (PostgreSQL), a miejsce docelowe powinno być niestandardowe i grupa zabezpieczeń instancji RDS. Zapisz.

8) Zrób to samo dla ruchu przychodzącego, użyj tego samego typu RDS i miejsca docelowego

9) Wybierz grupę zabezpieczeń RDS i dodaj regułę Inbound, podobną do 8, ale używając instancji EC2 lub EB, którą otrzymałeś w kroku 2.

10) Zapisz, gotowe. Powinni być teraz w stanie ze sobą współpracować.

Nie jestem w 100% pewien, że wszystkie te kroki są konieczne, jeden lub dwa może nie być, ale to załatwiło mi zadanie.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Implementacja Switchover/Switchback w PostgreSQL 9.3.

  2. Nie można utworzyć roli Superuser PostgreSQL, aby zainstalować i uruchomić aplikację

  3. Zapytanie SQLAlchemy pokazuje błąd Nie można dołączyć do siebie tabeli/wybieralnych przepływów pracy

  4. PG::Error - przepełnienie pola numerycznego w Heroku

  5. Dlaczego Postgres mówi, że kolumna nie istnieje?