簡體   English   中英

如何只允許雲端訪問我在 AWS 的 ec2 上托管的 api (elb) 負載均衡器?

[英]How to allow only cloudfront to access my api (elb)load balancer hosted on ec2 in AWS?

我的 ui 通過 cloudfront 托管在 s3 上。 API 托管在 ec2 上。 如何只允許來自 AWS Cloudfront 的流量訪問 API? 如果這不可能,是否有任何替代方法?

您可以將 AWS 托管前綴列表用於 CloudFront。

來自https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/LocationsOfEdgeServers.html

CloudFront 托管前綴列表包含 CloudFront 的所有全球分布式面向源的服務器的 IP 地址范圍。 如果您的源托管在 AWS 上並受 Amazon VPC 安全組保護,您可以使用 CloudFront 托管前綴列表來允許僅從 CloudFront 面向源的服務器到您的源的入站流量,防止任何非 CloudFront 流量到達您的源。

您可以更新附加到 EC2 實例的 SecurityGroup 以僅允許來自 CloudFront 前綴列表的流量。

您可以通過運行以下 CLI 命令查看"PrefixListId"

aws ec2 describe-managed-prefix-lists

將此 Id 值用作您的 SecurityGroup 規則的入站源。

或者,AWS 發布其服務的 IP 范圍列表 - 這些可從https://ip-ranges.amazonaws.com/ip-ranges.json獲得,或者您可以從https://d7uri8nf7uskq.cloudfront獲取 CloudFront IP 地址.net/tools/list-cloudfront-ips

您可以在 SecurityGroup 中使用已發布的 IP 范圍,但首選使用前綴列表,因為這樣您就不需要跟蹤 IP 地址的任何更改。

暫無
暫無

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

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