+86 135 410 16684Mon. - Fri. 10:00-22:00

常见问题

使用aws, 还需要专门的运维团队吗?
如果有运维团队, 职责是什么, 给工程师哪些支持? 我们公司是使用aws的, 也有专门的运维团队.
起初的开发阶段时天真地认为不需要,并觉得用起来还超方便。但当服务器有了开发、测试、生产各个版本并在多个region部署后,越发觉得自己从开发变成了运维,脚本越来越多,不断的迭代上线,这时就会觉得需要运维团队了,不过aws丰富的接口的确可以减轻运维团队不少的工作。 运维的作用之一就让开发把重心放在代码上,测试通过后“一键”上线,虽然aws的console做的很好了,但也不可能让每一个开发人员都要先去熟悉aws,熟悉了也不能保证不出问题。 另外,不说运维一些书面性的作用,最严重的是出了问题谁抢救。
aws售后问题总结-autoscling
问题1、auto scaling批量启动服务器,如何按照我的规则自动生成主机名
auto scaling批量启动服务器,如何按照我的规则自动生成主机名,如下: 我启动10台,批量生成app0~app10 您好! 很高兴与您在电话上进行交流,下面我们把交流的内容进行总结如下。 问题描述: 1.客户咨询在autoscaling过程中,如果原来的instance上面的程序代码有更新,怎么保证新起来的实例代码同步更新。 2.Autoscaling自动启动的实例,怎么自动设置实例的名字,例如app0,app1…app10。 解决方案: 1.建议客户在实例里中配置启动脚本,当第一次启动的时候自动的从某一个公共的地方,例如S3获取最新版的程序代码, 这样就能够保证新启动的程序能够同步到最新状态。 2.目前可以确定的是可以统一配置成相同的名字,例如都叫appserver,要想编成类似01,02,03这样的编号, 我们还需要在继续调查一下,稍候进行更新。 您好! 针对Autoscaling启动实例编号的问题,我做了一些研究,总结如下。 问题描述: Autoscaling,怎么自动设置实例的名字,例如app0,app1…app10。 解决方案: 目前直接使用AWS提供的Auto Scaling Group设置tag的功能能实现所有实例起相同的名字,区分不同的Autoscaling组。 如果要把名字设置的不一样,就需要编写脚本调用create-tags API或者使用CLI来对启动实例的名字进行配置。 在这里给您提供一个思路,供您参考,您也可以按照您自己的想法来实现。 我实现的方法是在S3上放一个文件叫'number',里面记录当前启动实例的比如5,当下一次Autoscaling时,新启动的实例到S3上把文件下 载下来,取得里面的5,然后+1,得到6,把这个结果写回到S3上,并调用aws cli给自己起名字叫appserver6,以此类推。 这个方法没有实现并发控制,目前测试同时启动3个节点可以工作,但当很多实例一起启动的时候可能会有问题。 另外您也可以考虑命名的时候不用+1的方法,而且是取得当前的年月日时分秒作为名字的一部分,这样可以避免遇到并发的问题。 参考脚本如下: aws s3 cp s3:thcao/number /tmp/number let currentnumber=`cat /tmp/number`+1 export currentnumber echo $currentnumber>/tmp/number aws s3 cp /tmp/number s3:thcao/number echo appserver$currentnumber aws ec2 create-tags –resources `/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id` –tags Key=Name,Value=appserver$currentnumber 期待您的回复,谢谢!
问题2、auto scaling的action是否支持自定义监控项
1、在创建auto scaling时,根据自定义action来做自动扩容。 2、你们北京区的AWS是否有logstash+ES这种模式的日志收集系统。 尊敬的用户,您好! 感谢您联系AWS中国技术支持。我是CSE Jack,我将尽我最大努力为您提供支持。 根据您在案例中提供的信息, 分析如下: 【问题描述】 1、在创建auto scaling时,能否根据自定义action来做自动扩容? 2、北京区的AWS是否有logstash+ES这种模式的日志收集系统? 【分析过程】 1、在创建auto scaling时,能否根据自定义action来做自动扩容? 可以。您可以自己编写脚本监控您需要的指标,使用CLI或API将这些指标报告给CloudWatch,只要CloudWatch能够成功收到您上传的这 些指标,就可以在创建auto scaling组的时候,指定使用这些指标作为您的触发条件。 关于如何发布自定义指标,请参考:http://docs.amazonaws.cn/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html 注意:您每个月只能免费使用10个警报,相关定价政策,您可以参考:http://docs.amazonaws.cn/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_pricing.html 关于AutoScaling动态扩展,您可以参考:http://docs.amazonaws.cn/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html 2、北京区的AWS是否有logstash+ES这种模式的日志收集系统? AWS Global提供CloudWatch Log功能能够实现上述需求,但是很抱歉,北京区目前还处于有限预览阶段,暂时不能提供。关于何时能够提供这项服务,您可以关注AWS中国官方网站,获得 最新进展。 作为一个解决方案,您可以自己使用EC2,Redis等自行搭建logstash+ES环境。
问题3、使用Auto Scaling,如何将现有的EC2加入到组里面
如题 ,使用Auto Scaling,如何将现有的EC2加入到组里面?第一次启动Auto Scaling时,如何将已经存在的EC2加入进去。 [问题描述]: 使用Auto Scaling,如何将现有的EC2加入到组里面?第一次启动Auto Scaling时,如何将已经存在的EC2加入进去 [解决方案]: 1. 您可以通过几种方式来添加EC2实例到现有的Auto Scaling组,包括a. 通过Web管理控制台, b. 命令行工具, c. API,详细的步骤请参见链接: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/attach-instance-asg.html 2. 您可以通过一台已经存在的EC2实例来创建一个新的Auto Scaling组,Auto Scaling和Lauch Configuration的相关参数都是通过这台EC2实例的属性来设定。如果您需要在Auto Scaling组启动时把已经存在的EC2实例加进来的话,还是要采用步骤1中的先启动Auto Scaling组,然后再添加的方式 —-
问题4、Auto Scaling在下线机器时,是否可以把机器stop时,不Terminate。
[问题描述]: Auto Scaling在下线机器时,是否可以把机器stop时,不Terminate
[分析说明]:
1. 默认情况下,Auto Scaling在检测到当前运行的EC2实例有问题的时候,会根据策略将故障的EC2 Terminate,然后启动一个新的EC2实例 2. 您需要Auto Scaling stop EC2实例而不是Terminate的需求是什么?需要获取相应的系统日志做后续分析或是磁盘中的数据吗?如果是这样的需求,您可以考虑在创建 Launch Configuration时指定参数来在terminate EC2实例的同时保留其原有的磁盘不被删除。 如果您的需要是保留磁盘数据,可以通过下面的方式实现,在创建Launch Configuration时,指定EC2在被terminate时保留磁盘卷,如下所示: aws autoscaling create-launch-configuration –launch-configuration-name demo-launch-config –image-id ami-000999 –instance-type c3.2xlarge –security-groups sg-xxxxx –key-name keypairname –block-device-mappings “[{\”DeviceName\“: \”/dev/xvda\“,\”Ebs\“:{\”DeleteOnTermination\“: false}}]” 3. 如果您需要将指定的实例临时隔离出Auto Scaling组,或是移除,可以参考http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingEnteringAndExitingStandby.htmlhttp://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/detach-instance-asg.html中的部分 我们期待您的回复! —-
问题5、Auto Scaling可以指定实例ID来启动,每次Auto Scaling启动新的实例时,是否是我的EC2实例最新状态来启动的?
问题描述: 使用下面的命令: aws autoscaling create-launch-configuration –launch-configuration-name lcName –instance-id i-xxxxxxx 能否依据实例最新的状态创建launch-configuration? 分析过程: auto scaling的帮助信息如下: The new launch configuration derives attributes from the instance, with the exception of the block device mapping. 经过测试,该launch-configuration只会利用创建该实例的AMI-ID以及实例的一些属性(如安全组)来作为模块,不会包含实例的实时 状态。 —-
问题6、auto scaling策略问题
我创建的auto scaling策略里面,找不到Execute policy,但是我在创建时,确实指定了 [问题描述]: 创建的auto scaling策略里面,找不到Execute policy。修改指定也不生效。 [分析过程]: 经后台查询您在配置AutoScaling的Policy时,使用了“北京AWS, 广告AutoScaling组CPU使用连续10分钟大于60%”和“北京AWS, 广告AutoScaling组CPU使用连续30分钟小于40%”两个告警。 当我尝试使用全英文的告警创建AutoScaling Policy的时候是完全正常的。 但当我尝试使用和您相同的或者其他的包含中文的告警时,可以复现您的问题。 目前来看,是AutoScaling的Policy配置中的中文支持有一些问题。我们已经在对这个问题进行进一步的分析。如果有任何进展,会立即通过案例 给您回复。 [解决方案]: 在我们修复这个告警中包含中文导致创建AutoScaling Policy异常的问题之前,建议您使用全英文来命名告警,这样可以暂时解决这一问题。
问题7、auoscaling策略如何引入自定义的metric
如题,auoscaling策略如何引入自定义的metric;以及利用sdk提供的接口在put_metric_data时,需要注意什么? 根据您在案例中提供的信息,分析如下: 问题描述: auoscaling策略如何引入自定义的metric 分析过程: 首先,您得先针对实例创建一些自定义的metric,如内存磁盘占用等指标。 您可以通过CloudWatch文档提供的相关脚本来实现,请参考 http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts.html 。 在获得自定义指标之后,您可以针对该指标来创建ALARM并采取Auto Scaling Action。 解决方案: 关于配置过程中需要注意的问题,您可以参考文章 https://blog.hinablue.me/entry/autoscaling-with-custom-metrics/ 。 这篇文章也参考了另外一篇英文文章 http://www.thatsgeeky.com/2012/01/autoscaling-with-custom-metrics/ ,您也可以参考一下。 我的autoscaling策略引入自定义metric时,autoscaling如何知道我的metric是属于该autoscaling策略。 根据您的更新,进一步分析如下: 【问题描述】 根据电话沟通,您的问题是:如何根据自定义metric触发autoscaling: 【分析过程】 应用场景如下: 假设:autoscaling里有3个EC2,将会在每个EC2上运行监控脚本,收集php的进程数,最后根据所有3台EC2上的平均进程数决定是否触发。 CloudWatch有如下几个概念: 命名空间(Namespaces) - 相当于为指标分类(例如:PHPProcess) 指标(Metrics) - 具体的指标名称(例如:ProcessCount) 维度(Dimensions) - 为了区分同一个指标对应的不同所属,常用的是实例ID(例如:ServerID) 时间戳(Time Stamps) - 每一个metric值的取样时间 单位(Units) - metric值的单位(例如:Count) 做好上述规划后,您可以通过如下方式实现: 需要在每台EC2上的监控脚本定期将上述数值传到CloudWatch上(或者上传到S3上) 再在autoscaling以外的一台不会被终止的EC2上,定期获取autoscaling下的所有EC2的实例ID。 根据所有的实例ID,基于每个时间点,遍历所有的metric值,计算出平均值,以新的metric上传至CloudWatch上 根据这个新的metric,创建报警,使用这个报警触发autoscaling 关于上述提到的几个概念,您可以参考如下文档: http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Dimension http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Dimension 您可以中英文文档对比,这样方便您理解上述概念。 关于API的相关信息,希望如下链接能对您有帮助(暂无中文文档): http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/Welcome.html autoscaling的策略可以配置2个以上的并列条件吗? 根据您的更新,进一步分析如下: 【问题描述】 autoscaling的策略可以配置2个以上的并列条件吗? 【分析过程】 根据电话沟通了解到:您希望了解:是否能够实现2个以上条件都满足时才触发扩展。 如电话所说,在控制台界面,我们可以添加多个策略,但是多个策略是“或”的关系,不是”与“的关系 即:只要其中一个条件满足,就会根据定义进行触发。 电话中,您疑惑:只能为名为“Decrease Group Size”策略设定一个报警条件,同理,只能为名为“Increase Group Size”策略设定一个报警条件 您的理解没错。但那只是预定义的策略的名字。您可以添加新的策略,无论起什么名字,只要设定的action是触发,当条件满足时就会触发。 有关扩展策略的详细解释,您可以参考:http://docs.aws.amazon.com/zh_cn/AutoScaling/latest/DeveloperGuide/scaling_plan.html 【后续步骤】 目前无法直接通过AWS的扩展策略行为直接实现您的”与“的需求。 如电话沟通所说,您可以采用一个变通的方式:即由您的程序根据您的需求自定义一个metric,然后根据这个metric值进行触发。 例如:2个条件都满足时,将这个自定义metric的值设为1,否则将其设为0。然后根据0或者1决定是否触发。
问题8、如何删掉cloudwatch里面,我在创建AutoScaling时创建的Metrics
如题,如何删掉cloudwatch里面,我在创建AutoScaling时创建的Metrics。我没有找到删除按钮。 问题描述: 在创建AutoScaling时创建了Metrics,如何在cloudwatch中删除? 解决方案: cloudwatch中的metric无法手动删除,如果14天内都没有新的数据,这个metric会自动删除。所以您不需要删除这个metric,如果 您的AutoScaling Group已经不在,那么也就不会有新的数据更新到cloudwatch中,14天后这个metric会自动消失。
aws售后问题总结-EC2
问题1、AWS已经为您开启端口80/8080/443
尊敬的客户, 您好,感谢您联系AWS中国。此账号的80/8080/443端口已开放, 以下链接是EC2和S3权限设定相关的文档,谨供参考: http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/using-network-security.html http://docs.amazonaws.cn/AmazonS3/latest/dev/UsingAuthAccess.html 希望对您有所帮助。
问题2、EC2主机名修改
感谢您联系AWS中国技术支持。 根据您在案例中提供的信息,分析如下: 问题描述: 通过修改/etc/sysconfig/network和/etc/hosts文件不能使修改后的主机名生效. 分析过程: 通过测试,我参照文档http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/set-hostname.html上面的步骤进行修改是可以修改成功的. 后续步骤: 请参考文档中的步骤: 在无公用 DNS 名称的情况下更改系统主机名 1. 在您常用的文本编辑器中打开 /etc/sysconfig/network 配置文件,更改 HOSTNAME 条目,以反映所需的系统主机名(如 webserver)。 HOSTNAME=webserver.localdomain 2. 在您常用的文本编辑器中打开 /etc/hosts 文件,更改以 127.0.0.1 开始的条目,以匹配以下示例,替换为您自己的主机名。 127.0.0.1 webserver.localdomain webserver localhost localhost.localdomain 3. 重启实例以接受新主机名。 [ec2-user ~]$ sudo reboot 4. 登录实例,验证主机名是否已更新。您的提示应显示新主机名(显示第一个“.”之前的部分)。并且 hostname 命令应显示完全限定域名。 [ec2-user@webserver ~]$ hostname webserver.localdomain
问题3、制作自定义的centos镜像
感谢您联系AWS中国技术支持。 根据您在案例中提供的信息,分析如下: 问题描述: 如何在BJS制作自定义的centos镜像。 解决方案: *** “Amazon Linux AMI”,这个是已经有的AMI。 这个AMI是基于CentOS的。 您可以考虑直接使用这个AMI最为便捷。 您可以通过以下连接了解更多信息。 http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/AmazonLinuxAMIBasics.html 理论上目前有这些方式可以帮助您在中国区域制作自定义的centos镜像: 1. 先在您自己的虚拟机上做好配置,安装好您需要的软件,再通过VM Import功能将这个虚拟机导入AWS平台; 您可以通过以下连接了解更多信息。 http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/UsingVirtualMachinesinAmazonEC2.html 2. 可以使用支持VMware虚拟化技术的P-to-V解决方法将您的物理服务器首先转换成Virtual Machine,然后再使用EC2的VM Import功能导入这个虚拟机即可。 3. 如果您在Global区域已经有了自定义的Centos AMI,您也可以考虑参考本文附件来将Global的Centos AMI“迁移”到中国区域。
问题4、cloudwatch关于磁盘IO性能数据
自定义上传镜像,转换成AMI后,再启动新的实例后,你们的cloudwatch里面没有磁盘的IO性能数据 关于您提到的关于磁盘的两个问题,请参见下面的说明: [问题描述]: 如何判断磁盘挂载到哪个EC2实例? [分析说明]: 您可以在EC2的控制面板 → 选择左边导航栏Elastic Block Store下面的Volumes, 您在右边就可以看到所有的磁盘卷,以及它挂载到哪个EC2实例的信息 [问题描述]: 为什么EC2的监控数据中的Disk Reads/Writes一直是0? [分析说明]: EC2实例下显示的Disk Read/Writes指的是Instance Store磁盘的监控数据,请参见:http://docs.amazonaws.cn/zh_cn/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html中的说明,关于EBS卷的监控数据需要到EBS中查看。 * 另外,您可以在EC2的控制面板 → 选择左边导航栏Elastic Block Store下面的Volumes,点击某个Volume, 在窗口的右下边的Monitoring标签页内就可以直接看到这个磁盘卷的监控数据
问题5、RDS与自定义VPC
[问题描述] 1、您在创建RDS时,在Network & Security这一步时,选择VPC时,只支持默认的VPC,没有我自定义的VPC。 2、在创建subnet group之后,选择自定义VPC创建实例保存时,出现报错:Availability zone not in chosen subnet group [问题分析与解决方案] 1、在自定义VPC中创建RDS实例时,要求这个VPC中必须至少有一个Subnet Group,这样才能选择此VPC。 您可以在RDS控制台左侧的“Subnet Group”中,创建Subnet Group。在创建时,选择自定义的VPC,并添加希望创建RDS的子网并保存。 2、我测试了一下,由于中国区只有一个AZ,所以在创建RDS实例,配置Availability Zone时,必须选择“No Preference”才允许通过。如果选择了唯一的AZ就会有这个报错。 您可以先暂时通过选择“No Preference”来创建RDS实例,因为只有一个AZ,所以与选择这个具体AZ的功能是相同的。 我进行了测试,这样是可以成功创建RDS实例的。
问题6、Limit Increase: 弹性 IP - EC2 Classic
限制提高请求 1 服务: 弹性 IP - EC2 Classic 区域: 中国 - 北京 限制名称: EC2-Classic 弹性 IP 地址限制 新限制值: 200 使用案例描述: 由于业务迁移需求,现在有大量的EC2实例,需要外网IP,目前默认只有5个,不能慢足业务需求,现申请200个需求。 您好!感谢您联系AWS中国, 我们已经收到了您在AWS中国(北京)区域的EIP提升限额的申请。 为了保证在基础设施安全稳定的前提下,尽可能满足您的需求, 我们会将请求提交给后台部门进行审核和批复。 一旦通过,我会尽快处理并通知您。
问题7、关于m3.2xlarge的预留实例取消
请提供您希望删除的预留实例的invoice ID. 命令行,如何创建1台GPU实例 查看到您后台已经有了两台g2.2xlarge实例: i-ffb453c7 i-8ef215b6 普通新建实例的方式如下: aws ec2 run-instances –image-id <amiid> –instance-type g2.2xlarge
问题8、我现在使用AMI创建r3.xlarge类型的EC2实例类型,自动马上Terminate
关于EC2实例自动终止的问题,请参见下面的说明: [问题描述]: 在启动EC2实例( i-78de3540,i-29df3411)之后,它没有正常运行而是自动终止了 [分析说明]: 1. 从EC2实例的相关信息来看,终止的原因是由于您帐户(966062645859)下的EBS卷的总和已经超出了默认的上限 [解决方案] 1. 如在电话里面和您沟通的,您提交一个“服务限额提升”的案例,请客户服务的同事帮助您提升EBS的上限。在上限提升之后您就可以正常启动新的EC2实例了。 您好,默认值是20TB,按照您的需求,还需要9台1000G磁盘的EC2实例,之后实例数量可能还会随着业务有增长的话,建议您暂时可以把限额提升到35TB,以保留一定的空闲。
问题9、Call: 如何拆分预留实例
尊敬的用户,您好! 很高兴刚才在电话上和您沟通,并解决了您的问题,现将问题汇总如下: 【问题描述】 1. 如何拆分预留实例?如何增加预留实例? 2. 如何将C3.xlarge实例拆分成2个C3.large实例? 【分析过程】 1. 如何拆分预留实例?如何增加预留实例? 如电话和之前我同事回复您的:预留实例是一种计费模式,拆分不会影响业务,需要根据ECU计算拆成等值的若干个小型预留实例。增加预留实例需要重新购买。 启动实例和购买预留实例没有先后依赖关系。建议您在规划好的前提下,先购买预留实例,然后再启动相应类型的实例,这样能够最大限度节省费用。 2. 如何将C3.xlarge实例拆分成2个C3.large实例? 电话沟通得知,实际您希望将一个C3.xlarge实例拆分成2个C3.large实例。这个和拆分预留实例是没有关系的。 大致的操作步骤如下: a. 为现有的实例创建AMI。 以EBS支持的Linux实例为例,操作步骤请参考:http://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html b. 用刚才创建的AMI为模板,启动2个新的C3.large的实例 操作步骤请参考:http://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/ec2-launch-instance_linux.html c. 根据您的业务模式,将生产系统指向新创建的2个实例上 d. 终止您的C3.xlarge的实例 e. 如果确认新创建的AMI不再需要,可以将其删除,同时删除对应的快照,以节省费用。 操作步骤请参考:http://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/deregister-ami.html 提示:建议您在任何需要的时候通过创建快照对业务系统进行备份。
问题10、请问如何在不中断业务的情况下,将现在的预留实例c3.xlarge 拆分成 c3.large
关于您提到的如何在不影响业务运行的情况下修改预留实例类型的问题,请参见下面的说明: [问题描述]: 请问如何在不中断业务的情况下,将现在的预留实例c3.xlarge 拆分成 c3.large [说明]: 1. 预留实例本身是一个计费/财务上的概念,它的目的是帮助用户节省成本,与EC2实例配置(c3.xlarge, m3.medium)类型的概念不同。您修改预留实例类型不会影响您目前正在运行实例的类型。比如您将c3.xlarge的预留实例修改为 c3.large,并不会使正在运行的c3.xlarge EC2实例自动切换为c3.large,也不会影响您的业务运行,不会影响数据安全。 关于预留实例的更详细的说明,您可以参考下面的链接中的内容: http://docs.amazonaws.cn/zh_cn/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html 2. 我和客户服务的同事确认了一下,您如果申请了某一系列的预留实例,比如c3系列,您是可以在总价保持不变的情况下,在c3系列内灵活选择不同的配置和数量的 3. 关于预留实例或是成本方面的优化,如果您还需要进一步支持,也可以联系您的AWS客户经理或是我们的客户服务人员以获取更多的协助
问题11、Limit Increase: EC2 实例
限制提高请求 1 服务: EC2 实例 区域: 中国 - 北京 主实例类型: c3.large 限制名称: 实例限制 新限制值: 200 使用案例描述: 你好,我们这边运行c3.large新实例报错 Launch Failed Insufficient capacity. Hide launch log 目前您是可以启用c3.large,但是如果您需要启用的量过大的话,还请及时联系您的客户经理或者及时开case给我们,非常感谢!
问题12、Call: 希望从 EC2 发送更多数量的电子邮件
我们这个实例上运行有postfix邮件服务,请帮我放开相关邮件的限制。后期会给用户推送很多邮件 。 实例 ID: i-a2e1209a 为了取消邮件投递限制。我们需要您提供以下信息: a.需要反向解析的EIP b.解析的域名 您好, 这边采用nat 方式上网 对外IP是 54.223.165.29 域名是: mail.awsgood.com 对于解除邮件投递限制的请求。需要您对mail server所在的实例分配一个EIP。所以用NAT的公网IP是不可取的。 同时,反向DNS记录一般是反垃圾邮件过滤器所考虑的一个因素,所以我们建议您给弹性IP地址分配一个反向DNS记录。 请提供以下信息来请求一个反向DNS记录。 Elastic IP Address: Reverse DNS Record for EIP: 请注意,在我们创建反向DNS记录之前,必须存在一个从您的域名映射到您的弹性IP地址对应的正向DNS记录。
问题13、GPU机器/etc/rc.local文件中自定义shell无法执行
如题,GPU机器/etc/rc.local文件中自定义shell无法执行。/etc/rc.local软连接指向/etc/rc.d/rc.local。 我的理解分析如下: 问题描述: GPU机器/etc/rc.local文件中自定义shell无法执行 分析过程: /etc/rc.local是以开头的那一行的SHELL执行,例如#!/bin/sh,此文件对于全局有效。 请问您是如何自定义SHELL?遇到什么报错信息? 很高兴您的问题得到解决,能否共享一下解决方案?
问题14、Call: EC2实例压力上涨
整个业务集群使用autoscaling,共5台服务器,其它4台都是正常的,只有这1台有异常。 很高兴与您通话。 这里是通话的一个总结。 对于4月6日,您观测到ELB后端server load很高。server load高,导致提供服务出现问题。 但是cloudwatch检测到的cpu利用率最高只在65%左右。 同时,观察到的现象是,在networkin上涨之后,autoscaling扩容,ELB出现分配traffic到后端实例不均的现象。 但这个现象并没有持续,因为流量下降,autoscaling自动缩减了。或者旧实例被手动删除了。 本来给您的建议是,保持压力和后端实例数量,再观测是否流量慢慢会均匀分配到所有实例上。 但您提及,将先尝试提高后端实例类型,再做观测。
问题15、Call: ec2 增加role后不能launch
You are not authorized to perform this operation. Encoded authorization failure message: -4Hl_s_9IHgSaEdmGe8O1SEowBoAGUEGkPPtf6JwF7g6iRsSDoBALMrWAuoTqZcc-rNn7EnX0lq9m1reND94iEeVYcEZmJLWYey_bCzpPUmG0NHzcVNcvk0mheyL6hp8L1fFma_-eqbDnNGfL7v_4zdC3Qg8gcwThiu-A_SYyAnb1DL6JAerMfnWgSSveUl-HJg_aq7zJhb3CTxzxwxCE_M-JIQAN91fvIg6mVuLVg0X15u0O3jvczLLSqxSsOq0REGFFUyZYOohzjEw7ksF38NDDLFsxpjEPZgfJrlywXkwXKzi3UcBS5MqskOZPR40rj_tGetMHsD2zVNA9WpXEAkyNnTikKKd1EllhoqHu0iL-nF0JK8vz36Kx-XUYnJmao6ddqCtU4XB2_ZS IAM role ec2_s3_role 我自己控制台的用户名为ops这边运行amazon ec2 user data script 如下: #/bin/bash su worker -c '/home/worker/python/bin/aws s3 cp s3:'/'/deploy/init.sh /home/worker/scripts/ –region cn-north-1 && /bin/sh /home/worker/scripts/init.sh > /home/worker/scripts/init.log' 尊敬的客户您好, 我测试了同样的role,以及查看了S3 deploy bucket的权限,没有发现问题。 但是在我查看您的IAM user ops-liudonglin的时候,发现上面没有相关的权限来给EC2分配相应的role。 我建立了一个IAM user 来测试,并重现了这个问题。 因此我建议您为这个IAM user 附加以下的policy来增加这个权限 比如: { “Version”: “2015-04-08”, “Statement”: [{ “Effect”: “Allow”, “Action”: [ “iam:PassRole”, “iam:ListInstanceProfiles”, “ec2:*” ], “Resource”: “*” }] } 并且再次测试然后告知我们结果。 如果您还需要其他任何帮助或依然看到问题,请随时让我知道。
问题16、Call: 如何查看 amazon ec2 user data script 的执行结果日志
现在这边在ec2实例启动时,增加了一些自己的脚本。但是启动后都没看到相关的下载文件和日志。 这边的脚本如下: #!/bin/bash -ex { sudo su - worker /home/worker/python/bin/aws s3 cp s3:'/'/deploy/activity-init-deploy.sh /home/worker/scripts/ –region cn-north-1 /bin/bash /home/worker/scripts/activity-init-deploy.sh } | tee -a /tmp/init.log Instance ID i-43df137b 刚才我查看了一下您提到的这个i-43df137b实例的相关配置, 下边是我的发现: 1. 您对于该实例分配的EC2 role是完全正确的,IAM policy中对于您S3资源有只读权限。 2. 您在User data中使用了sudo su - worker语句。 对于User data中的语句,默认都是以Root来运行的。因此不需要再使用sudo来切换。请您把sudo去掉后再实验一下。具体关于User data中的shell脚本,请您参考下边这个文档: http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/user-data.html#user-data-shell-scripts 3. 从您使用的Key pair看来,您是从自己创建的CentOS AMI中启动的这台实例。如果这台实例上已经安装了AWS的Cloud-init服务,您可以从cloud-init日志文件(/var/log /cloud-init.log)中查询到相关的日志输出。 [问题描述]: 您想了解为何设置在User Data中的脚本没有执行,以及如何查看执行后的结果日志。 [解决方案]: 经过和您的沟通,您所使用的CentOS实例中没有安装Cloud-init。AWS EC2执行User data中的脚本是需要使用Cloud-init相关服务程序。为了最快速的测试您这个脚本是否可以工作,您可以考虑启动AWS提供的Amazon Linux实例来进行验证。 我之前的回复中也回答了您提出的相关问题。下边再次摘抄一下: 您在User data中使用了sudo su - worker语句。 对于User data中的语句,默认都是以Root来运行的。因此不需要再使用sudo来切换。请您把sudo去掉后再实验一下。具体关于User data中的shell脚本,请您参考下边这个文档: http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/user-data.html#user-data-shell-scripts 如果这台实例上已经安装了AWS的Cloud-init服务,您可以从cloud-init日志文件(/var/log/cloud-init.log)中查询到相关的日志输出。
问题17、已经创建的角色如何附加到已经到启动的EC2上
分析过程: 请参考IAM的FQA文档:http://aws.amazon.com/cn/iam/faqs/ 问:是否能在运行中的 EC2 实例上更改 IAM 角色? 不可以。目前您无法在运行中的 EC2 实例上更改 IAM 角色。您可以更改与运行中实例的 IAM 角色的权限,更新后的权限几乎能立即生效。 解决方案: 您可以修改已经附加在EC2上的IAM role的内容,以实现您的需求。
问题18、Call: 如何查看 amazon ec2 user data script 的执行结果日志
现在这边在ec2实例启动时,增加了一些自己的脚本。但是启动后都没看到相关的下载文件和日志。 这边的脚本如下: #!/bin/bash -ex { sudo su - worker /home/worker/python/bin/aws s3 cp s3:'/'/deploy/activity-init-deploy.sh /home/worker/scripts/ –region cn-north-1 /bin/bash /home/worker/scripts/activity-init-deploy.sh } | tee -a /tmp/init.log Instance ID i-43df137b 刚才我查看了一下您提到的这个i-43df137b实例的相关配置, 下边是我的发现: 1. 您对于该实例分配的EC2 role是完全正确的,IAM policy中对于您S3资源有只读权限。 2. 您在User data中使用了sudo su - worker语句。 对于User data中的语句,默认都是以Root来运行的。因此不需要再使用sudo来切换。请您把sudo去掉后再实验一下。具体关于User data中的shell脚本,请您参考下边这个文档: http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/user-data.html#user-data-shell-scripts 3. 从您使用的Key pair看来,您是从自己创建的CentOS AMI中启动的这台实例。如果这台实例上已经安装了AWS的Cloud-init服务,您可以从cloud-init日志文件(/var/log /cloud-init.log)中查询到相关的日志输出。 [问题描述]: 您想了解为何设置在User Data中的脚本没有执行,以及如何查看执行后的结果日志。 [解决方案]: 经过和您的沟通,您所使用的CentOS实例中没有安装Cloud-init。AWS EC2执行User data中的脚本是需要使用Cloud-init相关服务程序。为了最快速的测试您这个脚本是否可以工作,您可以考虑启动AWS提供的Amazon Linux实例来进行验证。 我之前的回复中也回答了您提出的相关问题。下边再次摘抄一下: 您在User data中使用了sudo su - worker语句。 对于User data中的语句,默认都是以Root来运行的。因此不需要再使用sudo来切换。请您把sudo去掉后再实验一下。具体关于User data中的shell脚本,请您参考下边这个文档: http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/user-data.html#user-data-shell-scripts 如果这台实例上已经安装了AWS的Cloud-init服务,您可以从cloud-init日志文件(/var/log/cloud-init.log)中查询到相关的日志输出。
问题19、EC2主机名修改
感谢您联系AWS中国技术支持。 根据您在案例中提供的信息,分析如下: 问题描述: 通过修改/etc/sysconfig/network和/etc/hosts文件不能使修改后的主机名生效. 分析过程: 通过测试,我参照文档http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/set-hostname.html上面的步骤进行修改是可以修改成功的. 后续步骤: 请参考文档中的步骤: 在无公用 DNS 名称的情况下更改系统主机名 1. 在您常用的文本编辑器中打开 /etc/sysconfig/network 配置文件,更改 HOSTNAME 条目,以反映所需的系统主机名(如 webserver)。 HOSTNAME=webserver.localdomain 2. 在您常用的文本编辑器中打开 /etc/hosts 文件,更改以 127.0.0.1 开始的条目,以匹配以下示例,替换为您自己的主机名。 127.0.0.1 webserver.localdomain webserver localhost localhost.localdomain 3. 重启实例以接受新主机名。 [ec2-user ~]$ sudo reboot 4. 登录实例,验证主机名是否已更新。您的提示应显示新主机名(显示第一个“.”之前的部分)。并且 hostname 命令应显示完全限定域名。 [ec2-user@webserver ~]$ hostname webserver.localdomain
问题20、实例刚才被重启
问题描述: i-798a9240 在11:01左右出可现了“实例状态检查错误”。 分析过程: 经后台查询,我可以看到在11:06左右,网络连接性测试有失败的迹象。经过检查实例,并未于有任何问题。现在运行也正常。 一般EC2的健康检查包括“系统状态检查”和“实例状态检查”。“系统状态检查”才涉及物理主机上的软硬件问题。但实例i-798a9240出现的是“实 例状态检查错误”。一般情况下,此检查用于验证您实例的操作系统是否在接收流量。可能导致实例状态检查出现故障的问题示例包括:系统状态检查故障;网络或 启动配置错误; 内存耗尽;文件系统损坏等。 目前实例确实是工作正常的。了解到您这台NAT实例对您的业务十分重要。我建议您从实例本身检查看是否有异常。看是否有操作系统配置需要进行修改。因为AWS无法查看“实例内部”的信息。如果您还有什么疑问,可以随时联络我们。
aws售后问题总结-ELB
问题1、ELB转发请求到NGINX后IP记录问题
ELB转发请求到NGINX后,nginx日志记录的IP全部是内网IP,并没有记录到用户的IP,是什么问题? log_format main '$remote_addr $logid $http_host [$time_local] “$request” ' '$status $content_length/$body_bytes_sent “$http_referer” ' '“$http_user_agent” “$http_x_forwarded_for” $request_time $upstream_response_time ' '“$http_cookie” “$sent_http_set_cookie” “$sent_http_location” '; 我这边是这样配置的 您好, 建议您按照如下配置: log_format compression '$remote_addr - $remote_user [$time_local] ' '“$request” $status $bytes_sent ' '“$http_referer” “$http_user_agent” “$http_x_forwarded_for”'; access_log /var/log/nginx/access.log compression; error_log /var/log/nginx/error.log compression; 根据后端工具检查可以看出您配置的是L4负载均衡,建议修改Listener为L7 HTTP负载均衡。 然后再检查一下是否能收到客户端IP地址。 希望可以对您有所帮助!
问题2、关于ELB启用或禁用代理协议支持
elb-set-lb-policies-of-listener test-tcp-elb –lb-port 80 –policy-names EnableProxyProtocol elb-set-lb-policies-of-listener test-tcp-elb –lb-port 443 –policy-names EnableProxyProtocol 应用策略时报错了,如下: elb-set-lb-policies-of-listener: Conflicting data provided: EnableProxyProtocol cannot be enabled AWSRequestId:1b3dc7ae-96e8-11e4-92cc-efd65fe8575b http://docs.aws.amazon.com/zh_cn/ElasticLoadBalancing/latest/DeveloperGuide/UsingTheCommandLineTools.html 尊敬的用户,您好! 感谢您的回复。 我看到您的参考的文档,那个是elb的api的tool,但是没有关于创建elb代理的步骤。 您刚才执行的elb-set-lb-policies-of-listener也不是步骤中的其中一步,应该是做set-load-balancer- policies-for-backend-server这一步。 建议您按照awscli的方式做,相关文档,请参考:http://docs.aws.amazon.com/zh_cn/ElasticLoadBalancing/latest/DeveloperGuide/enable-proxy-protocol.html 关于awscli的安装和设置方法,请参考:http://docs.amazonaws.cn/zh_cn/cli/latest/userguide/installing.html
问题3、ELB代理协议支持
[问题描述] 在ELB上启用Proxy Protocol以后,访问时出现400错误。 您在ELB后端实例上使用的是Nginx。 [问题分析与解决方案] 和您了解到您后端Nginx上尚未设置Listener使用Proxy Protocol。由于在ELB上启用该协议后,会修改tcp包并加入相关的header,因此需要配置Nginx以支持解析相应的tcp包。 您可以参考如下Server → Listener配置样例修改并重启Nginx: server { listen 80 proxy_protocol; root /usr/share/nginx/www; index index.html index.htm; # Make site accessible from http://localhost/ server_name localhost; set_real_ip_from 172.31.0.0/20; real_ip_header proxy_protocol; access_log /var/log/nginx/elb-access.log elb_log; location / { try_files $uri $uri/ /index.html; } } 同时,如果您需要在Nginx上解析客户端源IP,可以参考这篇文档中的配置过程: https://chrislea.com/2014/03/20/using-proxy-protocol-nginx/
问题4、ELB卷做snapshots
根据您在案例中提供的信息, 分析如下: 问题描述: EBS卷做snapshots时,时否会影响磁盘性能? 分析过程: EBS卷在做snapshot时对应用程序的性能会稍有影响.频繁的拍摄快照可提供高水平的数据耐久性,但在拍摄快照的过程中,可能会稍微降低应用程序的 性能。当您的数据快速更改时,这种权衡至关重要。应尽可能规划在非高峰时间拍摄快照,以便最大程度减少工作负载影响。请参考 http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/EBSPerformance.html
问题5、ELB上使用https证书问题
我现在使用https负载时,在客户端报证书信任问题,如何解? 根据您的更新,进一步分析如下: 分析过程: 访问ELB地址,提示证书以下问题,详情请参考附件截图: cn-bj-app-album-elb-836458579.cn-north-1.elb.amazonaws.com.cn uses an invalid security certificate. The certificate is only valid for the following names: *.awsgood.com, awsgood.com (Error code: ssl_error_bad_cert_domain) 由此可以看出,此证书是用于awsgood.com,但是ELB地址是cn-bj-app-album-elb-836458579.cn- north-1.elb.amazonaws.com.cn,所以证书无效。 建议方案: 1. 把某个awsgood.com的域名CNAME指向ELB地址cn-bj-app-album-elb-836458579.cn-north-1.elb.amazonaws.com.cn,这样证书就能用于awsgood.com域名。 2. 重新对ELB地址cn-bj-app-album-elb-836458579.cn-north-1.elb.amazonaws.com.cn证书签名,但是这样会增加证书签名费用。 请参看AWS文档“为您的负载均衡器配置自定义域名”如下: http://docs.aws.amazon.com/zh_cn/ElasticLoadBalancing/latest/DeveloperGuide/using-domain-names-with-elb.html 分析过程: 现在从桌面访问没有问题,但是从手机端访问证书不被信任,证明ELB的CNAME设置是成功的。 您是否可以参考下面的文章查看ssl certificate chain是否有问题? http://stackoverflow.com/questions/13862908/ssl-certificate-is-not-trusted-on-mobile-only 我们这边有一个证书确实是证书链,里面有3个号证书,但是格式不是pem,根据你们的文档转换以后,里面只有一个证书。要如何转换才对? 分析过程: 从下面检测链接可知: https://www.sslshopper.com/ssl-checker.html#hostname=cloud.awsgood.com The certificate is not trusted in all web browsers. You may need to install an Intermediate/chain certificate to link it to a trusted root certificate. 请按照下面的文档安装正确的chain。 http://docs.amazonaws.cn/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html —–BEGIN CERTIFICATE—– Intermediate certificate 2 —–END CERTIFICATE—– —–BEGIN CERTIFICATE—– Intermediate certificate 1 —–END CERTIFICATE—– —–BEGIN CERTIFICATE—– Optional: Root certificate —–END CERTIFICATE—– 把证书分开转后,上传证书时,报错了: Failed to create load balancer Failed to upload SSL certificate: Unable to validate certificate chain. The certificate chain must start with the immediate signing certificate, followed by any intermediaries in order. The index within the chain of the invalid certificate is: -1 感谢您的回复。 请参考: https://ssltools.geotrust.com/checker/views/certCheck.jsp 请参考下面测试结果: https://www.sslshopper.com/ssl-checker.html#hostname=test-cloud.camera360.com https://ssltools.geotrust.com/checker/views/certCheck.jsp 根据我们之前的交流,通过对证书链的调整,现证书信任问题已经得到解决。 对此案例的总结如下: 1. 我们通过https://ssltools.geotrust.com/checker/views/certCheck.jsp 测试网站对cloud.camera360.com网站进行测试,发现了中间证书没有被正确的安装。 2. 我们发现您收到的证书文件中根证书和中间证书的位置跟ELB要求的证书链顺序不一样, 我们参考文档 http://docs.amazonaws.cn/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html 对证书链的位置进行了调整再重新上传到ELB,然后再通过检测网站检查确认证书已正确安装.
问题6、ELB转发超时
我们的GEO服务部署(nginx+tomcat,nginx端口80,tomcat端口7119)在自定义的私有VPC里面,前端通过内网ELB转发到 nginx的80端口,现在发现一个问题,当并发请求量较大时(大于200以上时),ELB转发时间大于1s,导致我们的PHP进程数间隙性的暴涨到 120以上。 2台GEO的地址:10.100.4.208和10.100.4.156,目前的架构是:ELB—>nginx—→tomcat,测试命 令:while true; do time curl -s “http://cn-bj-geo-inner.awsgood.com/geoWeb/geo/?lon=106.8311209&lat=-6.2023328”; sleep 1; done;此测试脚本的数据流走ELB—>nginx—>tomcat,出现间歇性请求时间大于1s或者更大。测试命令:while true; do time curl -s “http://10.100.4.208:7119/geoWeb/geo/?lon=106.8311209&lat=-6.2023328”; sleep 1; done;此测试脚本的数据流是直接请求tomcat的7119端口,未发现大于1s的超时。测试命令:while true; do time curl -x 10.100.4.208:80 -s “http://cn-bj-geo-inner.awsgood.com/geoWeb/geo/?lon=106.8311209&lat=-6.2023328”; sleep 1; done,此测试脚本的数据流是:nginx—>tomcat,未发现在大于1s的超时。 结合以上测试结合来看,是你们的ELB有问题。 [问题描述] 您目前系统的部署架构是: Internet ←→ NAT ←→ ELB (http 80) ←→ Nginx (http 80) ←→ Tomcat (7119) 当并发请求量较大时(大于200以上时),ELB转发时间大于1s,导致我们的PHP进程数间隙性的暴涨到120以上。 请求的源GEO服务器是10.100.4.208和10.100.4.156。 您同时进行了3轮测试: 1)通过ELB访问: while true; do time curl -s “http://cn-bj-geo-inner.awsgood.com/geoWeb/geo/?lon=106.8311209&lat=-6.2023328”; sleep 1; done 通过这种访问,有出现间歇的请求时间大于1s或者更长 2)通过Nginx访问: while true; do time curl -x 10.100.4.208:80 -s “http://cn-bj-geo-inner.awsgood.com/geoWeb/geo/?lon=106.8311209&lat=-6.2023328”; sleep 1; done 未发现大于1s的请求 3)直接访问Tomcat: while true; do time curl -s “http://10.100.4.208:7119/geoWeb/geo/?lon=106.8311209&lat=-6.2023328”; sleep 1; done 未发现大于1s的请求 目前怀疑ELB有问题,导致了通过ELB请求时,有出现请求超时的情况 [问题分析] 我对您的私网ELB:cn-bj-app-inner-geo-elb最近24小时的状态,发现今天16:21及16:31出现了平均请求延时升高的情 况。 同时,今天16:46、16:50、17:13、17:19有出现SurgeQueueLength达到1024的情况,同时,ELB有出现 SpillOver,这两个概念,是由于某种原因,ELB无法及时向后端的Nginx建立连接,这时,客户端的请求会被缓存在SurgeQueue中,这 个Queue的最大长度是1024,超过最大长度后,则新接收的请求就会失败,也就是出现SpillOver(溢出)。 同时,这个ELB在16:39~16:44之间,出现过后端健康实例数下降的情况。这也是我看到在这期间,有大约每分钟8000个请求失败,ELB返回 5XX报错。在出现spillover的时间段,也有120、62、557以及417个ELB返回的5XX报错。 由于发起请求的客户端是在同一VPC内,所以根据VPC目前的路由表配置,请求应该不会经过NAT实例,所以可以排除NAT实例的影响。 所以想和您确认: 1、您进行测试,发现延迟升高的时间点 2、后端实例在16:39~16:44分之间是否曾经出现过异常? 3、由于我发现目前SurgeQueue的长度一直都比较高,在600~1000之间,偶尔达到1024,您是否方便做这样一个测试: 您的ELB所使用的安全组sg-85021ce7 : common-vpc-sg目前的规则,是对10.100.0.0/16全部开放,但由于安全组是有状态的,因此当入栈规则不是0.0.0.0/0时,都 会去track每一条经过防火墙的连接。但可以在一定时间内track的连接总数是有上限的。从上面的现象来看,如果在16:39~16:44之间没有出 现过后端服务的中断,那很有可能是这个原因造成的。 所以如果您能暂时把入栈规则修改为开放给0.0.0.0/0,我们观察SurgeQueue是否会下降,就能够判断是否是这个问题导致的了。 由于您的ELB是在私有子网内的,所以开放给0.0.0.0/0也不会有公网的访问能够到达这个ELB。如果您仍然担心安全问题,可以使用VPC的 Network ACL来进行入栈规则的限制,由于ACL是无状态的,所以不会遇到使用安全组可能遇到的问题。 当您修改安全组规则以后,也可以通过ELB的CloudWatch Metric:Surge Queue Length来观察是否产生了效果,您可以查询1分钟的Max统计值。如果当请求数保持不变的情况下,开放安全组后,队列长度大幅下降,那么说明就是这个 问题。 如果有任何进展、发现以及疑问,欢迎随时和我们联系。 虽然目前我的Shift就要结束了,不过我会把您的案例交接给后面的工程师继续跟进。 您好, 我看到您新修改的安全组规则是: TCP 80 0.0.0.0/0 TCP 443 0.0.0.0/0 这样会部分改善问题,能否先修改为TCP所有端口开放给0.0.0.0/0呢?这样可以避免高位端口出现限制。 如果这样能够解决问题,那说明是我之前提到的那个限制导致的,您可以把ELB的安全组开放给0.0.0.0/0,这样就可以避免这个限制了。 谢谢! 我看到从昨晚19:07以后,SurgeQueue的大小下降到很低了,判断问题就是安全组的限制导致的。 我看到目前您的ELB安全组已经开放给All Traffic,所以已经不会触发这个限制了。 如我之前和您提到的,如果您对安全上有额外的限制,可以通过VPC中的Network ACL来进行控制,ACL可以理解成是无状态防火墙,所以入栈和出站都需要显式指定通过或者拒绝的规则。 关于Network ACL的详细介绍和配置说明,您可以参考:http://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_ACLs.html 如果您有任何后续问题,欢迎随时和我们联系。 —-
问题7、ELB转发问题
cn-bj-app-elb-841503029.cn-north-1.elb.amazonaws.com.cn 后端EC2: i-987a93a0 i-d38e96ea i-738d954a i-247f961c i-9d7a93a5 iadv.awsgood.com cname到cn-bj-app-elb-841503029.cn-north-1.elb.amazonaws.com.cn上的 cn-bj-app-video-elb-1002797181.cn-north-1.elb.amazonaws.com.cn 后端EC2: i-1e866e26 现在出现一个情况是在cn-bj-app-video-elb-1002797181.cn-north-1.elb.amazonaws.com.cn 后端的EC2服务器上出现少量的iadv.awsgood.com请求,很奇怪 理论上,i-1e866e26不应该出现iadv.awsgood.com,请求应该全部落在cn-bj-app-elb- 841503029.cn-north-1.elb.amazonaws.com.cn后端的EC2上 您好, 我们搭了环境测试了一下,没有办法重现您遇到的问题, nginx配置log里面$http_x_forwarded_for,$http_host如下 log_format main '$http_x_forwarded_for == $http_host == $host [$time_local] “$request” ' proxy_set如下 server { listen 80; server_name localhost; root /usr/share/nginx/html; proxy_set_header X-Forward-For $http_x_forwarded_for; proxy_set_header Host $host; 然后测试如下 $ curl -vvv “http://54.223.165.102/a.htm“访问ELB 106.50.16.41 == 54.223.165.102 == 54.223.165.102 [03/Feb/2015:05:46:20 +0000] “GET /a.htm HTTP/1.1” $ curl -vvv “http://neibu-2146856847.cn-north-1.elb.amazonaws.com.cn/a.htm” 106.50.16.41 == neibu-2146856847.cn-north-1.elb.amazonaws.com.cn == neibu-2146856847.cn-north-1.elb.amazonaws.com.cn [03/Feb/2015:05:47:06 +0000] “GET /a.htm HTTP/1.1” 请问您那边如果用ELB的ip地址去curl日志里面是怎么记录的呢? 另外,您的nginx.conf里面,关于$http_host有什么配置(proxy_set_header相关的)? —-
aws售后问题总结-S3
问题1、S3的API下载文件异常
您好,我使用和您相同的版本测试也是没有问题的: PS Z:\> pip show boto — Name: boto Version: 2.34.0 Location: c:\python27\lib\site-packages Requires: PS Z:\> python -V Python 2.7.5 如果是这样,能否麻烦您在能够复现这个问题的Server/PC上,开启boto的debug,并把出错后的debug输出信息提供给我们进行分析呢?
=================%<以下是打开debug的代码段================= 
import os from boto.s3.connection 
import S3Connection from boto.s3.key 
import Key from boto 
import s3 
os.environ['S3_USE_SIGV4'] = 'True' 
conn = S3Connection(aws_access_key_id='', aws_secret_access_key='', is_secure=True, debug=2, host='s3.cn-north-1.amazonaws.com.cn') 
buk = conn.get_bucket('jks.test') k = Key(buk) k.key = '750K.txt' k.get_contents_to_filename('z:\cc1.zip') 
=================%<以上是打开debug的代码段=================

问题2、S3上传tar.gz文件问题
使用python的API上传tar.gz文件后,下载到本地后变了.tar文件,但是手动上传tar.gz文件又没有问题。这是什么原因。 我按照您的代码,写了如下的python测试脚本。 import boto import boto.s3 from boto.s3.connection import S3Connection, HostRequiredError from boto.s3.connection import S3ResponseError, Bucket conn = S3Connection( aws_access_key_id = 'AKIzzzFSQ', aws_secret_access_key = 'CzzzzjIbDWV', host='s3.cn-north-1.amazonaws.com.cn' ) buk = conn.get_bucket('thcao') k = buk.new_key('mykey') k.key='some-domain-name' + '.tar.gz' k.set_contents_from_filename('tsetfile.tar.gz') 结果上传的文件在S3上叫some-domain-name.tar.gz 然后用浏览器下载进行测试,发现在Chrome中下载的文件叫some-domain-name.tar 在FireFox下的文件叫some-domain-name.tar.gz 经过比较这2个文件是一样的,因此扩展名的问题应该是浏览器差异所至,建议更换浏览器以后测试一下是否解决您的问题。 —-
问题3、如何将自己的域名指向S3
问题描述: 如何将自己的域名指向S3? 分析过程: 请参考如下文档中将自己的域名CNAME到S3 bucket的方法: http://docs.aws.amazon.com/zh_cn/AmazonS3/latest/dev/VirtualHosting.html 解决方案: 1 保证您的AWS账号已经备案。 2 将S3 bucket下面您需要放开访问的对象权限设置为可公开访问。 3 添加CNAME 1) 例如您的域名为“example.awsgood.com” 2) 您需要在S3中创建一个bucket,bucket名字与您的域名相同,为example.awsgood.com 3) 在域名解析系统里添加以下CNAME记录: example.awsgood.com CNAME example.awsgood.com.s3.cn-north-1.amazonaws.com.cn 完成以上步骤后,对example.awsgood.com的访问即可到达S3对应的bucket中。
问题4、S3上传后下载速度很慢
把照片上传到S3的bucket只需要几十毫秒,但是下载下来(EC2上,内网)确需要几百毫秒,使用的是PHP SDK。 上传使用的PHP sdk里的api,下载使用curl下载域名,如 https://aws0k-activity.s3.cn-north-1.amazonaws.com.cn/pregnantWomen/2015031615_55068cced916b 感谢您联系AWS中国技术支持。 根据您在案例中提供的信息, 分析如下: 问题描述: 使用PHP SDK从EC2上传照片到S3的bucket只需要几十毫秒,但是下载下来需要几百毫秒。 分析过程: 对S3对象的操作遵循S3的REST API接口,文档如下: http://docs.aws.amazon.com/zh_cn/AmazonS3/latest/API/RESTObjectOps.html 对于上传和下载可能涉及到多个不同的方法,上传:PUT Object, PUT Object - Copy, Multipart Upload等,下载通常是GET Object。不同的方法可能会得到不同的性能。 能否将您调用PHP SDK上传和下载的API接口告诉我们?还有您上传和下载操作的是同一个文件或者多个文件吗? 如果可能,是否可以将代码片段帖给我们,我们可以在环境中验证一下。 非常感谢您的补充回复。 根据您的更新,进一步分析如下: 分析过程: 根据您的信息,我在测试环境机器A(t1.micro, Apache + PHP,EIP为54.223.xxx.yy)上写了upload.php,作用是上传一个本地文件到s3:'/'/myaws/test.jpg,文件 大小48198 Byte。 从下面的测试结果来看,S3的下载并没有明显地比上传慢一个量级。并且如果上传请求从另一客户端发起,下载速比上传快。 1. 在机器A上本地执行上传操作结果如下: $ time curl http://54.223.xxx.yy/upload.php real 0m0.136s user 0m0.004s sys 0m0.008s 2. 在机器A上执行下载操作结果如下: $ time curl https://myaws.s3.cn-north-1.amazonaws.com.cn/test.jpg -o test.jpg % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 48198 100 48198 0 0 248k 0 –:–:– –:–:– –:–:– 250k real 0m0.205s user 0m0.048s sys 0m0.112s 3. 在同VPC的另一台机器B(t2.micro)上执行上传操作如下: $ time curl http://54.223.xxx.yy/upload.php real 0m0.141s user 0m0.001s sys 0m0.005s 4. 在同VPC的另一台机器B(t2.micro)上执行下载操作如下: $ time curl https://myaws.s3.cn-north-1.amazonaws.com.cn/test.jpg -o test.jpg % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 48198 100 48198 0 0 720k 0 –:–:– –:–:– –:–:– 724k real 0m0.071s user 0m0.005s sys 0m0.003s 后续步骤: 您可以参考我的测试结果,并考虑不同机型和环境的影响。如果我的测试方法和您的方法有比较大的不同,请您再详细说明一下您的场景,我们可以基于您的场景继续讨论这个问题,谢谢。
问题5、S3存储相当的文件是否同步立即覆盖
利用S3的SDK上传文件到buck里,每次上传文件的key相同,文件名也相同,是否会立即同步覆盖。 [问题描述]: 利用S3的SDK上传文件到bucket里,每次上传文件的key相同,文件名也相同,是否会立即同步覆盖。 [说明]: 1. 在默认的bucket设置的情况下(没有启用Versioning),您向这个bucket内上传文件,如果和这些文件同key名的文件在bucket内已经存在,那么他们就会被最后上传的这些新的文件覆盖。 [问题描述]: 是上传后立即同步覆盖吗?没有延迟吧? [分析说明]: 1.对于单一Key的操作是原子的,也就是说只要上传文件的请求成功完成,新的数据就已经保存在S3上了。因为S3本身为了提高数据的高可用,是在多个服 务器上保存数据的复本的,这多个复本之间同步是需要花费时间的,所以在上传文件过程中,或是上传文件完成之后立即访问这个文件具体得到哪个文件(旧文件, 还是新文件)是与S3的数据一致性模型有关的。 2. 根据S3数据一致性模型中的说明,如果您是使用“覆盖 PUTS 和 DELETES “,S3是采用”最终一致性”的方式来响应后续的读请求的。关于“最终一致性”的详细说明,请参见下面的链接: http://docs.amazonaws.cn/zh_cn/AmazonS3/latest/dev/Introduction.html#ConsistencyMode
问题6、Call: S3上下载链接
S3上下载链接如何修改成http,默认下载地址是https 非常高兴刚才与您在电话上进行沟通,并解答了您相关的疑问。根据您在案例中提供的信息,分析总结如下: [问题描述]:您想了解是否可以下载S3中存储文件时使用http协议 [解决方案]: 您只要确保您对于这个要被下载的文件是有相对应的权限时,下载时是可以使用http协议的。 —-
问题7、Call: S3角色创建
在IAM里面我创建了s3只读角色,在启动ec2时,也指定了相应的只读角色,但是在ec2里面还是无法下载相应的资源。

问题描述: 在启动ec2时,无法通过S3角色赋予的权限从S3下载文件。 
分析过程: 
1. 您的ec2_s3_role设置没有问题。 
2. 当使用wget, curl等工具时,实际上是利用HTTP/HTTPS协议公开访问,而不会利用任何AWS的access key或者角色。 
3. 当使用awscli, AWS SDK时,请求发到S3服务的endpoint(s3.cn-north-1.amazonaws.com.cn),发送请求时会利用角色生产的临时access key去和S3服务的endpoint做验证。这个过程中使用了角色。 解决方案: 为了保证S3文件的私密性,建议您仍然保持ec2_s3_role,在EC2启动脚本中使用awscli s3 cp [s3:'/'/path] [localpath]来从S3进行下载。 如有任何问题,欢迎与我们联系,谢谢!
使用aws s3 cp s3:'/'/deploy/init.sh /home/worker/scripts/ –source-region cn-north-1下载文件是产生以下错误: A client error (400) occurred when calling the HeadObject operation: Bad Request Completed 1 part(s) with … file(s) remaining 根据您的更新,进一步分析如下: 为了进一步troubleshooting问题 1. 请您提供您EC2的instance id 2. 请您在EC2上执行该命令,使用–debug参数,然后将输入文件发给我们,多谢。 aws s3 cp s3:deploy/init.sh /home/worker/scripts/ –source-region cn-north-1 –debug 2> s3debug>&1 谢您的回复。 请将awscli后面接的–source-region改成–region。 正确形式如下: aws s3 cp s3:deploy/init.sh /home/worker/scripts/ –region cn-north-1 根据您的更新,进一步分析如下: 分析过程: 1. –source-region的说明如下,用于从一个S3 bucket往另一个S3 bucket拷贝对象时指定源bucket的region,通常用于Global区域。 –source-region (string) When transferring objects from an s3 bucket to an s3 bucket, this specifies the region of the source bucket. Note the region specified by –region or through configuration of the CLI refers to the region of the destination bucket. If –source-region is not specified the region of the source will be the same as the region of the destination bucket. 2. –region参数指定了从awscli发出的请求去往哪个地区的S3服务endpoint,说明文档如下: http://docs.aws.amazon.com/cli/latest/reference/ The region to use. Overrides config/env settings. 在使用awscli时,可以利用配置文件,环境变量指定region,也可以在命令中直接利用–region指定。具体文档如下: http://docs.aws.amazon.com/zh_cn/cli/latest/userguide/cli-chap-getting-started.html
问题8、S3可以绑定自定义域名吗?
[问题描述]: 假定有一个自定义域名(比如:www.awsgood.com),希望当最终用户访问这个域名的时候,用户被重定向到S3,访问其上面存储的文件 [分析说明]: 1. 如果域名是受控的(您可以管理相应的域名解析,或是第三方的DNS服务提供商可以替您解析),那么您可以在S3上创建一个与域名同名的Bucket,然后将域名和S3的域名做CNAME映射,这样当用户访问域名的时候,就会被重定向到S3访问其中的文件。 关于更详细的内容和具体操作步骤,请参见下面的链接中的说明: http://docs.amazonaws.cn/AmazonS3/latest/dev/VirtualHosting.html 2. 如果这个域名是不受控的,那么需要解决的是这个域名到S3的映射问题。因为当最终用户访问这个域名的时候,返回的IP地址是受域名的DNS提供商控制的,只有当域名解析之后的IP地址指向S3时,才能实现用户从S3读取文件
北京区的S3是否有CDN加速呢?
[解决方案]: AWS 北京区暂不提供CloudFront 服务,但您可以选择中国境内其他第三方CDN 服务商为S3 加速。AWS 推荐网宿科技为首选的内容分发网络 (CDN) 提供商。网宿科技可以让亚马逊 AWS 的客户使用超过 450 个国内节点,分发静态和动态内容给在中国的终端用户。网宿科技CDN 服务是由网宿科技独立提供,您需要一个单独的网宿科技账户。 有关网宿CDN 的定价以及使用您可参考AWS 官方介绍或者网宿官网: http://www.amazonaws.cn/content-delivery/ https://cloudedge.chinanetcenter.com/cn/index.html
问题9、我们通过aws s3 sync 上传报大量错,导致我们很多文件上传失败
问题描述: 通过aws s3 sync 上传报大量错。 分析过程: 查看报错截图,出现部分上传失败。 经过和您的电话沟通,日志文件有很多,如果短时间上传过多文件,例如:每秒 100 个 PUT/LIST/DELETE 请求,或超出每秒 300 个 GET 请求,可能会导致性能问题。 为了确定原因,请提供更多下列信息: 1. aws s3 sync具体命令,加上–debug参数,需要输出信息。 如果输出太多,可以重定向到文件,例如: $ aws s3 ls s3:bucketname –debug > /tmp/s3debug.txt 2>&1 2. bucket名字 这是同步的脚本 #!/bin/bash LOG_LOG_DIR=$0.log exec 1»$LOG_LOG_DIR exec 2»$LOG_LOG_DIR date START_TIME=`date +%s` source $HOME/.bash_profile LOG_DATA_FROM=/data/data1/log/ LOG_DATA_TO=s3:cn-bj-serverlog/onlinelog/ aws s3 sync $LOG_DATA_FROM $LOG_DATA_TO # del old OLDDAY_M=`date +'%Y%m' -d '-3 days'` OLDDAY_D=`date +'%d' -d '-3 days'` cd $LOG_DATA_FROM && rm -rvf $OLDDAY_M/$OLDDAY_D END_TIME=`date +%s` ELIPSE=$1) date echo “$ELIPSE seconds used” echo 您好! 感谢您的回复。 根据您的更新,进一步分析如下: 分析过程: 在后台查看S3 bucket cn-bj-serverlog,写操作在5次/秒以内,读操作3次/秒以内,不存在性能瓶颈。 上传失败,需要debug信息来判断故障。 建议方案: 请直接运行以下命令,并把/tmp/s3debug.txt提供给我们,如果文件大于5M,可以把此文件上传至一个专门的目录,并把此目录公共权限开放。 aws s3 sync /data/data1/log s3:cn-bj-serverlog/onlinelog/ –debug > /tmp/s3debug.txt 2>&1 我看到一直报这种的,是不是有限制 PUT /cn-bj-serverlog/onlinelog/201505/22/nginx/store.awsgood.com/nginx.access.2015052213.app-web1.1.4 partNumber=2&uploadId=4GuNl.12wjcCqwQhMtYRJV7tbAavrtFcuSObOQScwHXoraGCq86.36XFsCjUSRSrJDtod9lmYUnhw1og316minKpIsdU0OyWJCGOTxiVHP9YU9YLjokkgWcoSRJXK3v7 expect:100-continue host:s3.cn-north-1.amazonaws.com.cn user-agent:aws-cli/1.7.26 Python/2.7.6 Linux/2.6.32-431.20.3.el6.x86_64 x-amz-content-sha256:6dc72338083880877ddded51fcae8d303f6035d9e1475e04a18f9545c2fb2e32 x-amz-date:20150522T063359Z expect;host;user-agent;x-amz-content-sha256;x-amz-date 6dc72338083880877ddded51fcae8d303f6035d9e1475e04a18f9545c2fb2e32 2015-05-22 14:33:59,298 - Thread-12 - botocore.auth - DEBUG - StringToSign: AWS4-HMAC-SHA256 20150522T063359Z 20150522/cn-north-1/s3/aws4_request c47932402c14bef65fffb4b825bcd44073c145d8f8ab8edf4ccc3014df949797 2015-05-22 14:33:59,299 - Thread-12 - botocore.auth - DEBUG - Signature: ac3cf3526889d04bd2ad62558790a0edc07a7eda1340cf03b68990544808056f 2015-05-22 14:33:59,299 - Thread-12 - botocore.endpoint - DEBUG - Sending http request: <PreparedRequest [PUT]> 2015-05-22 14:33:59,300 - Thread-12 - botocore.awsrequest - DEBUG - Waiting for 100 Continue response. 2015-05-22 14:33:59,349 - Thread-12 - botocore.awsrequest - DEBUG - 100 Continue response seen, now sending request body. 根据您的更新,进一步分析如下: 分析过程: s3 debug日志中有如下错误信息: 2015-05-22 14:20:08,582 - Thread-13 - awscli.errorhandler - DEBUG - HTTP Response Code: 400 2015-05-22 14:20:08,582 - Thread-13 - awscli.customizations.s3.tasks - DEBUG - A client error (BadRequest) occurred when calling the PutObject operation: An error occurred when parsing the HTTP request. 此错误说明,服务器返回400错误,client HTTP请求没有被正确解析。 aws cli会生成签名,并且发送正确的请求到S3,出错原因可能有以下: 1)keyname含有非法字符。 查看上传的文件“s3:cn-bj-serverlog/onlinelog/201505/22/baby/baby.notice.2015052214.cn-user1.1.0”,没有非法字符。排除此因素。 2)sync会比较本地和s3的文件大小、修改时间、是否存在,来判断哪些文件需要同步,不确定是否文件过多或者目录过于复杂,会对sync有影响。 建议方案: 1.请升级aws cli至最新版本进行尝试,可以通过以下命令查看版本: $ aws –version 现在AWS CLI的最新版本为1.7.29 如何下载安装cli,请参考: http://docs.aws.amazon.com/cli/latest/userguide/installing.html 2.如果升级CLI之后问题仍然存在,请尝试把同步到新的没有任何内容的s3 bucket。这样是为了排除s3已经存在的文件对同步的影响。 3.如果同步到新的bucket仍然报错,在不涉及到敏感信息的情况下,可否把需要同步的日志文件打包发给我们,我们这边可以重现此问题,后端开发团队可以在代码层面进一步分析。 如果有敏感信息,可以把日志目录复制一份,然后遍历此目录,把文件内容替换为空,再打包发给我们。
 $END_TIME - $START_TIME
aws售后问题总结-其它
问题1、EBS卷做快照是否可以中途停止
关于是否可以中途停止snapshot的问题, 请参见下面的更新: 1. 我选择了一下200G的磁盘创建snapshot, 然后在进行到4%的时候删除它,发现从CloudWatch的监控指标IOPS来看,并没有复现您的问题,IOPS并没有升高到很大的级别。 2. 从后端团队确认的信息是,由创建snapshot产生的IO消耗并不会显示在CloudWatch的监控指标中,所以您的磁盘出现IOPS达到3000的问题,可能与应用负载有关,具体原因还需要进一步的确认。 3. 目前暂时没有办法中途停止正在执行中的snapshot,这个功能需求也已经有其他用户提出,AWS还在准备相应的工作,暂时没有确切的发布时间
问题2、EBS卷快照
问题描述: EC2上挂载的EBS卷做快照时,每次都是全量快照吗? 分析过程: 如果您定期为卷拍摄快照,则快照为增量快照,因此新快照中仅保存设备上在保存上次快照之后更改的数据块。 详情请参考如下链接: http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html
问题3、aws的机器你们有没有类似阿里云盾这种的防火墙?
[问题描述] AWS有没有类似阿里云盾的服务以及防火墙? [分析过程] 阿里云盾是一种安全服务,其中不仅仅只有防火墙,也包括其他安全监测功能。下面的分析和回答主要基于将阿里云盾作为一类安全安全服务,来介绍AWS的相应安全策略。 1. 从EC2机器以及VPC防火墙方面看,可以配置的安全策略包括如下方面: - EC2密钥对 - 安全组 - IAM - 网络ACL 具体的链接请参考如下文档: http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/EC2_Network_and_Security.html 2. 从整体安全服务的方面看: AWS没有提供给客户自动配置的安全服务,但提供了AWS云优化专家(Trusted Advisor)服务(如附件图示)和最佳实践(下文中详细介绍),以便用户能充分利用云的弹性优势来构建能应对攻击的系统。 注意:AWS EC2服务严格遵循共享责任模型,Hypervisor以下层面的安全由AWS负责,而Hypervisor以上层面的安全由客户负责。AWS绝不会触及Hypervisor以上层的配置和数据(实例层面的任何内容)。 最佳实践: 我们强烈建议您对于AWS上设计的架构建立一个安全和性能方面的基准,通过这个基准您可以获得在正常使用情况下系统的各个参数。基于这些参数,您可以设置 CloudWatch报警和SNS通知。通过这种方式,您可以在发生攻击的时候及时得到通知。 AWS云是弹性的,当需要的时候,新资源可以用按需的方式部署。使用Elastic Load Balancing和Auto Scaling这样的服务,你可以把web服务器资源配置成在受到攻击的时候(根据负载)自动扩展,当攻击结束的时候自动收缩。即使它们受到大范围攻 击,web服务器可以通过扩展来体现云的弹性,保证客户访问的最佳体验。 下边是一些常见的应对攻击的方式: 1) 充分利用ELB和auto scaling的弹性 在部署时将ELB和auto scaling方案的一部分,受到DDOS攻击时系统的自动扩展可以吸收非常多的攻击流量。 2) 安全组,网络ACL和操作系统内置防火墙: 你可以管理允许访问目的地址服务器和相关服务,同时也可限制源地址。 3) Web应用防火墙(WAF) 防止平台和应用相关的攻击,非授权用户的访问。 4) 基于主机或者内联的IDS/IPS 系统 使用数据/行为或者根据签名的算法来检测网络攻击。 5) 流量整形和限制 可以利用iptables默认的功能来实现。 注释:关于3和4,目前在global的market place里提供的相关产品,如果在中国区有需求,请您将具体的厂商和产品告知我们,我们可以联系后台部门将您的需求告知他们。 我们也强烈建议您阅读‘AWS Security Best Practices’白皮书的50和51页来了解更多关于如何‘防范和保护DoS & DDoS攻击‘。您可以从下边这个链接下载到这个白皮书: http://media.amazonwebservices.com/AWS_Security_Best_Practices.pdf
aws售后问题总结-网络
问题1、EC2内网互通
对于您提到的想让所有VPC内的机器通过私网地址通讯的问题,如电话中所描述的,您需要在对应的Security Group的Inbound规则中加入一条允许来自您的VPC子网的所有通讯,这样VPC之间的机器就可以通过私网通讯了。 注意:如果您的8台EC2实例应用的是不同的Security Group,需要全部加入这条规则。
问题2、VPC网关切换和VPC中分配外网IP
问题一,VPC中一个子网从外网网关切换成NAT实例网关是否导致内网的网络断掉。 问题二,VPC中一个子网,这个子网中的实例分配有外网IP,这些外网IP是否可以取消? 您好! 感谢您联系AWS中国技术支持。 根据刚才在电话中的沟通,现将问题总结如下: 问题描述: 问题一,VPC中一个子网从外网网关切换成NAT实例网关是否导致内网的网络断掉。 问题二,VPC中一个子网,这个子网中的实例分配有外网IP,这些外网IP是否可以取消? 解决方案: 问题一,VPC中的一个子网的网关从IGW切换成NAT实例后,内网的网络链接是不会中断的,但对于您的具体环境,建议您实际测试一下,以防有任何我们现 在没有考虑到的情况发生 问题二,对于VPC子网中的实例,如果在启动时分配了公网ip,启动后是不能直接将这个公网ip取消的,但只要您将实例所在的子网设置为内网,外面的网络 就无法再通过这个公网ip访问到您的实例了。
问题3、刚才实例i-deb8a0e7,突然网络不通,内网与外网都不通,请问是什么原因? 实例 ID: i-deb8a0e7
您好! 很高兴与您在电话上进行交流,下面我们把交流的内容进行总结如下。 问题描述: 1.用户在下午2点10分左右遇到i-deb8a0e7上面的跑的数据库服务器,突然不通的问题,大概20分钟以后恢复了,想调查一下原因。 2.用户询问Public IP在Start/Stop后是否会变化,已经如何绑定EIP 后续步骤: 1.经过查询,i-deb8a0e7所在的硬件在14:15分到14:23分直接出现硬件故障,导致无法连接,目前已经恢复, 为了客户系统的生产系统稳定性考虑,我们强烈建议客户用stop/start实例的方式,更换一台硬件, 由于客户目前跑着数据库的生产业务,暂时不能关机,我们建议用户密切监控实例的状态,尽早在维护窗口进行stop/start的操作。 2.Public IP在执行实例的Start/stop之后会发生变化,如果用户需要一个固定的对外IP地址,建议客户使用EIP。 EIP绑定方法: 控制台-EC2-弹性IP-分配新地址-右键-关联地址-选择实例-确定关联. 更多关于EIP的信息请参考。 《Elastic IP Addresses (EIP)》 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html
问题4、关于北京AWS到日本东京和新加坡的AWS的网络质量
从北京AWS到日本东京和新加坡的AWS所走的广域网网络线路是什么样子?以及网络质量如何? [问题描述]: 从北京AWS到日本东京和新加坡的AWS所走的广域网网络线路是什么样子?以及网络质量如何? [问题回答]: 东京和新加坡region都属于global region, 北京region是独立于global的,北京AWS到其他区域走的都是互联网,网络质量依赖于互联网的网络质量。通常情况下,北京到东京和新加坡的网络 质量要好于北京到其他区域,具体情况需要您自己测试一下。 如果需要一个更好的网络质量,您可以自己搭一条IPSec VPN。关于搭建VPN的具体操作您可参考以下文档: http://aws.amazon.com/articles/5472675506466066
问题5、Call: 2台GPU机器网络不通
我们有2台GPU机器现在网络不通,有如下报错:Starting udev: piix4_smbus 0000:00:01.3: SMBus base address uninitialized - upgrade BIOS or use force_addr=0xaddr �%Gnvidiafb: unable to setup MTRR SRAT: PXMs only cover 3583MB of your 15359MB e820 RAM. Not used. SRAT: SRAT not used. ?�%G Welcome to CentOS Starting udev: piix4_smbus 0000:00:01.3: SMBus base address uninitialized - upgrade BIOS or use force_addr=0xaddr �%Gnvidiafb: unable to setup MTRR 2台机器IP地址是:10.100.8.128 10.100.8.127 客户您好! 以下是我对此类问题的调查: 首先我检查了潜在硬件和存储桶,没有发现任何问题。 我还查了您有关netorking的相关配置,也没有找到任何问题。 从实例的系统日志中, 清楚的表明实例无法启动是在这一步:Starting udev卡住了, 因此实例启动失败和您之前做的更改有关。 我尝试在我方面重建问题,但是由于缺少更多的细节,我没有重建成功。 为了更好的解决问题, 请您提供: 1. 实例失败前您所做的更改。 2. 最开始的AMI 的ID。 您当前的实例是创建在ami-6e039157上,这个是您自己的AMI。 当您创建最原始的实例时,使用的哪个实例? 3. 因为当前实例不可连接,如果想获得完整的boot log, 您可以选择detach root volume, 然后把它作为secondary接到另一个instance 实例上,您就可以直接登录到实例内部,查询更多。 像在我们在电话中讨论的,若您急需恢复两个实例的功能, 我建议您从最新的AMI 创建新的实例。 关于更多GPU 实例细节: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html 因为我没有权限, 也不被允许登录您的实例, 请提供更多的细节。 若您有其他问题,请联系我们。
问题6、如题:i-9df1eaa4(54.223.111.212) 这台EC2网络很慢,而且无法ping通。 我在公司走的电信线路,这台EC2也没有禁ping。
【问题描述】 i-9df1eaa4(54.223.111.212) 这台EC2网络很慢,而且无法ping通。您公司走的电信线路,这台EC2也没有禁ping。 【分析过程】 我从后台做了如下相关检查: 1. 该实例目前运行正常,状态检查正常,已连续运行39天 2. 最近没有重启,console日志上也没有出现相关故障报告。 3. 检查了安全组和ACL: 安全组:ping只对10.100.x.x内外和2个公网IP开放 ALL 10.100.0.0/16 ALL  ACL完全放开,没有任何限制。 相关设置没有问题。 【后续步骤】 由于我无法从外网进行相关测试,所以能否烦请提供:您在做ping,trace的具体日志。 在此之前的连通性如何?如果一直不能连通,请检查/proc/sys/net/ipv4/icmp_echo_ignore_all的设置。 如果您发起ping的机器是在外网,请确认您机器的IP地址是117.176.128.18或182.148.112.32 /proc/sys/net/ipv4/icmp_echo_ignore_all的值是0
问题7、EC2机器连接公司的邮件服务器出现间隙性的timeout
从北京区的EC2上连接这台服务器25端口,频繁出现 Connection timed out。现在导致我们的邮件无法发送到公司。 根据测试,我们从其它机房测试没有出现这种情况。 所以只有你们AWS的机房有限制。 您好! 感谢您联系AWS中国技术支持。 根据您在案例中提供的信息,分析如下: 问题描述: 从北京区的EC2上连接这台服务器25端口,频繁出现  Connection timed out。 分析过程: 为保证通过EC2的IP地址发送出的邮件质量,AWS在默认的情况下会限制您能通过EC2实例发送出的邮件数量。 所以会导致连接外部邮件服务器超时的情况。 解决方案: 请您通过以下链接提交请求,解除邮件发送限制。 https://portal.aws.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request 需要提供EC2 EIP和反向域名解析记录。 Email Address:ops@awsgood.com AWS Account Number:42192135353 Use Case Description:从北京区的EC2上连接182.148.33.244这台服务器25端口,频繁出现  Connection timed out。现在导致我们的邮件无法发送到公司。 根据测试,我们从其它机房测试没有出现这种情况。所以只有你们AWS的机房有限制。 目前装有postfix邮件服务的EC2(实例ID:i-ea1dfdd2)是我们自已的VPC里,通过NAT(IP是54.223.141.219)上 网。 Elastic IP Address 1:54.223.168.209 您好 我已经取消了您EC2服务器上面25端口的限制,您现在应该可以正常的使用EC2发送邮件了,如果还有问题,请随时和我们联系。
问题8、Call: 私有VPC与默认VPC之间EC2如何连通。
我有2台EC2位于我们私有VPC(vpc-fa170598)的网段,这2台EC2是通过NAT上网,NAT的机器外网IP是 54.223.161.219;现在与我的另一台GPU机器,它位于你们默认VPC(vpc-fa170598)通信;我在GPU机器所在安全组把NAT 的机器的外网IP加进去,还是无法通信,可以ping通,但是端口telnet不通。 VPN ID: 解决方案: 通过之前与您电话上的沟通,您已经发现问题所在并更改了配置,现在已经可以正常工作。 另外,如果是同Region的两个VPC之间互相访问,建议您可以参考VPC对等连接,可以实现不同VPC之间的EC2内部通信,不用经过公网。 通过 VPC 对等连接可以使用私有 IP 地址在对等 VPC 之间路由流量;就像它们属于同一网络一样。 详情请参考如下连接: http://docs.amazonaws.cn/AmazonVPC/latest/PeeringGuide/Welcome.html
问题9、DNS解析问题
在instance i-15e5182d 和 i-02e5183a 访问 file.api.weixin.qq.com 非常慢,ping 值在400毫秒; 查看了下,dns解析到了ip 203.205.143.142。 而我自己在加访问很快,dns解析到ip 101.226.68.61。 在两个instance上ping 101.226.68.61 只有20多毫秒,把ip加到hosts临时解决。 麻烦看下。 根据您在案例中提供的信息,分析如下: 问题描述: 从实例i-15e5182d 和 i-02e5183a 访问 file.api.weixin.qq.com,得到的IP为203.205.143.142。而根据latency最优的结果应为101.226.68.61 解决方案: 这个问题可能是由于腾讯的服务器将AWS DNS服务器IP误认为是国外IP。由于我们并不能影响其他域名解析服务商的运作,对于造成的不便,深表歉意。 目前您手动添加host IP是可行的方案之一。或者您可以手动更改etc/resolv.conf文件,增加nameserver为国内的任意DNS服务商。 (114.114.114.114或者180.76.76.76)。如果您不需要进行VPC内的DNS解析,您也可以新建一个DHCP option set,将domain name server改成国内的DNS。 更多关于DHCP option set的信息,您可以查看以下链接: http://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html 您好, 经过我们与腾讯的沟通,目前腾讯已经更新了中国区AWS EC2的地理位置信息。 如下是我们在EC2上测试的结果,域名解析返回了腾讯在国内的IP地址。 $ dig file.api.weixin.qq.com +short 140.206.160.199 $ ping file.api.weixin.qq.com PING file.api.weixin.qq.com (101.226.68.61) 56(84) bytes of data. 64 bytes from 101.226.68.61: icmp_seq=1 ttl=52 time=29.2 ms 64 bytes from 101.226.68.61: icmp_seq=2 ttl=52 time=30.9 ms 64 bytes from 101.226.68.61: icmp_seq=3 ttl=52 time=28.4 ms 64 bytes from 101.226.68.61: icmp_seq=4 ttl=52 time=28.2 ms ^C — file.api.weixin.qq.com ping statistics — 4 packets transmitted, 4 received, 0% packet loss, time 3088ms rtt min/avg/max/mdev = 28.240/29.218/30.941/1.084 ms 如有任何问题,欢迎与我们联系,谢谢!
问题10、接口请求时间
如以下接口: 1.47.42.201 0dae551b839204513a06 iadv.awsgood.com [01/Apr/2015:13:35:14 +0800] “GET /v1/advertisement/list?appversion=6.0.5&platform=android&channel=GoogleMarket&imei=911393900986305&version=2619&locale=th_TH&sig=70972c8cffa1dbeac367ad692cc14f8a HTTP/1.1” 200 -/29032 “-” “Dalvik/1.6.0 (Linux; U; Android 4.4.2; iris700 Build/iris700)” 0.015 0.014 “-” “-” “-” 其中0.015是nginx记录整个请求时间,0.014是后端php响应时间。 使用谷歌浏览器的postman测试,整个请求时间是:207ms 以上请求,整个数据大小:54KB。 整个响应时间为什么会有这么大差异。 该业务架构:ELB—→NGINX—→PHP ELB使用http代理。NGINX与PHP部署在同一台服务器。 问题描述: 接口请求的响应时间为什么比nginx的处理时间大很多? 分析过程: 从客户端到服务器端的整体流程Client—→ELB—→NGINX—→PHP。 注意到Nginx access log中的客户端IP地址1.47.42.201位置在泰国。根据您的测试,207ms是整个请求来回的时间,大部分的时间都花费在了互联网的传输上。 如果我的理解有不正确的地方,请指出,多谢。 nginx记录的0.015也是来回请求时间。这个时间是nginx的$request_time变量记录,它也是记录整个请求的来回时间。我们现在猜想 nginx是记录客户端的请求,你们aws的ELB拦截了我们的请求,再转发一次到nginx,nginx肯定会把ELB作为客户端对待。所以记录的时间 不一样。 我们在阿里云测试的结果是:nginx记录与postman记录时间一样。 感谢您的回复。 根据您的更新, 进一步分析如下: 1) ELB对客户端的流量做转发,通过ELB和后端Nginx实例的连接将客户端的流量转发到EC2上。 根据nginx网站http://nginx.org/cn/docs/http/ngx_http_log_module.html提供的有限信息,$request_time的统计应该是将ELB做为客户端而并非将原始的客户端作为$request_time的统计起始时间。 2) 为了验证这个猜测的正确性,我们建议您开启ELB的acess log,启用方法如下: http://docs.aws.amazon.com/zh_cn/ElasticLoadBalancing/latest/DeveloperGuide/enable-access-logs.html ELB Access log的格式如下: http://docs.aws.amazon.com/zh_cn/ElasticLoadBalancing/latest/DeveloperGuide/access-log-collection.html 综合其中的request_processing_time,backend_processing_time, response_processing_time三个字段来分析ELB处理相关的时间。
问题11、实例i-de17f5e6出现5分钟网络不通。
如题,实例i-de17f5e6出现5分钟网络不通,不知道是什么原因。 问题描述: 实例i-de17f5e6出现5分钟网络不通 分析过程: 查看后台工具得知,您的实例i-de17f5e6在2015/04/07一直有进出的网络流量。 后续步骤 或 解决方案: 我们需要您确认一下: 1. 该实例i-de17f5e6发生网络不通的具体时间点; 2. 您说的网络不通的具体场景是什么?比如是您在该实例上安装的某个网络服务工作不正常, 还是从别的实例ping不通该实例? 我查看了AWS服务的状态,都是正常的。相关的链接如下: http://status.amazonaws.cn/ ping不通的具体原因,我们需要更多的细节才方便定位。所以如果您能 提供ping的输出,以及traceroute和tcp traceroute的输出结果会更好。 1. 在实例i-de17f5e6上作基于ICMP的 traceroute sudo traceroute target_ip 在实例i-de17f5e6上作基于TCP的 traceroute sudo traceroute -T target_ip (这里target_ip可以是外网或内网IP) 2. 在内网对实例i-de17f5e6作基于ICMP的 traceroute sudo traceroute private_ip_for_i-de17f5e6 这台EC2实例的类型是:t2.medium,这种类型的实例的网络是:Low to Moderate,会不会是由这个引起的。 附件中有一张截图,是我们的监控的网络流量图,出现断断续续,说明网络质量不好。 【问题描述】 从您的截图看,使用zabbix监控到实例:i-de17f5e6在2015-04-07 15:25 ~ 16:25期间出现过几次网络中断情况。分别持续几分钟。 【分析过程】 我们正在根据您提供的信息进行分析。 我和之前的同事都从后台检查了一下当时的NetworkOut情况,没有发现网络中断情况,请参考: https://console.amazonaws.cn/cloudwatch/home?region=cn-north-1#metrics:graph=!NS0!MN1!ST2!ET3!SS4!PD5!D06!E07!VAAWS/EC2~NetworkOut~2015-04-07T07%3A25%3A59Z~2015-04-07T08%3A25%3A59Z~Average~60~InstanceId~i-de17f5e6 根据之前的沟通,您提到是ping不通。如果您能提供详细的ping的场景将会有助于我们诊断故障原因, 包括: 1. 从哪里(或者哪个IP)发起的? 2. 如果无法提供ping的截图,是否能够描述一下更详细一些的情况? 3. 您发现故障的同时,是否有测试过其它EC2实例,是否正常? 4. 您在其它实例上是否出现过类似的情况?如果有,能否提供相关信息,以便于我们对比分析。 如果方便电话沟通,能否提供一下沟通的电话和合适的时间。 根据您的更新,进一步分析如下: 我从后台看了一下您的网络架构, 大致情况如下: | 私有子网 | 公有子网 | Internet 问题实例(i-de17f5e6) – NAT(i-798a9240) – iGW – Internet 出现问题时,您从NATping不通出问题的实例。 我做了如下检查: 1. 检查了上述2个实例在上述时间段的NetworkIn/NetworkOut,间隔1分钟,持续有流量,说明网络是通的。 2. 检查了上述2个实例在上述时间段的CPU使用率,没有发现异常。 3. 检查了上述2个实例在上述时间段的DiskRead/DiskWrite,没有发现异常。 由于您是使用Zabbix监控网络连通性,是否能够提供一些更详细的信息便我们帮助您进行分析? 1. 是否您是在i-798a9240部署了Zabbix的Agent来检测到i-de17f5e6的连通性? 2. 如果是这样,那具体检测的脚本以及agent的日志能否方便您提供一下? 我们也在同时检查实例i-de17f5e6在对应时间的状态,以及与i-798a9240之间的网络连通性,如果有任何发现,我们会立即通过案例联系您。 问题实例(i-de17f5e6)上面部署的zabbix_agentd与zabbix_server之间是走内网,不会经过NAT实例。t2.medium类型实例的网络是:Low to Moderate,这种类型的网络在网络质量有保证,它的带宽是多少? 如您所了解的,实例类型t2.medium的网络是:Low to Moderate,它的网络带宽相对于其他更高类型实例而言要低一些,我们无法提供具体的带宽数值,建议您自行测试一下。但是所有实例类型的网络质量都是 一样的,有保障的,这一点是没有区别的。 从后台检查当时的网络流量情况看,最高峰时的NetworkIn+NetworkOut大概不超过4M/s,很低,所以可以排除带宽的限制问题。 我们的后台工程师正在帮助检查当时的网络情况,目前还没有收到回复,不知道您那边通过Zabbix的相关日志是否有什么发现?是否方便一起排查诊断。 昨天我们在网络类型是:Low to Moderate的EC2上用git pull更新代码它的速度相当慢,而在网络类型是:High的EC2上用git pull更新代码的速度相当快。从对比来看地,感觉Low to Moderate的网络质量没有High的网络质量好。这个autoscaling集群是作图用的,依赖比较好的网络质量,会不会网络层面的IO引起系统 压力比较大。还就是这些EC2走NAT出去,NAT的EC2使用你们aws提供的AMI启动,它的m3.large类型,这种类型的EC2实例的流量最大 可以承受到多少? 尊敬的用户,您好! 感谢您的回复。 不同类型的实例,在网络方面,除了带宽会不同以外,网络质量都是一样的。 根据您提供的信息,您这2台做git pull的实例都是通过NAT出去的,如果我的理解有误,请指正。 我查看了一下NAT(i-798a9240)在过去24小时的流量情况,峰值在200M左右,比之前的4.7 22:00左右的250M要低。如果您是在过去24小时做的pull,并且都是走的这个NAT,那就不是带宽造成的。 【建议方案】 根据您应用的具体场景,使用几种常见类型的实例做一下测试,看看单台实例能够承担多大负载,然后可以决定使用哪种实例合适。 不知道您的作图系统是否会同时打开多个连接,如果对并发连接要求很高,那么一些系统设置和安全组的设置有可能会带来对并发数的影响。 另外,如果方便电话沟通,能否提供一下沟通的电话和合适的时间。
问题12、实例ID i-b644af8e 昨在晚上北京时间 5.20-5.45有断网
[分析过程]: 非常抱歉您实例i-b644af8e 在5:20-5:45 出现了断网情况,此次断网是由于EC2 底层硬件故障造成的,我们工程师紧急抢修并在半小时将其修复。
aws售后问题总结-财务
问题1、申请增值税专用发票
客户您好, 为了您能够顺利收到您所需类型的发票,请尽快按以下AWS论坛链接中的步骤更新您的税务设置( https://console.amazonaws.cn/billing/home?#/tax )信息,并通过点击“转到客服”的链接向客服团队提交相关信息及材料。 https://forums.aws.csdn.net/thread.jspa?threadID=51&tstart=0 注意:您只有登陆后才能查看到以上论坛链接中的内容。 在填写“税务设置”信息时请您注意,出现在该页面的公司名称及地址是将打印在您的发票上的,请确保该信息与您税务登记证及营业执照上的信息完全一致。如若不一致,请您点击页面左侧导航栏中的“账户设置”进行更新。
问题2、关于发票索取
您好 关于如何开具增值税普通发票,请参阅如下链接: https://forums.aws.csdn.net/thread.jspa?threadID=281&tstart=0 关于如何开具增值税专用发票,请参阅如下链接: https://forums.aws.csdn.net/thread.jspa?threadID=51&tstart=0 如希望获得发票请按照操作步骤进行设置并上传相关信息,感谢您对AWS的支持。
问题3、发票索取
客户: 您好!关于发票的问题,看到您已经开过两次case联系我们,但是很抱歉因为资料不全,我们没法开发票,还请您补充完整我给出的如下信息,补充完整我审核之后尽快提交给财务部门,非常感谢! 1)请您上传“营业执照扫描件” 2) 看到系统中您填写的公司名称为“成都品果科技 ”如果与营业执照的不一致,还请修改为与营业执照上公司名称完全一致(此信息体现在发票上,还请修改一下) 3)发票是快递给您,还请提供详细的发票邮寄地址, 我们会单独记录。 地址: 邮编: 收件人姓名: 电话(推荐手机号码):
问题4、费用清单类型
您好! 关于账单,VAT to be collected,是使用所有的服务费用收取的一个6%的税 China Net Center Services 和Sinnet Services 的费用,这个不是单收的费用,是你总的费用里面包含的。因为我们目前是三方合作,China Net Center和Sinnet是我们的合作伙伴,我们会从总账单中各抽取5%分给另外的两家,到时候的发票也是有三家公司给您开具。也就是说您的费用只是你 使用产生的费用,只不过我们显示的时候将账单拆分了。
问题5、Limit Increase: EC2 预留实例销售上限
使用案例描述: 当前我购买预留到41个时,就无法再购买了,申请到200个名额。 有这个错误:Error : Your current quota does not allow you to purchase the required number of reserved instances (Service: AmazonEC2; Status Code: 400; Error Code: ReservedInstancesLimitExceeded; Request ID: 1628e6ee-9ada-488d-b6c1-24608db3bb61) 很高兴的通知您,我们已经得到批准并处理了您在AWS中国(北京)区域的EC2预留实例购买限制提升限额的申请。 您的新限额为200。请耐心等待15分钟,即可顺利启用这些资源。 希望以上信息对您有所帮助。
问题6、2月份账单咨询
账单页面的“Total Service Charges”是当前已经使用的费用还是预计当月可能使用的费用? 另外附件里“New Purchases and Adjustments View Invoices” 里的费用是指什么?
感谢您联系AWS中国。从您发给我们的图片上,我看到这个问题是您在Billing界面上找到。total service charge费用是您这个月使用的费用加上下个月预付的support费用。 New Purchases and Adjustments View Invoices的费用就是目前您使用的support的费用。请您点开invoce这个PDF文档,里面有详细的款额记录。如果您还有任何疑问,请您随时联系我们。
—-
问题7、g2.2xlarge价格差异
问题描述: g2.2xlarge实例存在不同的收费标准 解决方案: 收费问题统一由客户服务部门处理。技术支持部门并不了解收费方面的细节。我已经将您这个问题转到客户服务的案例列表中。客户服务部门的工作时间是早上九点 到晚上6点。目前客户服务部门的同事已经下班,他们会在明天处理您的问题。给您带来的不便我们很抱歉。 对于账单问题,您以后在开案例的时候可以选择“账户和账单支持”类别,这样问题会直接转到客户服务部门。 经过查询,贵司g2.2xlarge 启用以下两种Ami 类型,所以导致价格差异。 ami-3400920d Description CentOS-6.5-x64-100G-GPU-APP ami-8268fabb Description CentOS-6.5-x64-100G-APP
问题8、EC2实收费问题
我之前在运行的EC2实例,现在我把它stop后,还会收费吗? [问题描述]: 之前在运行的EC2实例,现在我把它stop后,还会收费吗? [解决方案]: 如果是按需实例,stop之后是不会收取EC2的费用的,但是EBS还在使用,还会收取EBS的费用。 如果是预留实例,依照您购买的类型不同,收费模式也不同。例如无前期费用(No Upfront)的预留实例,即使停止(stop)或终止(terminate),依旧按小时收取预留实例的费用。 —-
问题9、g2.2xlarge预留实例购买
通过AWS CLI如何购买g2.2xlarge类型的预留实例。 [问题描述]: 如何通过AWS CLI 购买g2.2xlarge 类型的预留实例?购买实例需要offering-id,如何找到offering-id? [解决方案]: 1. 查看offering-id: 您可以通过命令 aws ec2 describe-reserved-instances-offerings –instance-type “g2.2xlarge” 来查看所有g2.2xlarge 类型预留实例的所有描述,您可根据您的需求来选择对应的offering-id。 该命令更详细参数您可参考AWS 官网文档: http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-offerings.html 2. 购买预留实例: 您可以通过命令 aws ec2 purchase-reserved-instances-offering –reserved-instances-offering-id xxxxxxxxx –instance-count 1 来购买预留实例。 更详细的命令说明您可参考AWS 官方文档: http://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-reserved-instances-offering.html
问题10、付款账号和原账号账单金额不一致
问题:源账号 4456455859 三月份账单 ¥63,234.11 付款账号 645650405568 三月份账单 ¥78,852.65 两个账号三月份金额不一致 客户:您好! 我查到您两个账户是在3.19日关联的,源账号 4554355859 三月份账单 ¥63,234.11是这个账户关联之前也就是3.19日之前产生的账单 付款账号 4354568 三月份账单 ¥78,852.65是两个账户关联之后产生的账单,也就是说,这两笔账单都需要支付的。如果有任何疑问,您可以再及时联系,谢谢!
问题11、请开具2015年1月份的发票
刚才和我们的相关团队以及和您客户经理核实,所以您目前的发票需要走exception的流程, 等此流程结束后,我们AR同事会先发邮件给您,告知可以开票,并而且是所有的账单合并开票。 如果您有特殊需求,比如要按月来开发票,我们会整理您的开票金额,告知开票的同事进行开票。
问题12、账单费用疑问
账单里Data Transfer,见附件1,里面包括了哪些业务的流量(包含ELB/EC2以及S3出Internet的流量?) 附件2里有两个部分Sinnet 和 China Net Center 两个Service的费用,金额也相等,这两个是什么费用,流量费用么,包含哪些流量呢(包含ELB/EC2以及S3出Internet的流量?) 尊敬的客户您好 Sinnet 和 China Net Center是AWS的两个合作伙伴。 我们向您收取的总费用中AWS占据90%, CNC和Sinet各占5%。 此外对于数据传输费用Data transfer, EBS,S3,EC2等资源之间的交互都会累计到data transfer这一项当中,显示为总值而不能区分不同服务的数据传输费。
申请增值税专用发票
您好 我没有看到您对此案例的进一步反馈。我将暂时关闭此案例。 如果您有任何后续问题,请您重新开启案例,我们很乐意继续为您提供帮助。 感谢您对AWS中国的关注和支持。 此致 (Best Regards), Su L. 我会在中国法定工作日9:00至18:00尽快给您回复! Amazon Web Services 团队 敬上
phpmyadmin管理aws上mysql
通过对phpmyadmin的配置,进行远程数据库的管理,主要包括,AWS EC2上面的本地数据库,以及AWS上RDS实例上的MySQL,本质上,其实是一样的,都是对远程数据库的管理。

1. MySQL忘记root账户的解决办法

  1. 打开mysql的配置文件,`/etc/mysql/my.cnf`,在[mysqld]字段下加入一行`skip-grant-tables`
  2. 重启mysql服务,`sudo service mysql restart`
  3. `mysql`空密码进入命令行管理
  4. `use mysql`选择数据库
  5. `update user set password=PASSWORD("new_pass") where user='root';`更改root账户的密码
  6. `quit`退出
  7. 在配置文件中将`skip-grant-tables`注释掉
  8. 重启mysql服务,即更改了root密码

2. 配置phpmyadmin连接远程EC2上面的本地数据库

对于phpmyadmin/libraries/config.default.php,做如下修改:
  1. $cfg['PmaAbsoluteUri'] = 'ec2_public_ip/phpmyadmin'
  2. $cfg['Servers'][$i]['host'] = 'ec2_public_ip'
  3. $cfg['Servers'][$i]['user'] = 'root';
  4. $cfg['Servers'][$i]['password'] = 'your passwd';

3. 配置phpmyadmin连接AWS RDS实例上面的MySQL

phpmyadmin的配置默认只管理本地的mysql,因此登录界面也没有server的选择功能,可以通过配置phpmyadmin/config.inc.php,配置phpmyadmin可以管理多个Server上的数据库在配置文件中添加如下代码。 需要注意的是,加几个这样的代码块,就可以同时管理多少个Server上的Mysql数据库。
  1. $i++;
  2. /* Authentication type */
  3. $cfg['Servers'][$i]['auth_type'] = 'cookie';
  4. /* Server parameters */
  5. /* RDS对应的Endpoint*/
  6. $cfg['Servers'][$i]['host'] = 'xxxx.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com';
  7. $cfg['Servers'][$i]['connect_type'] = 'tcp';
  8. $cfg['Servers'][$i]['compress'] = false;
  9. $cfg['Servers'][$i]['AllowNoPassword'] = false;
 
将lnmp环境从本地迁移到AWS错误以及解决方法
下午将本地的Nginx反向代理到Tornado,以及调用FastCGI接口的整个环境迁移到AWS上面,出现了一些问题,下面将问题以及解决方法做一个备忘。

1.pcre make WARNING

  1. Error: 安装 pcre WARNING导致报错 aclocal-1.14 is missing on your system
  2. Solution: 通过touch *解决

2.pcre make错误

  1. Error: make: *** No rule to make target `build', needed by `default'. Stop.
  2. Solution: 需要安装openssl以及libssl-dev

3.启动Nginx的错误

  1. Error: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
  2. Solution: 通过lsof -i :80查看80端口被占用的情况,可以发现aws上面虚拟机默认安装了apache
  3. 并占用了80端口通过 sudo apt-get remove apache*完全卸载

4.AWS 公网IP问题

  1. Error: 启动nginx后,将nginx配置文件中的server_name改成instanceipifconfig获取),
  2. 在本地浏览器打开该ip,无法打开页面
  3. Solution: 实际上ifconfig看到的不是公网ip,通过AWS的控制台中的`Running Instance`查看
  4. Public IP可以查看到公网IP,在浏览器输入,即可打开nginx的欢迎页面。很奇怪,ping不通

5.AWS root权限问题

  1. Error: 安装supervisord,将conf文件生成到/etc下时,一直没有权限,sudo也不行
  2. Solution: 实际上,为了安全性考虑,ec2root账户默认是关闭的,可以通过如下方式开启。
  3. `sudo passwd root`设置root账户密码;
  4. `sudo passwd --unlock root`启用root账户登录然后即可以通过`su root`进行切换

6.spawn-fcgi cmake 报错

  1. Error: spawn-fcgi从本地scpaws之后,cmake的时候,报错
  2. Solution: CMakeCache的问题,没去理会,直接scp了一个干净的工程上去,解决

7.spawn-fcgi 绑定端口 报错

  1. Error: spawn-fcgi: child exited with: 127
  2. Solution: 缺少libfcgi.so.0引起,但却没有提示缺少,运行时报错。
  3. 通过ln -s /usr/local/lib/libfcgi.so.0 /usr/lib/建立软链接即可