这是我第一次尝试 VPC。
我刚刚将模板更改为使用 VPC。当堆栈在 VPC 外部启动时一切正常,但现在它们在 VPC 内部,我无法在使用 cfn-init (Ec2Config) 包的实例启动期间从 S3 下载我的文件。它是一个 Windows 盒子。
我在 cfn-init 日志中看到以下日志:
2012-10-11 08:11:40,992 DEBUG Client initialized with endpoint https://cloudformation.us-east-1.amazonaws.com
2012-10-11 08:11:41,523 DEBUG Describing resource LaunchConfigName in stack StackName
2012-10-11 08:12:03,113 ERROR URLError: getaddrinfo returns an empty list
2012-10-11 08:12:03,144 DEBUG Sleeping for 0.921699 seconds before retrying
2012-10-11 08:12:25,109 ERROR URLError: getaddrinfo returns an empty list
2012-10-11 08:12:25,109 DEBUG Sleeping for 1.240427 seconds before retrying
2012-10-11 08:12:47,386 ERROR URLError: getaddrinfo returns an empty list …Run Code Online (Sandbox Code Playgroud) 有一个快速的问题可能是完全愚蠢的,但它是在清晨.所以我有一个标准的AWS VPC,带有ELB,NAT实例和2x EC2实例,用于应用程序代码.通过图像的外观,互联网网关传递ELB和NAT实例的流量.我的问题是为什么不是ELB前面或后面的NAT实例?看起来这个VPC中的单个瓶颈可能是NAT实例,如果所有流量都通过那里.

我在AWS上设置了一个VPC,我正试图将我的一个子网设为私有.我有:
我可以通过使用公共IP转到不同的实例然后通过SSH连接到其私有IP来访问#4中的实例.一旦进入实例,它就没有互联网连接.
我是否希望更新实例上的路由表?
好吧,我正在尝试在AWS中找到一个云形态模板.
我需要在哪里创建具有单个子网和实例的三个VPC.你有网关的地方有2个单向从vpc到网关和一个双向连接,如下所示:

infrastructure amazon-web-services aws-cloudformation amazon-vpc
有问题的 EC2 实例位于私有子网中,设计上没有通过 NAT 启用 Internet 访问。目前,我的 Lambda 位于连接到同一 VPC 的公有子网中。
当我尝试调用 Lambda 时,我收到Connection to lambda.us-east-1.amazonaws.com timed out.
我正在尝试列出配置了我的 AWS VPC 的所有区域。
以下命令对我没有用,因为:
aws ec2 describe-vpcs
只列出 VPC 详细信息,而不列出区域
aws ec2 describe-availability-zones
列出对我可用的所有可用区。
我确实在以下位置看到了我的子网的特定可用区:AWS 控制台 --> VPC --> 摘要 --> 网络 ACL --> 子网关联
但我想在我的 VPC 的命令行上列出相同的内容。这可能吗?
我在新创建的 VPC 中设置了一个 Aurora 数据库(已配置)并且没有公共可访问性。由于我想在 VPC 中运行一个 Lambda 函数,该函数既可以访问 RDS 实例,也可以访问 Internet,因此我将 RDS 实例的路由表更改为允许来自我放置在公共子网中的 NAT 网关的流量在同一个 VPC 中。
对于 Lambda 函数本身,我创建了一个单独的私有子网,在路由表中也只允许来自 NAT 网关的流量。我将此子网和 VPC 分配给 Lambda 设置中的 Lambda 函数。互联网连接在此配置下工作正常,但我无法访问数据库。这就是为什么我关注了这篇文章(https://serverfault.com/questions/941886/connect-an-aws-lambda-function-triggered-by-api-gateway-to-aurora-serverless-mys)并添加了 IP CIDR RDS 实例的安全组(称为 rds-launch-wizard)。
尽管如此,Lambda 函数仍能够与公共互联网交互,但无法连接到 RDS 实例(超时)。我的想法不多了,这里有什么问题?
据我所知,无状态防火墙更多地用于数据包过滤。为什么 AWS NACL 是无状态的?
NACL 强制为临时端口打开的端口范围太大。
除了安全组,还有其他方法可以在 AWS 上创建有状态防火墙吗?安全组感觉过于细化,可能会被错误地忽略。
我想用 cdk 创建一个可公开访问的数据库(dev db)。我知道如何通过 Web UI 做到这一点。我需要将公共可访问性设置为 true 并允许我的 IP 作为安全组的入站。
const vpc = new ec2.Vpc(this, 'Vpc')
const postgres = new rds.DatabaseInstance(this, 'Postgres', {
engine: rds.DatabaseInstanceEngine.POSTGRES,
instanceClass: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE2, ec2.InstanceSize.MICRO),
masterUsername: 'postgres',
vpc,
})
Run Code Online (Sandbox Code Playgroud)
这是我目前的状态,它工作正常,但没有公共访问权限
我正在尝试将SQS作为触发器添加到我在 AWS-VPC 中运行的Lambda函数,但它引发错误为:
An error occurred when creating the trigger: The provided execution role does not have permissions to call ReceiveMessage on SQS (Service: AWSLambda; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: d34b7525-5c69-4434-a015-112e8e74f447; Proxy: null)
Run Code Online (Sandbox Code Playgroud)
尝试通过添加
AWSLambdaVPCAccessExecutionRole到角色的策略以及通过 IAM。但没有运气!
我无法弄清楚我在哪里犯了错误?请帮助我,如果有人过去有类似的经历或知道如何解决它。提前谢谢你!
amazon-sqs amazon-web-services amazon-iam amazon-vpc aws-lambda
amazon-vpc ×10
aws-lambda ×3
amazon-rds ×2
amazon-ec2 ×1
amazon-iam ×1
amazon-sqs ×1
aws-cdk ×1
aws-nacl ×1