2017-06-21 37 views
0

我確定這是一個關於AWS上的EC2和S3的相當簡單的問題。從S3到AWS上的安全連接AWS

我有一個靜態網站託管在S3上,它連接到我想保護的EC2實例上的MongoDB服務器。目前它在端口27017上的所有互聯網0.0.0.0/0都是開放的,這是默認的MDB。但是出於安全原因,我想限制入站流量僅限來自S3靜態網站的請求。顯然S3不提供導致問題的固定地址。

我唯一的想法是打開端口到我所在的S3地區的所有IP範圍。AWS上的這個文檔解釋瞭如何找到這些文件。雖然他們如有更改,恕不另行通知。

http://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html

這將是繼續的方式還是我缺少明顯的東西在這裏。也許另一種將IP分配給S3的方法?

+0

是不是有可能通過域名而不是IP來設置入站規則? – bhar1red

+0

或爲S3分配靜態IP。 – bhar1red

+1

也許使用VPC端點,閱讀這個[鏈接](https://aws.amazon.com/es/blogs/aws/new-vpc-endpoint-for-amazon-s3/) –

回答

0

我認爲不可能僅允許您的s3託管站點訪問ec2內部的數據庫,因爲s3不會爲您提供IP地址。

所以它能夠更好地嘗試另一種解決方案,例如,而不是直接訪問數據庫,代理通過您的EC2內HTTPS服務,並限制你的盟分貝端口

1

S3的入站流量爲存儲服務,而不是計算服務,以便它不能向MongoDB發出請求。當S3提供靜態網頁時,瀏覽器將呈現它,當用戶點擊鏈接以連接到MongoDB時,請求將從用戶的計算機轉到MongoDB。

因此,MongoDB看到來自用戶IP的請求。由於您不知道用戶來自哪裏(或IP範圍),您別無選擇,只能聽取來自任何IP的流量。

0

s3不會在ec2實例上請求您的mongodb服務器。從我的理解你的瀏覽器中的js文件將請求在ec2實例上運行的mongodb。在這種情況下,您必須在mongodb配置文件中添加消息頭以允許CORS

CORS:enter link description here