Articles of amazon web services

为什么从RDS获取10,000次查询结果的时间如此不均衡? (实验)

tl; dr: 为什么从EC2获取请求时,从RDS获取10000次SELECT语句的结果时间如此不均匀? 用小型和中型RDS服务器的结果更新了问题 在尝试使用AWS来检查获取SQL查询结果所花费的时间时,我得到了以下非常不均匀的结果: 我写了一个PHP代码来向我报告从服务器获取n次SELECT查询所需的时间。 while($flag<n) { $t=microtime(true); $result=$con->query($q); $t=microtime(true)-$t; $total+=$t; $flag++; } Enviornment: 所有交易都是在AWS的专用vpc内完成的 所有的服务器都在不同的区域 每台服务器上MySQL的configuration是:EC2上的MySQL:版本= 5.6,RDS:5.5,query_cache_size = 16777206,query_cache_state = ON。 数据库一个大的数据库〜5GB,查询表有〜20000行。 服务器: EC2 A,可用区域:us-east-1e,types:t2.micro。 EC2 B,可用区域:us-east-1b,types:t2.micro。 RDS可用区域:us-east-1c,types:db.t2.micro,db.t2.small(已更新),db.t2.medium(已更新) 结果: 执行SELECT查询的10,000个循环所需的时间: 请求服务器B,数据库服务器B 5次试验的结果是:20,21,20,20,21(均为秒) 请求服务器A,数据库服务器B 5次试验的结果是:33,33,33,33,3(全部秒) 请求服务器A,数据库服务器RDS(微) 11项试验的结果分别为: 272,709,49,48,711,593,47,316,153,47,636 (均为秒) 请求服务器A,数据库服务器RDS(小型) 5次试验的结果是: 53,54,53,158,698 (全部秒) 请求服务器A,数据库服务器RDS(中) 5次试验的结果是: 96,123,579,252 (全部秒) 为什么RDS在SELECT语句的10,000个循环testing中花费的时间如此不均匀? 为什么它比EC2服务器高呢? [我不认为它是由networking引起的,因为当我用较小的循环(1000个循环)进行实验时,EC2-> RDS的读数是4,5,5, 当我logging每个提取请求的时间时,我注意到以下内容: 对于RDS上的10,000个循环需要153秒的情况: 平均时间每个查询采取:0.015419 […]

如何以编程方式查找我所有的AWS账户的限制?

我正在寻找一种方法来查看我们所有的AWS账户限制(例如,每个地区的最大桶数,ELB的最大数量等)。 我在http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.htmlfind了该页面,但是这只列出了默认限制。 在我们提出要求之后,它们中的一些会被提出来,所以它不会告诉我们的限制 例如,我也发现aws ec2 describe-account-attributes ,但这只给出了与EC2相关的限制。

Amazon SES免费套餐是什么意思? 我为什么被指控?

我最近从Amazon SES服务中得到了一些账单。 我以为我是在免费的限制,这意味着我可以每月发送62000消息给任何收件人: https://aws.amazon.com/ses/pricing/ 我可以付费,但是我不太明白为什么。 是因为我没有使用EC2实例吗? 当您直接从Amazon EC2实例调用Amazon SES时,您可以每月向任何收件人发送62,000封邮件 如果我不使用EC2实例,他们每发送1000封电子邮件收费0.1美元? 我使用我的一个网站(不使用EC2)的电子邮件设置,在用户提交表单后发送电子邮件。 这是什么意思,我将直接从EC2实例调用Amazon SES?

openssl工具无法从CloudFront获得证书,有谁知道为什么?

我写一个脚本来检查所有我的域的SSL到期date。 这适用于我的正常站点: echo | openssl s_client -connect $domain:443 2> /dev/null | openssl x509 -noout -enddate 但是,它不适用于AWS CloudFront。 我已经将自己的证书上传到CF,并使用CNAME。 输出是: CONNECTED(00000003) 15336:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure 有谁知道为什么? 我已经尝试了-ssl2和-no_ssl3选项。 谢谢!

amazon web servicesEFS似乎没有保存文件

所以我试图使用AWS EFS和EC2在多个实例之间进行持久存储。 我使用sudo mount -t nfs4 -o nfsvers=4.1 $(curl -s http://IPADDRESSHERE/latest/meta-data/placement/availability-zone).FILESYSTEMIDHERE.ZONEHERE.amazonaws.com:/ /mydir驱动器, sudo mount -t nfs4 -o nfsvers=4.1 $(curl -s http://IPADDRESSHERE/latest/meta-data/placement/availability-zone).FILESYSTEMIDHERE.ZONEHERE.amazonaws.com:/ /mydir 。 出于安全原因,我用占位符replace了一些关键信息。 运行后没有任何反应,它只是回到terminal没有成功的消息,没有错误消息,所以我假设它的工作。 我在/mydir和ls /mydir里创build一个文件夹或文件,一切都显示正常。 然后我使用sudo umount /mydir卸载驱动器。 运行后,再次没有错误,但没有成功的消息,所以我假设它的工作。 所有的文件保持在文件夹中,运行后没有任何变化。 然后,我创build一个新的目录,并将驱动器挂载到该新目录,并且没有任何创build的文件或文件夹出现在该新文件夹中。 因此,如果挂载到新文件夹,它甚至不会同步文件,甚至不会保存到EFS驱动器。 任何想法如何得到这个工作? 非常感谢。

为什么我需要一个IAM用户,当我可以从主帐户创build一个实例?

我真的不明白为什么我需要IAM用户。 文档说有两种访问EC2的方法。 一个是为您的AWS账户创build访问密钥。 另一个是使用IAM。 亚马逊推荐IAM。 于是我login了主帐号,在IAM页面上,我创build了一个IAM用户,然后创build了一个IAM组,然后使用AdministratorAccess策略将用户添加到IAM组中。 我还在“安全证书”选项卡下分配了自定义密码。 当我然后select用户,它导航到一个摘要页面。 在摘要页面上,有一个“用户ARN:”定义,其中包括帐户ID和用户名: arn:aws:iam::account_id:user/username 有了这些信息,我可以使用为用户创build的IAM用户名和密码登出主AWS账户并以IAM用户身份login。 https://account_id.signin.aws.amazon.com/console/ 现在文档说Linux实例没有密码。 启动实例时必须指定密钥对的名称,并在使用SSHlogin时提供私钥。 所以作为IAM用户,我在“networking和安全”下创build了一个密钥对。 我将私钥文件保存在一个安全的地方。 最后,当我启动一个实例时,它会提示我input密钥对,所以我select了我创build的密钥对。 一旦实例正在运行,我尝试从ssh连接: $ ssh -i ~/.aws/username-key-pair-useast.pem [email protected] 它不起作用。 我必须指定用户名为ubuntu: $ ssh -i ~/.aws/username-key-pair-useast.pem [email protected] 然后它工作。 但为什么不允许我用IAM用户连接到服务器? 我认为IAM用户的全部目的是为了我的实例的额外安全。 但是,如果我使用Ubuntu超级用户login,并且IAM用户没有添加到实例的操作系统,那么IAM提供了哪些额外的安全性? 此外,我使用IAM用户完成的所有工作都可以通过主AWS账户完成。 例如,我可以login主AWS账户并创build密钥对并启动实例。 所以看来IAM只是多余的。 我真的不明白为什么我需要IAM用户。

需要build议selectaws EC2

我打算主办一个网站,在第一阶段我将瞄准30,000个用户。 它在php中,并在Apache服务器上运行。 假设8000个用户在最坏的情况下可以上网,其中1000个用户将上传照片。 客户端照片大小将调整到1MB左右,一个HTTP请求只能上传一张照片。 我的计划: 2个运行Apache httpd的小型EC2实例 2个小EC2实例到DB(Postgresql)。 我写数据和其他只读副本。 数据库的EBS卷 最后,亚马逊S3上传照片。 我的问题在这里 是小的EC2实例比我所需要的更多。 我的意思是我应该去微观 是8000同时用户一个正确的没有。 (决定select什么样的EC2实例) 或者,我应该去小实例,使其能够尖峰

CentOS 6.1 AMI在EC2上运行?

我似乎没有看到为CentOS 6.1创build的公共AMI图像。 这是有原因吗? 是否build议我旋转我自己?

无法ping通我的Ubuntu AWS实例

我是AWS的新手,只是安装了一个Ubuntu的EC2,我已经build立了一个安全组,允许我ssh进入,现在已经完成了。 我该怎么做才能做到这一点,我也可以ping我的实例?

PostgreSQL在Ubuntu 12.04中使用

我正在尝试使用postgres(干净安装)在Ubuntu 12.04发行版上运行django。 为了让它运行,它曾经是你必须编辑/etc/postgresql/9.1/main/pg_hba.conf文件。 但是,当我看这个版本时,没有/etc/postgresql目录,只有/etc/postgresql-common并且看起来并不是一个类似于该目录下的pg_hba.conf的文件。 另外,虽然我有你的耳朵,这是我想要做的改变: # change local all all ident # to local all all trust 这是正确的,我想我看到,它应该改为同行(不信任),如果正确,为什么? 更新:这是postgres的版本 psql (PostgreSQL) 9.1.3