我已按照以下说明在具有 Amazon RDS (postgresql) 的 VPC 中使用 NAT 网关启动了 Elastic Beanstalk 应用程序(因为我想通过固定公共 IP 地址路由应用程序流量):
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/vpc-rds.html
如何从本地系统 ssh 进入实例?
eb ssh 显示以下错误,但我的实例可用且未终止。
错误:此实例没有公共 IP 地址。这可能是因为实例正在终止。
如何登录 postgresql 客户端?
以下命令不会提示任何内容:
psql --主机= --端口=5432 --用户名= --密码 --dbname=ebdb
我知道它们位于私有子网中,因此无法从公共网络访问,但我想知道这种可能性。请帮忙 !
我想EFS在AWS其中创建,文档中说,我只能将其附加到与我的VPC.
如何知道我的安全组VPC?
假设是这样,default并且我的实例具有不同的安全组,由不同的向导在不同的时间创建。怎么可能,该实例属于VPC但具有不同的安全组VPC?
amazon-ec2 amazon-web-services amazon-vpc aws-security-group amazon-efs
将 Web 应用程序服务器放置在 AWS VPC 中的最佳实践是什么?在具有 ELB 的私有子网还是公共子网中?根据我的理解,最佳实践是将 Web 应用程序服务器放置在公共子网中。
是否可以更改已创建的 EKS 集群的 VPC?或者我是否必须创建一个新的 VPC 并在那里选择新的 VPC?
设置
地形资源
我创建了一个私有 API 网关,它通过 VPC 链接将流量路由到 NLB。我已经部署了 API,但为了简洁起见,我省略了下面的该资源,因为它很琐碎。
resource "aws_api_gateway_rest_api" "this" {
name = "MyAPI"
body = "${file("./api-spec.yaml")}"
endpoint_configuration {
types = ["PRIVATE"]
}
}
resource "aws_lb" "app" {
name = "MyNLB"
internal = true
load_balancer_type = "network"
subnets = ["MySubnetIds"]
}
resource "aws_api_gateway_vpc_link" "nlb" {
name = "api-gateway-to-nlb"
target_arns = ["${aws_lb.app.arn}"]
}
Run Code Online (Sandbox Code Playgroud)
文件中引用了 VPC 链接api-spec.yaml。相关部分是:
paths:
/items:
get:
summary: Gets a collection of items
responses:
'200':
description: …Run Code Online (Sandbox Code Playgroud) 我们总共有dbs10basion件东西需要分开。
如果我们将每个子网放入一个单独的子网中,则总共有 10 个子网,并加上 1 个子网作为第二个区域,以实现高可用性。因此,我们总共需要创建 20 个子网。
我们真的需要在 aws 中总共创建 20 个子网吗?因为我们将基础设施卸载到 azamon,而亚马逊使用安全组来分隔事物,所以我找不到这样做的充分理由。
我只考虑两个不同区域中的两个私有子网和两个公共子网(对于 ha),将 ec2 实例添加到私有子网并使用安全组在things. 两个子网,因为某些 aws 资源需要这样做,例如:rds
可以从另一个 VPC 中的另一个 lambda 调用位于一个 VPC 内的 lambda 函数。
我尝试使用 AWS VPC 终端节点执行此操作,但无法执行此操作。它标记错误 403。我正在执行以下步骤:https://aws.amazon.com/es/blogs/compute/introducing-amazon-api-gateway-private-endpoints/。
和https://cedrus.digital/aws-privatelink-with-api-gateway-and-lambda-functions/
我不确定是否应在将调用 lambda 或接收请求的 VPC 中创建 VPC 端点。
甚至,API网关资源政策是这样规定的:
{
"Statement": [
{
"Principal": "*",
"Action": [
"execute-api:Invoke"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
并且 VPC 终端节点策略为完全访问。
我不太确定从哪里开始,因为我在这个主题上不是很有经验。我在 EC2 实例上有 Lambda API 和一些资源。我想以只能由 Lambda 访问的方式保护 EC2 上的这些资源。
为此,我将 Lamdba 添加到 VPC(我向 Lambda 添加了一个角色,以便它可以访问 VPC),将 lambda 添加到安全组,并将 VPC 子网地址设置为 lambda。
我现在有两个问题:
1-如何在 EC2 上打开此端口?我这样问是因为当我设置入站规则时,该端口就会向外部世界开放。默认情况下所有端口都是打开的吗?
2- 我应该使用什么地址从 Lambda 连接到 EC2?因为目前我正在使用公共地址(以 结尾的 DNS amazonws.com,但这肯定是错误的,首先是因为当我们将它们添加到 VPC 时 Lambda 会丢失互联网连接,并且因为我没有将此端口添加到入站规则中。
有人可以帮忙吗?
我为我们的预生产环境创建了一个新的 VPC,并尝试在其中创建一个 DocumentDB 集群。
根据https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-create.html 上的 VPC 先决条件,我需要确保在新的 3 个不同的可用区中至少有 3 个子网VPC 这样做。
但是,当我尝试创建它时,我的新 VPC 不是可用的选择。我错过了什么?
正如我们从下面的屏幕截图中看到的,VPC 在 1a 1b 和 1d 中有一个私有子网,但我的新数据库集群无法选择它
提前致谢!
路由表(在私有子网中)不会因为将 VPCE 添加为 aws 秘密管理器的目的地而改变。也尝试过新的 SG(不使用默认 SG)。任何的想法 ?
amazon-web-services amazon-vpc aws-secrets-manager vpc-endpoint
amazon-vpc ×10
amazon-ec2 ×3
aws-lambda ×2
amazon-efs ×1
amazon-eks ×1
kubernetes ×1
terraform ×1
vpc-endpoint ×1