我正在移植一些使用静态库存的自动化脚本来使用dynamic库存(每个环境都有一个AWS Cloudformation堆栈,每次我们重新创build一个堆栈时,更新静态文件似乎很愚蠢)。 每个堆栈和一堆工作节点都有一个主节点。 为了区分剧本中的主人或工作人员,我使用自定义标记(例如tag_node_type_master或tag_node_type_worker )作为主机组(并使用–limit tag_env_XXX限制为一个特定的环境)。 问题出现在我需要让工作节点知道哪个是主节点的时候。 目前有一个模板引用静态定义的variables与主节点的私有DNS名称,这不是一个可以接受的选项了。 我正在尝试在master_node: {{tag_node_type_master[0]}}的variables部分做一些事情master_node: {{tag_node_type_master[0]}} (select该主机组的第一个,也是唯一的元素),但是这不起作用(它说variables是未定义的,这是有道理的,因为它不是一个variables,而是一个主机组)。
我在AWS中创build了VPC场景3。 在aws和cyberoam之间configuration了ipsec vpn站点。 隧道已经到了 我已将安全组添加到私有子网中的ec2实例,以便完全访问VPC中的任何人。 不过,我无法从连接到cyberoam的本地/专用networking的笔记本电脑ping到私人ec2实例。 在aws中我们写了到私有子网的静态路由。 指示将数据包从私有子网路由到虚拟专用网关(即0.0.0.0/0到虚拟专用网关)。 根据tracepath,数据包不通过虚拟专用网关。 此外,我从VPN连接下载的通用configuration文件包含“内部IP地址”这是要添加到安全组或cyberoam防火墙?
在创build新的安全组(id sg-abcdefg )之前,我可以通过http从IP地址107.178.195.144达到负载平衡。 负载均衡器会将stream量转发到后端实例。 后端实例只有一个安全组,允许来自loadbalancer组的入站stream量。 我想将一系列地址列入白名单,以限制入站stream量到AWS中的负载均衡器本身。 目前它对世界开放。 我以这种方式将入站规则添加到新的安全组 aws ec2 authorize-security-group-ingress –group-id sg-abcdefg –protocol tcp –port 80 –cidr 107.178.192.0/18 这是最后的结果: 但是,在添加新安全组之后,将阻止从107.178.195.144通过负载107.178.195.144到后端实例的所有通信。 我再次检查,确定107.178.195.144在107.178.192.0/18范围内 我已经将新安全组( sg-abcdefg )添加到后端实例,但是没有帮助。 我错过了我的设置中的任何东西? 编辑 这似乎是根本原因是后端实例停止接收健康检查ping。 我已经向sec组添加了174.12.0.0/16 (子网的IP范围),但无济于事
AWS和GoGrid数据中心之间的openvpn设置有奇怪的问题。 我的networking看起来像这样 /—————-\ /—————-\ /——————\ /—————-\ | VPS-DEVEL.gg | | VPS-VPN.gg | | VPS-VPN.aws | | VPS-PROVIS.aws | | 10.160.64.7/24 | eth1 — eth1 | 10.160.64.9/24 | tun0 — tun0 | 10.160.48.219/24 | eth0 — eth0 | 10.160.52.8/24 | \—————-/ \—————-/ \——————/ \—————-/ 我可以从aws ping gogrid没有问题(两个虚拟机都是VPS-DEVEL.gg和VPS-VPN.gg),但是我不能从gogrid ping到AWS。 我在VPS-VPN.gg上的路由表看起来是这样的: [root@VPSVPN ~]# route -n Směrovací tabulka v […]
一个域名系统(DNS)的问题:(也被问到堆栈溢出 ) 我有一个amazon web services(AWS)Elastic Beanstalk(EB)站点,可能有数千个子站点。 显然,在AWS上使用Alogging是不可能的,因为它们可以实现服务器平衡,并且可以移动IP地址。 到目前为止,我已经设置了一个CNAMElogging: www CNAME http://mysite.elastic-beanstalk.com. 和networking转发,以处理对“裸”域的请求。 @ / http://mysite.elastic-beanstalk.com 我现在需要将子域名映射到正确的位置: url typed and seen by the user >> currently live and working page subdomain1245.mysite.com >> http://subdomain1245.mysite.elastic-beanstalk.com : www.subdomain1245.mysite.com >> http://subdomain1245.mysite.elastic-beanstalk.com … X1000 我能find的最接近的教程提到了“通配符”DNS匹配,如: * CNAME http://mysite.elastic-beanstalk.com. 我尝试了后者,从testing中我可以看出,它只是将所有子域redirect到主域。 我需要子域保持显示在url中,并redirect到子域名页面。 如果有人能够展示并且理想地解释一个策略,那么这将是非常有帮助的! ******* UPDATE ********* 新的线索: 使用* CNAME http://mysite.elastic-beanstalk.com. ,访问subdomain1245.subdomain1245.mysite.com提供正确的页面(subdomain1245.mysite.elastic-beanstalk.com)。 我们find了另一个可能的select:删除* CNAME […]
我的应用程序有一些先决条件,这意味着从需求安装将不会工作,直到几个脚本运行。 我一直在阅读关于自定义Python容器的文档,但是它不能完全清楚如何控制.ebextensions中的脚本何时运行,以及我所做的所有testing都表明它在部署应用程序后发生,或者至less在使用pip安装来自requirements.txt的包之后。 AWS论坛上的这篇文章build议创build一个脚本文件名,将其插入到hooks文件夹中,但这并不是build议的: 将文件直接放入钩子目录是有风险的,因为这不是logging的方法,在一些容器中是不同的,并且可能在将来会改变。 我想知道是否有人已经成功地build立了脚本在requirements.txt文件之前运行,如果是的话,我可能会做错了什么。 这是我的.ebextensions文件: packages: yum: # packages needed for my app files: "/home/ec2-user/setup-script.sh": mode: "00755" owner: ec2-user group: ec2-user encoding: plain content: | #!/bin/bash echo $(date -u) >> /tmp/debug.log echo "Running as $(whoami)" >> /tmp/debug.log # rest of script commands: 01-setup-script: command: "sh -x /home/ec2-user/setup-script.sh" 部署在安装需求的过程中停止,似乎不运行脚本,或更新脚本,因为它存在于用户文件夹中。
我试图用ipsec隧道连接我的pfsense盒子和AWS VPC。 我读了几个教程,都看起来不错。 但是…是的,总是有一些,但是。 当只有一个人在工作,那么一切都很好。 即使当我有更多的1届会议,但从同一台PC。 当别人连接的时候,两个会话都卡住了。 VPN隧道仍然连接,甚至重新连接不起作用。 我希望使用Netgate AWS向导,但是我使用从网上下载的pfsense,而不是从他们的商店购买。 你知道为什么吗? 谢谢你的帮助和回答。
有没有办法使用路由53作为DNS故障转移,激活hibernate(即更便宜)的EC2实例接pipe? 我的想法是使用不同的提供程序来主持大部分时间,但是如果出现停机,Route 53的监视服务将激活hibernate的EC2实例并将DNS路由到该服务,直到主服务器再次可用。 思考? 更好的想法?
我们在AWS上有以下设置:8个Elastic Beanstalk环境(4个QA,4个PROD)读取和写入数据。 通常情况下,1个环境(API)始终从DynamoDB和RDS读取数据,而1个环境(Data Gatherer的作业服务器)通常会写入数据。 为了提高性能,我们创build了一个可以被应用程序逻辑访问的memcached服务器。 通常,上面提到的API服务器试图从caching中读取(如果找不到该项目,则添加),而作业服务器使caching项目无效,以便强制API从数据库中读取它们。 到目前为止,这么好,一切正常。 主要的问题是现在的安全设置。 memcached要求端口11211打开,全世界都可以telnet到它并阅读我们的caching设置。 我首先设置了memcached服务器的安全组,以便只允许来自我们的VPN服务器的传入连接,以便我们的开发机器可以访问它。 工作正常,只有3个CIDRs。 然后我尝试添加Elastic Beanstalk环境的安全组来执行相同的操作。 这似乎不工作了 。 我无法从Elastic Beanstalk服务器访问memcached服务器。 我基本上在CLI上做了什么 aws ec2 authorize-security-group-ingress –group-name security-group-of-memcached-server –protocol tcp –port 11211 –source-group xxx-rds-associations –group-owner 517999993 其中xxx-rds-associations是Elastic Beanstalk环境及其实例的安全组。 为了避免一个愚蠢的应用程序configuration问题,我也RDPd进入服务器,并试图用telnet访问memcached服务器。 也没有工作。 我身边有一个基本的误解吗? 是否向源添加安全组不允许具有此组的服务器访问目标服务器? 还是我错过了什么? 我欢迎任何意见。 最好的问候Marco
我已经在两个独立的AWS账户中设置了两个NAT框,并给予必要的安全组权限,以允许两个实例进行对话。 在帐户AI有一个服务需要与帐户B中的服务对话。我们希望通过跨帐户对等来实现这一点,但是我们不能自动执行此过程,所以我们在每个帐户中设置一个NAT实例永久对等连接。 我们需要这些NAT实例将来自账户A中的应用程序的所有stream量路由到账户B中的应用程序。 我相信这将是iptable规则,但经过大量的search,我还没有find明确的答案。 NAT 1 ipconfig: eth0 Link encap:Ethernet HWaddr 06:FF:01:29:D1:21 inet addr:172.32.34.87 Bcast:172.32.34.255 Mask:255.255.255.0 inet6 addr: fe80::4ff:1ff:fe29:d121/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1 RX packets:5198 errors:0 dropped:0 overruns:0 frame:0 TX packets:2136 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5160072 (4.9 MiB) TX bytes:262514 (256.3 KiB) eth0:0 Link encap:Ethernet HWaddr 06:FF:01:29:D1:21 inet addr:172.0.0.0 […]