对于新的Web应用程序,我正在查看AWS ElasticBeanstalk。 我喜欢它的自动平衡和自动滚动更新系统,以及所有其他扩展相关的function。 但是..我需要一个静态的IP为了与web服务API进行通信。 这里最好的解决scheme是什么? 使用平衡器跳过EB到手动ec2 EB在VPC与边界弹性IP 完全避免AWS 别的东西
我们目前正在使用一套Amazon EC2-classic服务器来托pipe我们的现场和临时环境。 我们在每个环境中都有几台Web服务器和一台后台工作服务器。 我们还有一些服务器用于构build和部署。 我们最近决定,因为我们的某些服务器偶尔会将它们移动到T2服务器types(这是我们的构build和部署服务器)。 T2types只能在VPC中启动。 所以我们build立了一个VPC,成功地让它们运行,一切都很好。 问题是,我们希望能够让我们的部署服务器能够与特定端口上的Web服务器交谈。 以前,我们在安全组中设置了这个function,所以这些Web服务器只能监听那个端口上的部署服务器,而没有其他人可以跟它通话。 现在,虽然我正在访问Web服务器来编辑其安全组,以允许通过其服务器组从VPC部署服务器上允许该端口上的stream量。 然而,亚马逊告诉我,“你不能在VPC组和非VPC组之间定义规则”。 然而,我想不出有任何其他方式可以允许从这个VPC的服务器访问。 我显然可以将我的部署服务器的公共IP硬编码到允许列表中,但是我认为如果我要停止并启动部署服务器,这可能会改变,所以这不是一个好的解决scheme。 我也可以把我所有的服务器移动到VPC,但是我宁愿避免移动所有其他服务器,包括我们的在线Web服务器,以便使其工作,因为这似乎是一个很大的工作(鉴于它不会只是一套安全规则并将其转换为VPC规则等)。 那么我怎样才能定义一个规则,说EC2-classic服务器只能通过VPC中的特定服务器连接到端口xyz上?
无法find这个完全相同的问题,所以在这里: 我试图设置一个CNAMElogging到一个弹性ip链接到一个EC2实例,但是这个失败。 当从实例中解除弹性ip并将其链接到实例的公共dns时,它按预期工作。 是不是允许将CNAME指向一个IP地址(而不是一个DNS名称)? 顺便说一句:我没有使用Alogging,因为我已经使用免费服务http://www.gov.com/把这个裸域(例如:example.com)redirect到www.example.com 。 编辑:更明确地说:我希望两个www.allehotelsinparijs.nl指向79.125.111.73这是一个亚马逊弹性IP(虽然我认为这并不重要这个讨论)。 此外,我希望allehotelsinparijs.nlredirect到www.allehotelsinparijs.nl 任何其他方式来? 由于从下面的答案看来,确实一个cname不能链接到一个IP地址
我们正在执行应用程序的testing部署,该应用程序利用DynamoDB进行持久性。 美东地区创build了一些表格。 然后我们对应用程序进行了一些testing,导致大量的写入和读取这些表,超过了吞吐量阈值。 然而,突然之间,DynamoDB的请求完全停止在那台特定的机器上。 我们重新在欧洲西部地区的表格,并再次进行testing。 这工作了一段时间,但在早上发现,西欧装置也发生了同样的事情,但同时对美西的要求也开始了。 经过一番调查,还有更多的人发现,如果当时针对某个地区的所有请求都失败了,我们甚至无法打开与该地区的DynamoDB端点的连接(基本上,“wget https:/ /dynamodb.us-west-1.amazonaws.com “失败,超时)。 而且,当我们无法连接到特定的DynamoDB端点时,所有其他机器都可以做到这一点。 即使是那些与受影响的机器在同一个子网中并在相同的NAT后面(因此,共享其源IP地址!)的人也是如此。 我所说的所有机器实际上都是EC2实例,所以我们这边没有真正的硬件。 任何想法,有什么可能是错的? 在testing期间,我们没有触及networkingconfiguration。 这可能是我们正在经历的某种forms的限制吗?
我知道这个问题在互联网上花了很多时间,但我找不到任何最新的更新。 所以我把收集到的信息收集起来放在这里,而且几乎没有问题。 有人可以回答吗? 一些注意: –我正在使用其他第三方供应商为我的网站(社交网站),并将使用亚马逊或rackspace照片上传和存储我所有的静态内容。 地点数量: –亚马逊我从他们的网站上看到40个地点的全球CDN中心。 http://aws.amazon.com/cloudfront/ 。 Rackspace使用Akamai边缘位置的213个。 客户支持: –亚马逊,我们必须支付额外的100美元的客户支持。 Rackspace免费提供 文件夹结构: –亚马逊有良好的文件夹结构pipe理,我们可以创build桶和使用它们。 但是Rackspace缺乏这个function 免费关系: –亚马逊有免费的一级,我们可以免费注册并使用它。 但另一方面rackspace我找不到任何免费的轮胎使用它.AM我错过了这里的任何东西.. 价格: –这是我感到困惑。 我听说亚马逊收费较less,但使用他们的网站和做计算后,我得到了一些不同的结果。 如果我错过了一些东西,有人能抛出一些光吗? RackSpace的价格: – 172.88 http://www.rackspace.com/cloud/files/pricing/ 亚马逊价格: – 282.55(加100 $支持) http://calculator.s3.amazonaws.com/calc5.html 请参阅下面的屏幕截图。我的计算是500 GB的存储和1024 GB的每月
前言:我没有要求configuration帮助。 我的用例被覆盖,工作正常。 这是一个理论问题。 在AWS上有一个名为AWSLambdaExecute的策略,定义如下: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:*" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::*" } ] } 这个定义对我说: 完全访问所有日志 可以下载/上传到S3。 这背后的推理是什么? 他们为什么在谈论S3? (我特别的lambda调用与S3没有任何关系。)我们是否知道任何有关预定义策略的详细文档,而不是每个单行描述?
我正在设置ELB,我很难find一个合适的度量来调整池的大小。 RequestCount不起作用,因为一些请求比其他请求便宜得多。 延迟不起作用,因为有些请求是长时间轮询的,所以最大延迟时间几乎总是60秒。 我真正喜欢的是一个衡量开放连接数的统计量。 我相信这就是LoadBalancer本身在路由请求时所使用的,所以我们真的很惊讶,它似乎没有在CloudWatch中公开给我们使用。 我只是想念一些东西? 其他build议? 我将不得不创build我自己的指标?
所以我很难让HTTP / 2与更新版本的AWS Application Load Balancer和Tomcat 9一起工作。我将<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />到我的连接器上tomcat(标准未encryption的8080连接器)。 当我通过LB打我的网站,我看到根据Chrome使用h2协议,但是当我看我的访问日志,似乎一切都最终使用HTTP1.1 10.0.3.103 – – [04/Nov/2016:01:23:47 +0000] "GET /login.html HTTP/1.1" 200 4916 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" > <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> </Connector> 我试图确保一切正常运行,从我所看到的我猜测LB只是处理一切为H2,然后将其转换回http 1.1在后端明显不是什么我在找。 只是为了澄清,LB是我的TLS集中器,连接到我的后端服务器是不安全的。
我在Elastic Beanstalk上部署了一个Windows / .NET MVC应用程序,并且设法解决了除了一个以外的大部分挑战。 有问题的Web应用程序为其当前部署位置的子文件夹中的二进制资产创build本地caching,为此,我需要为IIS_IUSRS组添加权限,以读/写该文件夹。 经过漫长的反复试验后,我现在有了一个似乎可行的解决scheme,但是我并不十分确定它的“合法性”。 在MVC解决scheme中,我创build了一个名为“.ebextensions”的文件夹,并在其中创build了一个名为“eb.config”的yaml文件。 在这个文件中,我基本上创build了2个batch file,我将其部署到c:\ temp – 第一个batch file检查是否已经存在C:\ Program Files \ Amazon \ ElasticBeanstalk \ hooks \ appdeploy \ post \如果没有,则将其复制到那里。 第二个batch file为此“BinaryData”文件夹设置所需的ACL。 Elastic Beanstalk执行它在上面提到的文件夹中find的任何batch file,这似乎是现在做的伎俩。 我一直没有find任何有关如何“正式”实现这一目标的文件,并从这篇博文中了解到这个技巧。 任何有关如何以“更清洁”的方式实现这一目标的build议将会受到赞赏。
我们已经在AWS上运行了两个集群(HAProxy / Solr,PGPool / PostgreSQL),并且我们已经设置了脚本来允许新的从属实例被自动包含到集群中,通过更新他们的IP来configurationS3上的configuration文件,然后通过SSH连接到主实例来踢他们下载修改后的configuration并重新启动服务。 这一切都很好,但在testing中,我们使用我们的主要pem为SSH,这意味着它需要存储在一个实例。 不好。 我想要一个可以使用AWS密钥对的非root用户,他们将拥有sudo访问权限来运行download-config-and-restart脚本,但是没有别的。 rbash似乎是要走的路,但我知道这可能是不安全的,除非正确设置。 那么这种方法有什么安全漏洞呢? 为user.pem创build的新AWS密钥对(不是真的叫'user') 实例上的新用户:用户 用户的公钥是〜user / .ssh / authorized_keys(通过用user.pem创build新的实例,并从/root/.ssh/authorized_keys复制) 用户的私钥在〜user / .ssh / user.pem中 'user'具有/ home / user / bin / rbash的loginshell 〜user / bin /包含到/ bin / rbash和/ usr / bin / sudo的符号链接 / etc / sudoers有条目“user ALL =(root)NOPASSWD:[脚本path] 〜user / .bashrc将PATH设置为/ home / user / […]