簡體   English   中英

AWS-對於對外部服務的傳出請求,我應該使用AWS API Gateway還是NAT GAteway從私有子網調用外部Web服務

[英]AWS- For outgoing requests to external services, Should i use AWS API Gateway or NAT GAteway to call external web services from private subnet

方案,在哪里使用AWS API網關? 這也僅適用於傳入或傳出服務嗎? NAT網關是通過Internet網關調用外部服務的首選方式嗎? 可以用AWS API Gateway代替嗎? 后者會提供更多的安全性嗎?

兩種調用外部服務的方法-選項1-a)通過路由表將專用子網組件配置為NAT網關。 b)請求將從私有子網-> NAT網關-> Internet網關->外部服務路由?

選項2- a)配置私有子網以通過路由表在公共子網中調用AWS API Gateway b)請求將通過私有子網-> AWS API Gateway->外部服務進行路由嗎?

請讓我知道哪個選項似乎更好?

您正在混淆。

如果實例/服務位於私有子網中,並且您需要該實例具有對Internet的出站訪問權限,則需要一些NATing / PATing服務。 如果是AWS,則可以將NAT網關連接到VPC,也可以在同一VPC的公共子網中啟動NAT實例,並相應地配置路由表。 API網關與此無關。

API網關可幫助您構建無服務器的,安全的和高度可用的REST API,可以將HTTP / HTTPS請求發送到該API。 您可以配置一些API網關資源/方法以指向外部服務嗎? 你當然可以。 但是,API網關無法在您的路由表中定位。 為什么? 僅僅因為路由表在ISO OSI模型的第三層(通過IP地址路由)上運行,而API網關在ISO OSI模型的第7層(應用層)上運行。

所以這是您可以做的事情。

  1. 實例(專用子網)-> NAT實例-> Internet網關->外部服務
  2. 實例(專用子網)-> NAT網關-> Internet網關->外部服務
  3. 實例(專用子網)-> NAT實例/網關-> Internet網關-> API網關->外部服務

或者,您甚至可以啟動僅在VPC內部運行的專用API網關,但又與授予Internet訪問無關。

關於安全性,我們這里不是在談論有人試圖訪問您的資源(入站訪問),而是在談論您/您的資源試圖訪問某些外部服務。 您可以並且應該通過防火牆(如NACL,安全組甚至操作系統級別的防火牆)來控制此操作。 API網關的安全性是相反的,它可以保護您免受惡意傳入請求/ DDOS攻擊和對資源的未授權使用。

簡而言之,如果您已經知道要從私有子網內部訪問外部服務,那么API網關對您完全沒有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM