S3 的高性能反向代理

S3 的高性能反向代理

我想防止與我的 S3 儲存桶直接互動。雖然我的 S3 儲存桶已正確配置,但我希望找到一種(高效能)方法來鎖定對單一 IP 的訪問,同時仍從 S3 提供檔案。

我設想的架構是:

user request -> proxy web application -> s3 bucket

這樣使用者就不會接觸到或不知道 S3 的使用。我試圖找到解決方法的責任是,這將涉及我為每個請求的 CPU 負載付費,從而削弱了使用 S3 的許多優勢。我想像實現這個目標需要一個非常快速、非常簡單的網路服務。

有沒有一種方法可以對使用者隱藏 S3,而又不浪費它在代理程式中的優勢?

注意:

我不想考慮 S3 可以安全配置。就我而言,出於組織原因考慮進一步的安全程序。我會喜歡這裡的思想練習,即使這確實是錯誤的選擇。

此外,也不能選擇使用服務來取代 S3。我們這裡只討論S3。

答案1

如果您想鎖定對 IP 的訪問,您可以透過 IAM 設定該權限 - 這樣,您就不必執行任何反向代理的廢話。

您可以建立全域讀取 S3 策略,然後設定請求必須來自特定 IP 位址的條件。

條件語句的範例是:

"Condition" :  {
       "IpAddress" : {
          "aws:SourceIp" : ["192.0.2.0/24", "203.0.113.0/24"]
      }
}

相關內容