通常,EC2公共DNS名称将从EC2区域内parsing为内部IP。 但是从一个EC2实例中,我们看到这些实例总是解决公共IP。 我们已经确认它使用与其他实例相同的亚马逊名称服务器: 这就是我们所看到的: ubuntu@ip-10-203-XXX-XXX:~$ dig A ec2-184-73-XXX-XXX.compute-1.amazonaws.com ; <<>> DiG 9.8.1-P1 <<>> A ec2-184-73-XXX-XXX.compute-1.amazonaws.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44851 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;ec2-184-73-XXX-XXX.compute-1.amazonaws.com. IN A ;; ANSWER SECTION: ec2-184-73-XXX-XXX.compute-1.amazonaws.com. 603721 IN […]
我试图限制用户到一个单一的VPC。 我通过控制访问亚马逊VPC资源,并提出了以下政策,但它不起作用。 有人能指出它的错误吗? 我应该提到, IAM策略模拟器似乎认为在模拟设置中的条件键下设置VPC ARN后,策略是正确的。 (我已经用我的政策中的实际值replace了地区,帐户和vpc-id。) { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:*Vpc*", "ec2:*Subnet*", "ec2:*Gateway*", "ec2:*Vpn*", "ec2:*Route*", "ec2:*Address*", "ec2:*SecurityGroup*", "ec2:*NetworkAcl*", "ec2:*DhcpOptions*", "ec2:RunInstances", "ec2:StopInstances", "ec2:StartInstances", "ec2:TerminateInstances", "ec2:Describe*" ], "Resource": "*", "Condition": { "StringEquals": { "ec2:Vpc": "arn:aws:ec2:region:account:vpc/vpc-id" } } } ] } 谢谢。
现在,我有一个完全在EC2实例上的站点,包括所有静态文件,如css,js和图像。 我想知道处理移动它们的最佳方法。 例如,在给定的html页面的<HEAD> ,我有这个对.js文件的引用: <script src="js/somefile.js"></script> 我想避免的是不得不进入并更新这个(和其他一些)如下: <script src="https://SOMETHING.cloudfront.net/js/somefile.js"></script> 我并不担心将文件移到S3(但),但更多的是如何重写这些链接。 我想这应该有一些解决办法。 为了完整起见,我目前在EC3实例前面使用了一个负载平衡器(这也是我的SSL)。 我也使用路由53的DNS。 任何见解都会有帮助。
我目前正在pipe理Android应用程序的后端服务器。 我们在新加坡使用DigitalOcean,我们认为这也是中国的好地方。 不幸的是,testing来自中国的响应时间大概6秒 www.websitepulse.com/help/testtools.china-test.html 我试图找出一种方法来复制伟大的防火墙内的我们的基础设施,并想知道在那里设置服务器的最佳做法是什么,考虑到我们的API是可读/写的。 我正在考虑亚马逊,它也是一个中国地区,但主要问题仍然是如何保持同步跨地区的两个数据库,考虑滞后等。 目前我们正在使用Mysql + PHP,但将API服务迁移到其他语言/ DBS没有问题 你有什么build议吗? 非常感谢。
我创build了AWS VPC,并通过VPN将我的networking连接到它。 我在路由53内拥有一个私有托pipe区域,并且在同一个VPC上的EC2实例中的DNSlogging可以正常parsing。 有没有办法解决我的networking这些logging,因为他们通过VPN连接?
尝试使用Otto部署Node.js应用程序时,部署的应用程序无法访问。 我创build了一个简单的应用程序 ,只需监听端口80并回答状态请求: var express = require('express'); var app = express(); var port = 80; app.get('/status',function(req,res){ res.json({ hostname: req.hostname, address: req.ip }); }); var server = app.listen(port,function(){ console.log('PORT='+port); }); Otto创build的本地虚拟机工作正常: host$ otto compile host$ otto dev host$ otto dev ssh guest$ npm install guest$ sudo npm start host$ curl http://`otto dev address`/status 但是,当应用程序在AWS上部署时 host$ otto […]
后续我原来的问题: 没有caching控制标题从AWS CloudFront与S3来源的文件 我使用AWS CloudFront以AWS S3为原点提供静态文件。 我尝试使用AWS Web控制台为我的对象设置Cache-Control标题,如我原始问题(上面的链接)中的答案中所述。 当我使用AWS S3链接访问文件时, 我已经可以看到我添加的标题 : Cache-Control:public,max-age = 31536000 。 问题是浏览器不尊重标题。 当我重新加载/刷新相同的链接,我得到一个304 – 未修改的响应,而不是一个200(caching)的响应。 我也尝试了max-age = 300 (没有公开 )的值,并尝试了内部的值,但我总是得到304响应。 我也尝试从S3添加Expires头,但结果相同。 如何让浏览器尊重caching头? 我想利用浏览器caching,并节省使用AWS的成本。 附加说明:我的S3存储桶未设置为静态网站托pipe。 以防万一,这与此有关。 编辑:下面是活的HTTP头 https://cdn.example.com/path/logo.png GET /path/logo.png HTTP/1.1 Host: cdn.example.com User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0 Accept: image/png,image/*;q=0.8,*/*;q=0.5 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br Referer: […]
我有一些VPC与一些路由和子网。 我希望能够使用它,但我不能看到一种方式来链接子网路由表ID。 我已经使用了ec2_vpc_route_table_facts,ec2_vpc_subnet_facts和ec2_vpc_net_facts模块,但是除非我错过了一些东西,否则它们都不会告诉我哪个子网与哪个路由表相关联。 TASK [ec2_vpc_route_table_facts] *********************************************** ok: [localhost] TASK [display routes] ********************************************************** ok: [localhost] => { "msg": { "changed": false, "route_tables": [ { "id": "rtb-83fd25e7", "routes": [ { "destination_cidr_block": "172.31.0.0/16", "gateway_id": "local", "instance_id": null, "interface_id": null, "origin": "CreateRouteTable", "state": "active", "vpc_peering_connection_id": null }, { "destination_cidr_block": "0.0.0.0/0", "gateway_id": "igw-6f792c0a", "instance_id": null, "interface_id": null, "origin": "CreateRoute", "state": […]
我们有很多networking应用程序/网站。 有些相当复杂,但其中很多是简单的网站。 目前我们使用nginx和uwsgi在单个专用服务器上托pipe10个站点。 虽然这是非常符合成本效益和维护费用less(因为我们需要每10个站点维护1台服务器),但它有一些我不喜欢的问题包括: 升级 – 说如果我想升级Postgres我需要担心10个网站,以及他们的configuration。 这使任何依赖性升级以及操作系统升级非常危险和复杂。 Python 3 – 我需要升级一个项目到Python 3.虽然virtualenv可能允许我升级而不影响系统的其余部分,但我不确定非python依赖关系。 操作系统问题 – 有时会出现奇怪的操作系统问题。 如果说有一个网站正在运行,我可以使用负载平衡器将stream量路由到单独的服务器,并在此处修复问题。 现在有10个站点,这也耗费时间。 所以我正在考虑如何解决这些问题。 我正在考虑的几个选项。 AWS – 在不同的实例上运行复杂的应用程序,使用RDS作为数据库。 通过这种方式,我们也可以单独扩展(或扩展)应用程序,而无需担心其他应用程序。 简单的网站可以托pipe在EC2或任何其他服务器上,因为它们很简单,不需要定期更新。 使用Docker在当前专用服务器中托pipe这些应用程序/站点以避免上述问题。 我是docker工人,因此我不能完全确定是否能解决上述问题。 AWS和Docker托pipePythonnetworking应用的经验是什么? 你如何主办大量的应用程序/网站(我相信机构和自由职业者的典型案例)?
介绍 我已经在Amazon AWS上部署了以下架构。 目标是在https://app.acmecorp.com上公开一个作为入口点的Web应用程序(单页应用程序)。 这是一个单页面应用程序: 提供静态资源(html / js / css) 需要通过JavaScript访问REST后端 后端 这个想法是将后端部署在Elastic Container Service Cluster(通过docker)中。 然后,这些资源会被生成/自动扩展到由负载均衡器提供服务的目标组中。 后端通过https://backend.acmecorp.com公开。 (指向AWS负载均衡器的DNS CNAME) 前端 单页面应用程序部署在Amazon S3 Bucket中,并通过S3静态站点托pipe显示。 ( http://frontend.s3-website-us-west-2.amazonaws.com )。 这也可以通过http://frontend.acmecorp.com上的DNS CNAME公开 反向代理 我想要的是以下。 用户通过https://app.acmecorp.com访问应用程序。 这应该服务于静态内容。 为避免CORS设置,我希望单页面应用程序能够将该域调用的API调用转换为/api ,因此对https://app.acmecorp.com/api/ **的调用应映射到后端。 https://app.acmecorp.com/api – > https://backend.acmecorp.com https://app.acmecorp.com/ – > http://frontend.acmecorp.com/index.html 显然,这可以用Nginx之类的东西来完成,但是我想知道是否有亚马逊为此提供的东西,以及需要什么样的构build块才能拥有这个function