我只是用无服务器端点来检查一些令牌。假设路径是“/checktoken”。并且只想使用我的 Ip 地址访问它,这就是为什么将我的 Lambda 连接到 VPC(2 个私有子网和安全组)。
但问题是,即使我使用我的 IP 地址将安全组入/出站规则设置为 https,我也可以向具有不同 IP 地址的端点发出请求。
我使用 AWS = CloudFront + Route53 作为 DNS,使用 Lambda + Api Gateway 作为端点。
我在 Api 网关中使用资源策略创建了一个白名单 IP,该 IP 有效,但这不是我想要的解决方案。
所需的解决方案是 vpc 的安全组应仅允许来自其规则中白名单 IP 的请求。
如果我在同一 VPC 内的公有子网中部署了 ECS Fargate 服务(Web 层),并在私有子网中部署了 ECS Fargate 服务(应用程序层),那么两者之间通信的最佳实践是什么?
ECS 服务发现是解决此问题的正确方法吗?如果是这样,我该如何在这种情况下使用它?
service-discovery amazon-web-services amazon-ecs amazon-vpc aws-fargate
我有一个 CIDR 块 172.30.0.0/21,需要为其创建 2 个私有子网,然后创建 2 个公共子网。
首先我创建了: for private: ["172.30.8.0/21", "172.30.16.0/21"] for public: ["172.30.0.0/22", "172.30.8.0/22"]
但后来我收到以下错误:
Error: Error creating subnet: InvalidSubnet.Range: The CIDR '172.30.8.0/22' is invalid.
10:59:12 status code: 400, request id: 9***
10:59:12
10:59:12 on .terraform/modules/vpc-us-west-2/main.tf line 335, in resource "aws_subnet" "public":
10:59:12 335: resource "aws_subnet" "public" {
10:59:12
10:59:12
10:59:12
10:59:12 Error: Error creating subnet: InvalidSubnet.Range: The CIDR '172.30.16.0/21' is invalid.
10:59:12 status code: 400, request id: d**
10:59:12
10:59:12 on .terraform/modules/vpc-us-west-2/main.tf line 363, in resource …Run Code Online (Sandbox Code Playgroud) 我有两个 ECS 集群,都运行 Fargate 1.3 任务(我们称它们为任务 A 和任务 B)。这两个任务都具有 awsvpc 网络类型,并且都具有自动分配的公共 IP。此外,两个集群/任务都位于同一 VPC 中。任务 A 与安全组 A 关联,任务 B 与安全组 B 关联(以及也与安全组连接的负载均衡器)。我正在尝试从任务 A 向任务 B 发出 http 请求。我 100% 确定我已正确设置安全组,即:
安全组A:
安全组B:
当我尝试从 A 向 B 发出请求时,出现超时错误。我知道这是一个安全组错误,因为如果我创建一个 Source = 无处不在的入口规则,它就会起作用。此外,如果我进去检查fargate任务A的公共IP地址,并将该IP地址添加到安全组B的入口,它也可以工作。
这里发生了什么?
amazon-web-services amazon-ecs amazon-vpc aws-security-group aws-fargate
我只想对在 AWS 上运行的应用程序服务器中发生的事件进行事后分析。我们已经启用了 alb 日志和 vpc 流日志。应用程序通过 post 方法接受用户的请求,并在正文中包含数据。现在我很困惑:AWS alb/elb 日志或 vpc 流日志是否包含用户发布请求的正文?或者如果没有,我在哪里可以访问包含请求正文数据的日志?
注意:应用程序服务器位于 alb 后面的自动缩放组内,因此无法记录来自实例级别的日志。
logging amazon-web-services amazon-vpc aws-application-load-balancer
最近,我使用AWS Security Hub对我的 AWS 资源进行了安全评估。因此,在AWS 基础安全最佳实践 v1.0.0类别下,有一个失败内容:
EC2 实例不应具有公共 IPv4 地址
如果该实例没有公网IP,如何通过互联网访问该实例?
我想对EC2 实例不应具有公共 IP 地址这一安全最佳实践进行详细解释
在同一区域创建的两个AWS账户是否共享同一个VPC,因为VPC位于区域级别?或者同一个地域的每个账户都有自己的VPC?
示例:如果用户 A 和 account_A 在俄亥俄州区域创建一个 EC2 实例,另一个用户 B 和 account_B 在同一区域俄亥俄州创建另一个 EC2 实例,这两个不同的实例是否位于同一个 VPC 中?因为据我所知(如果我没记错的话)一个区域附加了一个 VPC..?
人们说“VPC 是特定于区域的 - 意味着 vpc 存在于它创建的区域”。这是真的吗?如果是这样,为什么 create-vpc 没有选择区域的选项?如果我想在多个地域复制一个VPC怎么办?
当我尝试使用 terraform 创建子网时,不断收到以下错误。使用 aws 控制台创建子网没有问题。有人可以帮助我吗?
\n Error: error creating subnet: InvalidSubnet.Range: The CIDR '10.2.0.128/26' is invalid. \xe2\x94\x82 status code: 400
Error: error creating subnet: InvalidSubnet.Range: The CIDR '10.2.0.64/26' is invalid. \xe2\x94\x82 status code: 400
Error: error creating subnet: InvalidSubnet.Range: The CIDR '10.2.0.0/26' is invalid. \xe2\x94\x82 status code: 400
我对 VPC 和子网使用以下 CIDR 范围
\nvariable "cidr_block" {\ndefault = "10.1.0.0/21"\ndescription = "VPC CIDR Block"\ntype = string\n}\n\nvariable "public_subnet_cidr_blocks" {\ndefault = ["10.1.0.0/26","10.2.0.0/26","10.1.0.64/26","10.2.0.64/26","10.1.0.128/26","10.2.0.128/26"]\ntype = list\ndescription = "List of public subnet CIDR …Run Code Online (Sandbox Code Playgroud) amazon-web-services amazon-vpc terraform terraform-provider-aws
amazon-vpc ×10
amazon-ec2 ×2
amazon-ecs ×2
aws-fargate ×2
aws-application-load-balancer ×1
aws-lambda ×1
cidr ×1
logging ×1
subnet ×1
terraform ×1