所以AWS有这两种设施,但我意识到NAT仍然依赖于IGW。有很多问题我无法得到答案。
为什么NAT网关必须在公有子网中?我认为在云网络上是通过虚拟节点来实现的。那么,为什么 NAT 网关不能像私有子网中的路由器一样,在目标地址位于它所属的私有网络之外时执行 NAT?
为什么 NAT 网关仍然需要公共子网的流量(它必须是其一部分)才能通过同一子网的路由表路由到互联网网关?我的意思是,NAT 网关本身应该足以通过成为某个公共子网的一部分来将流量传输到互联网。为什么 IGW 与 NAT 网关的关联必须手动完成?
有没有办法允许通过AWS中的VPC访问AWS S3存储桶中的对象而无需身份验证?我不想为此使用 AWS IAM 角色或用户。我不想禁用除 VPC 之外的所有对象的访问,因为对象应该通过 AWS 外部的 AWS IAM 角色进行访问。
目的:为在私有节点上的 AWS EKS Kubernetes 集群内运行的 GitLab Runner 提供 AWS S3 存储桶访问权限。
注意:公共访问已被阻止并将继续被阻止。所有对象都是私有的并且将保持私有。
amazon-s3 amazon-web-services amazon-vpc gitlab-ci-runner amazon-eks
我有一个配置NAT网关的 VPC .另一个VPC没有任何"公共子网"也没有IGW.我想在许多VPC中共享单个NAT网关.我尝试配置路由表,但不允许从不同的VPC指定NAT网关.作为可行的解决方案,我在VPC中使用IGW安装了http/s代理,并在不同VPC中的每个实例上配置了代理设置.它工作,但我想使用NAT网关,因为更容易管理.是否可以在AWS上进行此类配置?VPC很少,我不想为每个VPC添加NAT网关.
兹登科
我对上面的设置感到有点困惑.根据我的理解,在公共子网内,有四个实例(3个webservers + 1个NAT).为什么他们都有公共(弹性)IP地址?为什么网络服务器有公共IP地址?它们不应该通过NAT实例访问吗?我的意思是所有内容(入站或出站)应该通过NAT实例,对吗?这是否意味着网络服务器和外部世界之间存在绕过NAT的直接路径?我在这里错过了什么?"路由器"和"互联网网关"也是EC2实例吗?
如何从ubuntu桌面连接到AWS实例VPN?我已经配置了虚拟专用网关,客户网关和VPN连接.安全组允许所有流量和ACL.
这是我的VPN配置.
! Amazon Web Services
! Virtual Private Cloud
! AWS utilizes unique identifiers to manipulate the configuration of
! a VPN Connection. Each VPN Connection is assigned an identifier and is
! associated with two other identifiers, namely the
! Customer Gateway Identifier and Virtual Private Gateway Identifier.
!
! Your VPN Connection ID : vpn-c9562082
! Your Virtual Private Gateway ID : vgw-e0704394
! Your Customer Gateway ID : cgw-d73201a3
!
!
! This configuration consists of …Run Code Online (Sandbox Code Playgroud) 我正在开发一个Ansible playbook,我用它ec2_vpc_subnet_facts在VPC中注册有关子网的事实,如:
- ec2_vpc_subnet_facts:
region: "{{ ec2_region }}"
filters:
vpc-id: "{{ vpc.vpc.id }}"
register: vpc_subnet_facts
Run Code Online (Sandbox Code Playgroud)
从而得到一个像(删除不相关的属性)的结构:
"vpc_subnet_facts": {
"changed": false,
"subnets": [
{
...
"id": "subnet-0bb50753",
...
"tags": {
"Name": "mytag1"
},
...
},
{
...
"id": "subnet-0bb50754",
...
"tags": {
"Name": "mytag2"
},
...
}
]
}
Run Code Online (Sandbox Code Playgroud)
稍后在剧本中,当创建EC2实例时,想法是基于ec2模块vpc_subnet_id属性的标签值查找子网ID ,即mytag1查找关联的子网ID subnet-0bb50753.
我目前的方法是tag => subnet-ID使用结果创建一个字典set_facts,ec2_vpc_subnet_facts但我对替代品感兴趣.
问候,奥拉
amazon-ec2 amazon-web-services amazon-vpc ansible ansible-playbook
我有一个lambda函数访问在同一个VPC中的EC2实例上运行的Elasticsearch.不幸的是,即使我公开访问lambda,lambda也无法访问该端口.
lambda和EC2都分配给同一个VPC.lambda还分配给安全组,分配给EC2的SG明确地向其提供入站权限.Lambda函数还分配给具有以下托管策略的角色:
Lambda缺少一些权限吗?
谢谢!
我在EC2上有两台服务器.一个托管我的PHP应用程序和其他托管我的redis服务器.我在redis服务器上管理我的php会话和数据.所以在我的php服务器上,我将ip:port作为会话保存路径,并在stderr中发送错误FastCGI:"PHP消息:PHP致命错误:未捕获异常'RedisException',消息'Connection closed'
我需要在我的redis实例上打开端口6379以获取入站流量.我通过在AWS安全组中设置自定义TCP设置来打开它,但该端口仍然关闭到外部世界.但我能够在redis服务器上侦听端口.我在这个过程中遗漏了什么?我是否需要在某处进行任何其他更改.请指导我这个.我非常擅长AWS管理实例1:我正在使用php,Apache和phpredis On Instance 2:Using Redis
但我在Instance 2上安装了Memcached,它通过端口11211连接而没有任何问题.我对Redis使用了相同的安全规则
我正在使用Terraform构建API +相应的lambda函数.
我有一些其他的基础设施,我想它很好地设置(也许我错了?):
test和prod)两个VPC上的所有资源都是相同的; 例如,有一个test-private-subnet和一个prod-private-subnet具有完全相同的规格,相同的DB,等等.
现在,我正在研究将为API提供动力的API和lambdas.
我不觉得我需要一个test&prodAPI网关和test&prodlambdas:
stage_variables具有不同ips 的API 来实现API 的testvs prod环境但是当我尝试使用vpc_config块设置lambda时(因为我需要将它与允许在DB上进行的安全组关联),我收到以下错误:
Error applying plan:
1 error(s) occurred:
* module.lambdas.aws_lambda_function.api-lambda-users: 1 error(s) occurred:
* aws_lambda_function.api-lambda-users: Error creating Lambda function: InvalidParameterValueException: Security Groups are required to be in the same VPC.
status code: 400, request id: xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)
我的lambda配置看起来像这样:
resource "aws_lambda_function" …Run Code Online (Sandbox Code Playgroud) amazon-vpc ×10
amazon-ec2 ×4
aws-lambda ×2
networking ×2
amazon-eks ×1
amazon-s3 ×1
ansible ×1
cloud ×1
redis ×1
subnet ×1
terraform ×1
vpn ×1