我创建了一个 redis 集群并创建了一个名为 的新安全组cache-access。如果我通过 ssh 进入 ec2 服务器并尝试访问缓存节点,则如果满足两个条件,它就会起作用:
cache-access安全组cache-access安全组开放入站6379端口对我来说,通过安全组 ( ) 将 ec2 访问列入白名单是有意义的#1,考虑到一个组可能需要扩大或缩小规模,因此将 IP 地址列入白名单是行不通的。
为什么我需要打开端口(#2)是没有意义的。ec2 实例未运行redis-server。elasticache 服务器是监听 6379 的服务器。
为什么ec2安全组需要开放6379端口才能工作?
amazon-ec2 amazon-web-services amazon-elasticache amazon-vpc
我有一个实例,它既充当 SFTP 服务器,又充当我们内部网络的 NFS 共享驱动器。
实例有一个公共 IP 可以通过 SFTP 接收数据。该数据保存在我的内部网络中共享的卷中。
我使用的安全组允许将端口 22 流量列入白名单,并将所有端口列入我的内部网络。
数据是敏感的,因为这个实例有一个公共 IP,它是一个安全组,不向所有人开放。
我想从实例中删除公共 IP,但它需要从 Internet 进行 SFTP 访问。
我想出的解决方案是创建一个公共负载均衡器,将端口 22 上的流量转发到我的实例,添加安全组并从我的实例中删除公共 ip,因此即使我搞砸了,该实例也无法公开访问.
我知道 ELB 不是为此而设计的,但理论上它应该可以工作。这个解决方案有问题吗?有没有更好/更优选的方式来实现这样的事情?
在我的实例启动期间,我会自动分配一个辅助私有 IPv4 地址。要配置 Ubuntu 以识别这个辅助 IP,我需要运行
ip addr add 10.0.1.15/24 dev eth0
Run Code Online (Sandbox Code Playgroud)
To access the primary private IP address I have found this command (described in the AWS Docs and in figaros question):
curl http://169.254.169.254/latest/meta-data/local-ipv4
Run Code Online (Sandbox Code Playgroud)
But how can I get the secondary IP address to run the ip command automatically on startup? For Amazon Linux Systems there's the ec2-net-utils package wich can handle this automatically.
在 AWS 中,我有一个 VPC,其中包含许多组件,包括子网、安全组、网关、负载均衡器、目标组、许多实例等。
有什么方法可以将我的整个架构和组件导出到一个文件中,比如说XML或其他什么?
subnet amazon-web-services amazon-vpc aws-cli aws-directory-service
我目前每个集群(stg、prd、tst、misc)都有每个 VPC,标准集群(stg、prd)有以下子网:
VPC(stg,prd) ?10.100.0.0/16 az-1 | ?10.100.0.0/20 elb | ?10.100.16.0/20 elb-int | ?10.100.32.0/20 svc | ?10.100.48.0/20 svc | ?10.100.64.0/20 分贝 | ?10.100.80.0/20 dmz | ?10.100.96.0/20 <保留> | ? ... | ?10.1-0.240.0/20 <保留> ?10.101.0.0/16 az-2 | ?10.101.0.0/20 elb | ?10.101.16.0/20 elb-int | ?10.101.32.0/20 svc | ?10.101.48.0/20 svc | ?10.101.64.0/20 分贝 | ?10.101.80.0/20 dmz | ?10.101.96.0/20 <保留> | ? ... | ?10.101.240.0/20 <保留> ?10.102.0.0/16 az-3 ?10.102.0.0/20 elb ?10.102.16.0/20 elb-int ?10.102.32.0/20 svc ?10.102.48.0/20 svc …
AWS Virtual Private Cloud 允许通过多种方式限制从 Internet 访问 VPC 网络上的设备。
1) 将设备放入私有子网(无 Internet 网关)。每个设备都可以使用私有 IP 与其他设备通信。没有设备具有公共 IP,因此无法从 Internet 访问。
2) 将设备放入公共子网。每个设备都有一个公共 IP,因此它们可以使用私有或公共 IP 与其他内部设备进行通信。添加安全组以限制来自 Internet 的访问。
问题:
从安全角度来看,这两种方法是否相同?
还有其他需要考虑的因素吗?
我设置了一个 vpc 并在 10.0.0.0/16 子网中启动了 3 个 EC2 实例。我想知道这些实例如何相互连接,100mbit,1000mbit?
我在创建的新实例上遇到了 EC2 API 工具超时的问题。
昨天我拍了一张服务器的图像,在该服务器上工具运行良好。我对其运行的软件和初始化脚本进行了一些更改,以支持我们的新部署系统。
今天,我为它设置了一个新的 Launch Configuration,并生成了一个新实例。我从原来的实例登录到这个实例,因为它只有一个私有 IP。现在,为了我们的部署,我需要能够访问带有特定标签的快照,这在原始实例上运行良好,但在新实例上它只是超时:
Unknown problem connecting to host: 'https://ec2.eu-west-1.amazonaws.com'
Unable to execute HTTP request: Connect to ec2.eu-west-1.amazonaws.com:443 timed out
Run Code Online (Sandbox Code Playgroud)
我觉得这是一个配置问题,有什么办法可以让您了解我做错了什么?
澄清:
任何帮助都感激不尽。
我正在尝试设置一个需要访问互联网的 Web 服务器 (nginx),同时还要连接到 ELB,但我无法使此解决方案正常工作。
细节:
我发现各种指南对于通过将子网指向 IGW 来将公共子网连接到 ELB 很有用。这些设置没有考虑到互联网访问的需要。
当我将单个 NIC 的路由表从 IGW 更改为 nat 实例时,我可以访问互联网,但无法连接到 ELB,反之亦然,当我更新路由表以使用 IGW 时,我无法访问连接到互联网。
我可以分配一个 EIP 并以这种方式授予它访问权限,但希望尽可能避免通过公共地址将此服务器暴露在互联网上。
我在想的是,我可以 1) 将第二个 NIC 添加到需要 Internet 访问的 Web 服务器,以便它们通过 NAT 实例有一个分支,并且在公共子网中有一个分支以连接到负载均衡器或 2 ) 我可以使用 nat 实例作为我网络的网关。
有没有人设置过类似的东西?
我在同一个 VPC 中有两个实例:Linux (172.31.25.177) 和 Windows (172.31.26.178)。我为两个 IP 地址打开了安全组中的所有端口,它们可以相互连接。
Windows 已连接到本地 VPN 设备。我想通过 Windows 将数据包从 Linux 路由到我的站点。
我在 Windows 上设置了 RRAS,并将他的内部 IP 指定为我在 Linux 中的站点网络 (10.98.0.0/16) 的网关。
root@ip-172-31-25-177:~# ip route show
default via 172.31.16.1 dev eth0
10.98.0.0/16 via 172.31.26.178 dev eth0
Run Code Online (Sandbox Code Playgroud)
但是当我尝试连接到站点资源时,我看到没有数据包从 Linux (172.31.25.177) 传到 Windows。
我需要在 VPC 上配置什么才能完成这项工作?
amazon-vpc ×10
amazon-ec2 ×6
amazon-elb ×2
aws-cli ×2
subnet ×2
bandwidth ×1
networking ×1
routing ×1
sysadmin ×1