我有两个账户,“A”和“B”。 我想从帐户“A”使用SES并在帐户“B”的SNS上发布反弹。 在账户B上,我创build了一个名称为test1234的主题。 题目是“arn:aws:sns:us-west-2:123456789:test1234”。 然后,我用aws cli来授予帐户A的权限,如下所示: aws sns add-permission –topic-arn arn:aws:sns:us-west-2:123456789:test1234 –label 0987654321 –aws-account-id 0987654321 –action-name Publish 在此之后,我去帐户A和通知选项卡上我把上面的阿恩,但我得到一个错误是: SNS话题arn:aws:sns:us-west-2:123456789:test1234是无效的。 (服务:AmazonSimpleEmailService;状态码:400;错误代码:InvalidParameterValue;请求ID:635fa1f9-a0d8-11e5-ba0a-57f0be7a91f1)
我们怎样才能知道为什么当我们要求c2dm发送通知时,在某些AWS实例上, Google c2dm推送服务偶尔出现了401错误? 这是一个短暂的问题。 所有AWS实例在向Google c2dm发送HTTPS请求方面大都成功,有些实例100%成功,有些实例偶尔会获得401。 所以我们不认为这是我们的c2dm注册或我们的通知代码(python)已经生产了一年多的问题。 401错误从2012年5月16日开始。 相反,我们认为亚马逊基础架构中的某些东西,包括DNScaching,可能会以某种方式涉及到这个问题。 Google善意地回答我们的询问: 我会寻找可能导致片状交stream的东西。 尝试看看是否在该机器的networking适配器上获得exception数量的损坏或丢弃的数据包。 但是,我们没有看到任何“片面交stream”的证据。 发生问题时,实例上的CPU负载几乎为0,麻烦的机器上的以太网连接的数量平均低于没有问题的实例。 一个线索是401错误似乎发生在一个丛中(几个发生在大约4分钟之内),并且这个丛往往间隔10到60分钟(虽然可以有许多小时没有错误)。 我们没有看到I / O错误或“flaky通信”错误,只有来自Google c2dm的401错误。 一个serverfault post使我们想到了AWS上的DNScaching,因为它涉及到Google c2dm服务提供的证书中的主机名的SSLvalidation,但是似乎我们使用的python 2.7 urllib2并没有通过validation主机默认。 另一个线索是,我们使用“弹性IP”function更改了第一个显示问题的Web实例的IP地址:同一个持续运行的实例,只是一个新的IP。 这个例子在4天里成功了100%,但是现在又回到了偶尔的401s。 我们能做些什么来揭示这一点? 堆栈跟踪示例: c2dm push error: HTTP Error 401: Unauthorized Traceback (most recent call last): File "/home/django/base/src/mmsite/push/models.py", line 262, in send_c2dm_message response = urllib2.urlopen(request) # third try File "/usr/local/lib/python2.7/urllib2.py", line […]
我们正在使用ELB进行SSL终止。 我们的应用程序使用HTTP在ELB后面的EC2实例上运行。 我们正在监视应用程序的响应时间,并在通过ELB时性能受到很大影响: – 通过ELB时的平均响应时间:1+秒 – 当ELB被旁路时的平均响应时间:〜250ms。 看起来ELB增加了大约一秒钟,偶尔会增加4-5秒。 这是预期的吗? ELB SSLterminal添加的典型开销是多less? 任何指针将不胜感激!
我想找出设置自动缩放组中Ec2实例的主机名的最佳做法。 我正在寻找一种方法 通常在系统pipe理员/ devops世界中是可以接受的。 当一个新的操作系统接pipe它时,不会带来惊奇的表情。 允许我设置一个唯一的主机名/机器名称,以便在监视时,我有一个独特的资产来监视 目前我正在做的方法是 – 在AWS中以云初始化格式将所需主机名作为用户数据的一部分传递 – 使用云初始化通过启动cmd使用当前实例ID后缀主机名 bootcmd: – "HOSTNAME_PREFIX='{{ app_id }}'" – "REGION_NAME=`/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id`" – "INSTANCE_ID=`/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id`" – "echo $HOSTNAME_PREFIX'-'$INSTANCE_ID > /etc/hostname; hostname -F /etc/hostname" 当在自动缩放组中时,可以即时创build实例时,这一点尤为重要。 尽pipe我们应该把服务器视为牛,但我认为唯一的主机名至less有助于更好地识别服务器。 有没有更好的方法呢?
我有一个桶有几个公共可下载的文件。 我想build立一个桶策略,之后这些文件只能由我的IAM用户下载。 我目前得到的政策是这样的: { "Version": "2008-10-17", "Id": "Policy1424952346041", "Statement": [ { "Sid": "Stmt1424958477350", "Effect": "Deny", "NotPrincipal": { "AWS": "arn:aws:iam::777777777777:root" }, "Action": "s3:*", "Resource": "arn:aws:s3:::test/*" }, { "Sid": "Stmt1424958477351", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::777777777777:root" }, "Action": "s3:*", "Resource": "arn:aws:s3:::test/*" } ] } 但是,它拒绝包括IAM用户在内的每个人。 任何人都可以指出这里有什么问题吗?
最近我一直在玩StrongSwan,作为替代昂贵的亚马逊VPN。 我在运行StrongSwan的远程服务器和Ubuntu EC2计算机之间完全configurationIPSec隧道时遇到了问题。 我的目标是让我们的远程服务器能够VPN到我们的VPC,并在AWS上的私有子网之间进行双向访问。 目前,我可以build立一个隧道。 我可以从EC2机器(运行StrongSwan)到远程OSX服务器。 我可以在我的VPC中的公共和专用子网中的机器之间进行ping操作。 目前,我无法从我的OSX服务器ping AWS上运行强大天鹅的EC2实例。 我没有任何iptables设置来转发来自EC2(StrongSwan)机器的stream量到我私有子网中的其他机器。 AWS VPC: 10.0.0.0/16 Public Subnet: 10.0.1.0/24 Private Subnet: 10.0.2.0/24 Web EIP: 77.77.77.77 (default for VPC IGW) VPN EIP: 66.66.66.66 AWS StrongSwan EC2 Ubuntu running StrongSwan 5.2.2 IP: 10.0.1.233 远程客户端网关 (带静态IP的蜂窝调制解调器+网关组合) Running StrongSwan 5.2.2 internally for IPSec Public (static) IP: 55.55.55.55 LAN: 10.1.1.0/24 (DHCP Server) 远程客户端服务器 […]
所以我build立了两个Ubuntu AWS实例(一个小的t2.medium和一个大的r3.large)。 t2.medium上安装了Jenkins CI,r3.large上安装了docker引擎。 这里的意图是有一个主(t2.medium)服务器和一个从(r3.large)服务器; 主服务器可以委托docker集装箱作业(根据需要旋转jenkinsdocker集装箱)。 我的问题是,我有点比这个我的头。 我一直在研究,但是我所做的几乎所有事情都是失败的。 我现在的情况是:就像我上面提到的,我有jenkins成功运行在一个实例,docker引擎成功运行在另一个。 我也有在这里find的docker插件,安装在jenkins上,我已经按照页面上的说明操作。 但是,当我添加一个云和添加凭证时,唯一显示的是“-none-”; 然而,相同的证书显示在底部。 这是我正在谈论的一个截图: 这个问题是,每次我testing连接时,我得到以下错误: shaded.org.apache.http.conn.HttpHostConnectException: Connect to 10.96.24.240:4243 [/10.96.24.240] failed: Connection refused 。 任何帮助将非常感激! 我已经去了一个多星期了! 而我只是无法把这个包裹起来。 编辑:如果我以错误的方式去做,请指导我如何实现预期的设置。 编辑2:所有端口之间打开这两个实例。 以下是安全组的屏幕截图: 编辑3:这是我的docker图片: ubuntu@ip-10-96-24-240:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ubuntu@ip-10-96-24-240:~$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE jenkins-1 latest 9de6ee8eeebc 3 […]
我试图使用用户数据脚本在启动时使用AWS CLI(1.8.7)将某些文件从S3下载到EC2实例。 此实例具有适当权限的IAMangular色和实例configuration文件。 有时,CLI将失败,并显示错误“找不到凭据”。 它经常发生(不是每一次),而是总是在一个单独的S3命令之后运行。 这是脚本的输出: ++ date +%r 03:24:10 AM ++ aws s3 cp s3://non-public-bucket-1/15mb-zip-file.zip ./15mb-zip-file.zip Completed 1 of 1 part(s) with 1 file(s) remaining^Mdownload: s3://non-public-bucket-1/15mb-zip-file.zip to 15mb-zip-file.zip ++ date +%r 03:24:14 AM ++ unzip 15mb-zip-file.zip # Snip ++ date +%r 03:26:01 AM ++ curl http://169.254.169.254/latest/meta-data/instance-id % Total % Received % Xferd Average Speed […]
我正在尝试创build一个命令,在推出新代码时使CloudFront分发无效。 这是一个尝试解决新推出的HTML不需要24小时出现在我的networking应用程序的问题。 这个想法来自于这个AWS CLI COMMAND REFERENCE 这里是命令: aws cloudfront create-invalidation –distribution-id XXXXXXXXXXXXXX –invalidation-batch file://invbatch.json 这是我运行命令时得到的响应: 调用CreateInvalidation操作时发生客户端错误(AccessDenied):用户:arn:aws:iam :: XXXXXXXXXXXXXX:user / cats-kittens-beanstalk-user无权执行:cloudfront:CreateInvalidation 任何想法,为什么这可能是? 我知道,即使用户有权在某些情况下运行命令,AWS也会抛出此访问被拒绝 – 请参阅此处 。
有没有人需要处理存储网关卷上的损坏的文件系统? 我的一本书现在告诉我,它已经损坏或不可读。 我试过运行一个chkdsk / r,它花了几天(10TB卷)。 一旦完成,我得到了同样的错误信息。 我没有快照计划,所以我没有这些文件的以前的版本。 我目前正在使用AWS支持,他们让我用几种不同的方式运行chkdsk。 有没有人曾经处理过呢? PS:顺便说一句,不要在存储网关卷上运行chkdsk,它会把你的caching搞砸,运行速度很慢