本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 內部將 Amazon ECS連線至 AWS 服務的最佳實務 VPC
若要ECS讓 Amazon 正常運作,在每個主機上執行的 Amazon ECS容器代理程式必須與 Amazon ECS控制平面通訊。如果您要將容器映像儲存在 Amazon 中ECR,Amazon EC2 主機必須與 Amazon ECR服務端點和儲存映像層的 Amazon S3 通訊。如果您將其他服務 AWS 用於容器化應用程式,例如保留存放在 DynamoDB 中的資料,請再次檢查這些服務是否也具有必要的聯網支援。
NAT 閘道
使用NAT閘道是確保您的 Amazon ECS任務可以存取其他服務的最簡單方法 AWS 。如需此方法的詳細資訊,請參閱 私有子網路和NAT閘道。
以下是使用此方法的缺點:
-
您無法限制NAT閘道可與哪些目的地通訊。您也無法限制後端層可以通訊的目的地,而不會中斷來自 的所有傳出通訊VPC。
-
NAT 閘道會針對傳遞的每個 GB 資料收取費用。如果您將NAT閘道用於下列任何操作,則會向您收取每 GB 頻寬的費用:
-
從 Amazon S3 下載大型檔案
-
對 DynamoDB 執行大量資料庫查詢
-
從 Amazon 提取影像 ECR
此外,NAT閘道支援 5 Gbps 的頻寬,並自動擴展至 45 Gbps。如果您透過單一NAT閘道路由,需要極高頻寬連線的應用程式可能會遇到網路限制。作為解決方法,您可以將工作負載跨多個子網路分割,並將自己的NAT閘道提供給每個子網路。
-
AWS PrivateLink
AWS PrivateLink 提供 VPCs、 AWS 服務和內部部署網路之間的私有連線,而不會將您的流量暴露到公有網際網路。
VPC 端點允許您的 VPC和 支援 AWS 的服務與VPC端點服務之間的私有連線。您的 VPC與其他 服務之間的流量不會離開 Amazon 網路。VPC 端點不需要網際網路閘道、虛擬私有閘道、NAT裝置、VPN連線或 AWS Direct Connect 連線。您 中的 Amazon EC2執行個體VPC不需要公有 IP 地址即可與 服務中的資源通訊。
下圖顯示當您使用VPC端點而非網際網路閘道時, AWS 服務通訊的運作方式。 AWS PrivateLink 佈建子網路內的彈性網路介面 (ENIs),VPC路由規則會用來透過 ENI將任何通訊直接傳送至目的地 AWS 服務,以傳送至服務主機名稱。此流量不再需要使用NAT閘道或網際網路閘道。
以下是與 Amazon ECS服務搭配使用的一些常見VPC端點。
許多 AWS 其他服務都支援VPC端點。如果您大量使用任何 AWS 服務,您應該查詢該服務的特定文件,以及如何為該流量建立VPC端點。