Articles of amazon web services

AWS OpsWorks多层部署

在我们的opsworks堆栈中,我们有一个包含2个App Server的堆栈 – 1个Java和1个PHP。 每个App Server目前每个都有一个实例。 我们在这个堆栈中也有几个应用程序–1个应用程序部署到Java应用程序服务器/实例,其余的部署到PHP服务器/实例。 当我们部署一个应用程序,在“高级>>”下,两个应用程序服务器都打勾。 我们想知道是否有一种方法来设置每个应用程序,这样它的部署默认为它当前所在的应用程序服务器。 例如,将PHP应用程序部署到只有PHP应用程序服务器。 现在,这不是一个大问题,因为部署一个应用程序,比如一个PHP应用程序到这两个应用程序服务器意味着PHP应用服务器部署成功,而Java应用服务器部署失败(并且很快失败),而不会影响PHP的成功App Server部署。 这更是一个整理松散结局的例子。

Python的uWSGI日志没有读取权限

我通过EC2 Ubuntu 14.04 LTS在uWSGI上运行Python Flask服务器。 服务器configuration如下: [uwsgi] http-socket = :9000 plugin = python wsgi-file = /path/to_wsgi.py enable-threads = true 但是,日志是使用根权限创build的,不具有读权限: $ ls -ltrh /var/log/uwsgi/app total 34M -rw-r—– 1 root root 2.3M Jun 4 06:50 reporter-uwsgi.log.2.gz -rw-r—– 1 root root 24M Jun 5 06:51 reporter-uwsgi.log.1 -rw-r—– 1 root root 8.4M Jun 5 17:27 reporter-uwsgi.log 这是一个烦恼,因为我的一些脚本以普通用户身份运行并parsing这些日志。 任何想法如何configurationuWSGI写入全局读取权限?

为什么在路线53 + S3组合中使用CNAME

我一直在阅读有关使用Route 53与S3一起提供静态网站的亚马逊文档 。 他们展示的策略是: example.com A -> alias to s3-website-eu-west-1.amazonaws.com (example.com bucket) www.example.com CNAME -> www.example.com.s3-website-eu-west-1.amazonaws.com example.com存储区设置为托pipe静态内容,而www.example.com存储区设置为永久redirect到example.com 。 这很好,它的工作原理,但是因为我正在努力学习和理解DNS如何工作的细节,我不明白他们为什么不简单这样做: example.com A -> alias to s3-website-eu-west-1.amazonaws.com (example.com bucket) www.example.com A -> alias to s3-website-eu-west-1.amazonaws.com (www.example.com bucket) 它不会帮助减less一个额外的DNSparsing步骤(查找www.example.com.s3-website-eu-west-1.amazonaws.com )? 在这里使用CNAME有什么好处,考虑到Route 53有直接别名桶的能力吗? 要清楚,使用CNAME的作品,但我试图在学术上理解为什么他们不build议使用一个别名。

CloudWatch不遵守警报设置

我为我的EC2实例有一个CPUUtilization警报设置。 警报的设置是: CPUUtilization >= 95% for 15 consecutive periods of 1 minute (15mins total) 即使实例未进入定义的警报状态,我们仍然收到警报电子邮件。 我和我收到的电子邮件报警解释: 您收到此电子邮件是因为您的Amazon CloudWatch警报…已进入警报状态,因为“阈值交叉: 3个数据点大于或等于阈值(95.0)”。最近的数据点:[99.466,98.45] .. 。 3个数据点? 我的理解是,如果15个数据点大于95%,那么我设置15个连续的1分钟的时间应该只能提醒一下。 我误解了电子邮件的文字吗? 我的闹铃设置是否与某些内容相冲突?

实例启动时的Windows EBS卷快照是离线的

使用Powershell启动Server 2012 R2计算机。 我可以从库存服务器2012R2 AMI启动一个实例,为d:驱动器定义一个新的EBS卷,启动后,联机,工作正常。 如果我采用相同的代码,只是从快照添加卷的创build,它启动,音量在那里,但它显示为脱机。 一旦进入磁盘pipe理器,在线标记,一切都很好,我有一个D:驱动器。 我尝试了几种不同的方法来创build快照(运行,脱机,分离,实例停止)。 没有什么似乎有所作为。 编辑:也尝试启动实例没有卷,configuration卷,并将其附加到实例。 相同的结果 思考? 谢谢 凸轮 我正在使用的代码: #configure D:\ drive $Volume2 = New-Object Amazon.EC2.Model.EbsBlockDevice $Volume2.DeleteOnTermination = $True $Volume2.VolumeSize = 10 $Volume2.VolumeType = "gp2" $Volume2.SnapshotId = "snap-xxxxxx" #and map it $Mapping2 = New-Object Amazon.EC2.Model.BlockDeviceMapping $Mapping2.DeviceName = 'xvdf' $Mapping2.Ebs = $Volume2 #create the instance $NewInstance = New-EC2Instance -ImageId $ImageId […]

AWS EC2的SSL终止点? ELB或NginX或..?

我有一些独立的Java Web应用程序,目前运行在不同的端口和URLS。 我想公开所有这些应用程序在一个单一的端口(443),并将不同的公共URL映射到单个内部URL /端口。 我认为客户端是Nginx的反向代理。 我还需要这些应用只能通过SSL进行访问,并且在AWS ELB上使用终止于AWS ELB的AWS VPC中的所有内容进行规划,然后再select反向代理。 这看起来像一个非常标准的堆栈。 有没有理由不这样做? 任何理由我应该终止反向代理(Nginx或其他)而不是AWS ELB的SSL? 谢谢

如何通过公共访问私人主机

我有许多AWS EC2实例,其中一个具有公共IP地址,其余的没有公共IP地址。 我已经使用私钥/公钥对设置了对公用机器的SSH访问权限。 我现在需要通过这个公共实例访问networking的其余部分。 我被告知,如果我从密钥对创build一个.pem文件,并将其安装在公共实例上,我将能够首先SSH进入公共实例,并从那里,SSH到其他。 这感觉不对 将我的私钥复制到另一个实例并不安全。 是否有可能build立一个隧道(不pipe它是什么,我不是一个系统pipe理员)从我的本地机器有密钥对目标实例?

AWS自定义AMI未运行用户数据脚本

我们烘烤AMI,最近我想运行一些用户数据脚本,以便在实例启动并投入使用时通知云的形成。 我正在使用cfn-signal来做到这一点。 在原始的ubuntu映像上,脚本将会执行,但是在烘烤我们的自定义AMI之后,用户数据脚本不能运行。 如果我将“#cloud-boothook”放在它执行的脚本的顶部,但因为它执行得太早,所以对于通知机器何时启动无用。 我希望有人知道标志或文件的位置,它指示cloudinit它是一台机器的第一启动。 我也尝试修改configuration,像这里所build议的 我知道必须有一个标志或文件,我可以在AMI创build过程之前删除,但无法find有关该标志或文件可能的任何信息。

在云端分配一个公共ip给ec2?

在vpc我使用aws ec2的默认情况下不会获得公共ip地址。 我想在引用这个和这个文档之后手动添加一个。 目前我的云端模板包含 "netinterface" : { "Type" : "AWS::EC2::NetworkInterface", "Properties" : { "SubnetId" : {"Ref": "Subnet"} } }, "billingattributionapi" : { "Type" : "AWS::EC2::Instance", "Properties" : { "NetworkInterfaces" : [ { "AssociatePublicIpAddress" : "true", "DeviceIndex" : "eth0", "NetworkInterfaceId" : {"Ref" : "netinterface"}, "DeleteOnTermination" : "true" } ] } } 有很多省略,但这是与添加IP有关的一切。 我的问题是,文档说,只有eth0的DeviceIndexnetworking接口可以有一个公共IP地址,但使用eth0导致错误说 Encountered non numeric […]

AWS RDS Postgres升级而不丢失数据

我目前在AWS RDS上运行Postgresql v9.3.3。 我了解到,如果将Postgres升级到9.3.5,我可以创build只读副本。 但是,我害怕丢失数据。 我可以从控制台“实例操作”部分select“修改”并升级到9.3.5而不丢失任何数据; 还是我需要做一些特别的事情?