2017-08-14 170 views
0

我有2個EC2實例,第一個是節點js應用服務器,第二個是mongo數據庫服務器。我無法從應用程序服務器或任何其他地方訪問數據庫服務器。AWS MongoDB實例無法從Web服務器實例中訪問

我可以從mongodb服務器ping應用服務器(私有和公共ip地址),但不能ping應用服務器上的mongodb服務器(私有和公共ip地址)。我可以同時參與。

MongoDB服務器與作爲網絡領域的mongod的配置文件:

network 
    bind: [0.0.0.0, private_ip_of_instance] 

無論如何,我認爲,不能是問題。我可以從實例中訪問我的mongo數據庫並查詢它。 mongodb服務器上的mongod服務的狀態是活動的。

蒙戈DB實例的輸出日誌說,應用程序服務器上

Waiting for connections on port 27017 

我的NodeJS環境具有指向蒙戈DB服務器實例的端口27017的private_ip與數據庫名稱以及相應的配置文件。

的MongoDB實例的UFW防火牆具有以下狀態

22       ALLOW  Anywhere 
27017      ALLOW  public_ip_address 
27017      ALLOW  private_ip_address 
80/tcp      ALLOW  Anywhere 
22 (v6)     ALLOW  Anywhere (v6) 
80/tcp (v6)    ALLOW  Anywhere (v6) 

,所以我不認爲它是阻止連接MongoDB服務器防火牆。

mongodb實例的安全組被配置爲允許從80端口的任何地方訪問。我試圖從我的本地機器上尋找mongdb實例的公共ip,但是所有的數據包都丟失了,我可以ping公共ip應用程序服務器並沒有丟失數據包。

它奇怪的原因一切工作之前。應用服務器正在與Mongodb服務器通話並獲取數據並返回到今天。

+0

您是否沒有在分配給MongoDB服務器的安全組中打開端口「27017」?您只提到'80'端口由於某種原因打開。 –

+0

@Mark B ....哦,我的....不能想象我刪除它的一個非常愚蠢的原因....謝謝....只是再次添加它。請添加您的答案 –

回答

1

您需要在分配給MongoDB服務器的安全組中打開端口27017