Articles of 亚马逊 EC2

存档和可视化amazon ec2 cloudwatch指标

你如何备份ec2的cloudwatch指标? 你如何以不同的尺度同时显示不同的测量结果,如cpu%和i / o? 如何将您的应用程序服务器指标(如“每小时查看产品”)与cloudwatch指标(每小时cpu)结合起来? 我首先考虑在s3中存储原始的cloudwatch指标,然后使用munin进行可视化。 但也许有更先进的方法比慕宁的静态图像更具交互性。 干杯, 一月

排除Amazon EC2上神秘服务器死机的故障

我有一个在Ubuntu Natty / 11.04上运行LAMP的Amazon EC2实例。 在过去的几个月里,有三次,其中两次在最近两周内,服务器刚刚停止。 它变得没有反应,并停止响应连接尝试(SSH或其他),但EC2控制面板仍然报告它正在运行。 每次我必须通过控制台重新启动实例,导致数据丢失。 所以,现在我正在试图诊断这个问题,但我空白,我需要什么其他检查的build议。 Syslog中没有任何可疑的东西 – 每一次,发生的最后一件事是在运行其常规的5分钟cronjob的时候,尽pipe我不知道机器什么时候停止工作,但是我不能说cron日志有多接近到冻结的地步。 之后,就好像机器只是在重启的时候才运行,在这之后,syslog包含了和普通的dmesg输出一样的东西。 stream量和这些冻结时间似乎没有关系。 每个场合都远离交通高峰时期。 我还有什么可以试图找出造成这些问题的原因? 这个问题可能是什么? 附录:服务器在任何情况下都没有负载。 CPU和内存的使用都是安全的。 有大量的可用磁盘空间(几十千兆字节)。 在Apache或MySQL日志中没有什么奇怪的,他们只是在那个时候停止运行。 这是一个中/高CPU实例。

Ansible EC2托pipe脚本缺less实例

出于某种原因,ansible的ec2主机缺less实例。 ec2-describe-instances返回正确的实例,但是/ etc / ansible / hosts不会: [root@or-manage ec2-user]# ec2-describe-instances | grep seed TAG instance i-ff0b2f36 Name cass-uat-seed [root@or-manage ec2-user]# /etc/ansible/hosts | grep seed [root@or-manage ec2-user]# 你可以看到,ec2-describe-instances具有我正在寻找的标签的实例,但是有能力的主机却没有。 为什么该实例不在/ etc / ansible / hosts中? 注意:起初,我以为是/etc/ansible/hosts使用了错误的区域,但是我打开了boto debug,它是正确的区域: send: 'POST / HTTP/1.1\r\nAccept-Encoding: identity\r\nContent-Length: 221\r\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\r\nHost: ec2.us-west-2.amazonaws.com 更新1: 我注意到没有公有IP的任何实例都不会出现在/ etc / ansible / hosts列表中。 为什么会这样?

成功login后SSH连接closures/丢弃几秒钟(EC2 / linux / debian)

我已经使用ssh连接到相同的EC2实例数月。 现在,突然之间,每当我尝试这样做的时候,我都会被踢出服务器。 我可以保持连接的时间不尽相同,但通常似乎在1-25秒的范围内。 所有的设置都与当事情顺利进行时相同。 这个问题已经持续了一个多星期了。 没有别的东西似乎是不寻常的。 在连接时,我可以完全访问服务器。 我将服务器日志设置为DEBUG3 ,并且看到以下消息: 从远程主机读取错误[我的IP地址]:连接超时 以下所有值都是高/正常值: /proc/sys/net/ipv4/tcp_keepalive_time /proc/sys/net/ipv4/tcp_keepalive_intvl /proc/sys/net/ipv4/tcp_keepalive_probes sshd_config :将TCPKeepAlive设置为yes 。

在浏览器中排查AWS EC2站点连接超时

我是AWS的新手,正在使用免费层来testing个人Django项目。 但是,当我尝试访问IP地址时,浏览器发生超时错误。 该站点在本地工作,超时错误显示通过无线或有线连接访问。 我设置网站的方式是使用Bitnami DjangoStack,服务器通过./manage.py runserver 0.0.0.0:8080运行。我还将可用的IP地址绑定到现有的公有DNS名称。 TCP端口80作为HTTP打开,源为0.0.0.0/0。 我执行netstat -aon并得到输出 tcp 0 0 10.4.89.232:22 141.114.79.244:38928 ESTABLISHED keepalive (3582.28/0/0) tcp 0 272 10.4.89.232:22 141.114.79.244:40393 ESTABLISHED on (0.21/0/0) 这两个地址来自我的站点访问请求,我使用的IP地址和端口80和8080,但超时仍然发生。 源代码和数据库是通过 克隆与网站源代码的git存储库 将数据库导入到mysql数据库 修改settings.py以反映新的数据库凭证 在服务器shell中执行runserver命令 服务器日志中没有显示错误。 nmap产生 nmap -P0 -p80 54.2**.***.* Starting Nmap 5.21 ( http://nmap.org ) at 2013-08-27 10:32 EDT Nmap scan report for ec2-54-2**-***-*.compute-1.amazonaws.com (54.2**.***.*) Host […]

使用用户数据脚本自动将弹性IP分配给ec2现场实例

是否可以使用“高级”“用户数据”脚本框将弹性IP地址自动分配给具有持久点请求的现场实例? 我在想我可以制作一个像… #!/bin/bash # Credentials export AWS_ACCESS_KEY=(insert key here) export AWS_SECRET_KEY=(insert key here) # EC2 Instance ID instanceid=`/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id` # Associate EIP with the captured instance ID. ec2-associate-address -i $instanceid (insert EIP here) 并在我最终确定我的现场请求之前,将其粘贴在用户数据框中(使用web gui)。 任何想法或更好的方法呢? 我不需要自动调整,只需要使用这个根据现货价格上下波动的实例,但是我希望它每次返回时都保留相同的IP。

AWS软件订阅和启动自定义AMI的区别?

Amazon AWS似乎提供了两种启动Ubuntu 12.04实例的方法, 其中之一是软件市场 另一种方法是在Ubuntu网站上启动AMI 所有这些比较是12.04 LTS,Micro,w / amd64架构 通过Software Marketplace ,我可以看到一个Micro Instance的AMI ID: AMI IDs Region ID US East (Virginia) ami-967edcff US West (Oregon) ami-c6cc43f6 US West (Northern California) ami-997356dc EU West (Ireland) ami-e7b6b393 Asia Pacific (Singapore) ami-5e01400c Asia Pacific (Tokyo) ami-c83c8fc9 South America (Sao Paulo) ami-ea3ce2f7 但是,在我看到的Ubuntu网站中 , Zone AMI-ID AKI-ID us-east-1 ami-83dee0ea […]

调整Amazon Linux工作层

我有一个使用PHP进程控制(pcntl)函数并行发送多个请求到SNS服务的工作层。 我的问题是如何最好地调整MPM_PREFORK指令以获得最佳的开箱即用,以及如何计算我可以使用可用资源运行的最并发的PHP进程。 我正在运行一个T2媒体,这是这样specid: Model |vCPU | CPU Credits / hour | Mem (GiB) | Storage t2.medium | 2 | 24 | 4 | EBS-Only 此外,如果有人可以阐明如何使用/计入CPU计算,我将非常感激。 我目前在这些post中应用了这些思想。 tune apache performance using mpm prefork module http://fuscata.com/kb/set-maxclients-apache-prefork 任何帮助非常感谢

如何使用Amazon EC2 Container Service扩展一个容器

我是新的使用Amazon ECS,我想知道如何设置服务,以便容易地扩大/缩小一个容器。 这是我的项目架构: 网站:容器与网站,只提供html页面和javascript / css /图像。 听80。 api:在NodeJS中开发的API服务json的容器。 听443。 rabbitmq:容器与rabbitmq。 api容器被链接到它。 worker:等待来自rabbitmq(也链接到它)的命令并处理它们的容器,然后将答案发送回rabbitmq。 现在,我只用我的所有容器创build了一个任务定义,而在我的集群中,我只有一个服务。 我也有API的负载平衡器(所以我可以从网站通过DNS名称访问它)。 它工作的很好 ,但是我希望能够发起更多的工作,而不需要启动其他任何东西,而且现在我似乎也无法做到这一点(纠正我,如果我错了)。 所以我有几个问题: 我是否需要创build单独的任务定义? 我是否需要创build单独的服务? 如果我为每个容器创build一个任务定义(因此前面有网站 ,带有API ,带有rabbitmq的 代理和带有worker的worker ),我仍然可以将容器链接在一起,即使它们不在同一个任务定义中。 这是我目前的任务定义: { "taskDefinitionArn": "arn:aws:ecs:ap-southeast-2:347930943102:task-definition/Flipendo:4", "revision": 4, "containerDefinitions": [ { "volumesFrom": [], "portMappings": [], "command": [], "environment": [ ], "essential": true, "entryPoint": [], "links": [ "rabbitmq" ], "mountPoints": [], "memory": 2048, […]

IAM对PowerShell SDK中的Get-EC2Instance命令的操作

从EC2实例调用Get-EC2Instance并获取 Get-EC2Instance : You are not authorized to perform this operation. 我需要将哪些IAM操作添加到我的政策中?