Articles of amazon web services

使用Cloudflare为AWS S3上的静态站点恢复原始访客IP

我在S3上有一个静态网站,而cloudflare作为我的DNS提供商。 服务器日志收集在S3存储桶中。 但是,日志文件中的访问者IP地址指向了cloudflare服务器,而不是真正的访问者IP。 我知道如何使用EC2上的LAMP / LEMP堆栈,使用real_ip_header恢复原始访客IP。 文章 我怎样才能做到这一点(即恢复原来的访客IP)与S3 + cloudflare。 有没有一个桶政策,让我映射自定义标题(如CF连接IP)访客IP或我可以定制日志格式,以包括这个头?

nginx Web服务器使用元数据请求泛滥NFS

我有一个使用nginx服务器(EC2)和NFS驱动器来存储CMS文件(EFS)的简单AWS云。 亚马逊有着名的信用,我在一个非常低的stream量云上没有信用。 经过调查发现,EC2正在淹没EFS的元数据请求。 我只是不知道如何以及为什么? 所有文件共有8GB的NFS,他们都是PHP文件。 静态文件被卸载到S3。 EC2和EFS之间的stream量大约是每秒1MB,但是元数据stream量是每秒5MB! 这就是每分钟100-300MB的元数据stream量! 在检查nfsstat并转储stream量后,发现有90%的stream量是GETATTR请求和响应。 但观察EC2,处理器几乎睡着了,所以处理5MB每秒听起来超现实。 不提1MB传输的5MB元数据。 我想做更多的search,但我的知识和谷歌已​​经结束,所以不知道从这里。 试图利用lsof和nsfstats,无法find世界上需要这么多的元数据。 任何帮助将非常感激。 编辑:如果你正在寻找一个解决scheme,因为这个或类似的原因用尽AWS EFS学分 – EFS学分是基于你正在采取的空间。 该解决scheme(来自AWS支持团队)将创build虚拟文件以增加您的贷项余额。 在我的情况下,通过命令添加50GB的“空”占用空间的技巧: dd if=/dev/zero of=/path/to/efs/dummyfile bs=1G count=10 以上将在EFS上创build10GB的“空”文件,这将增加您的信用

AWS CLI – S3,为什么我需要指定一个区域?

所以我的桶Alpha是在一个地区叫REGION1 。 我的桶Beta在不同的地区,我们称之为REGION2 。 我进入我的EC2实例,并使用此命令: aws s3 cp s3://Alpha/meh.txt ./meh.txt 有用! 到现在为止还挺好。 它完美的作品。 但是,当我做这个命令: aws s3 cp s3://Beta/qwe.txt ./qwe.txt 我收到以下错误信息: fatal error: An error occurred (400) when calling the HeadObject operation: Bad Request 上面的错误只能在我指定区域标志时才被修复。 这是为什么? 因为我认为无论区域如何,桶名都是唯一的,为什么我需要指定一个区域? 有没有办法阻止这种情况发生,而不指定区域? 也许是一个特殊的政策或什么? 谢谢。

微服务之间的内部stream量的最佳实践devise是什么?

我有两个PHP写的微服务A&B.端点是a.example.com和b.example.com。 这两种服务都需要公共访问。 另外,服务B在处理的时候对a.example.com做了很多curl请求。 这两种服务都在同一个AWS VPC上运行(在同一个专用networking中)。 我也有一个外部CDN(例如,Akamai)为每个端点。 devise1: Public and Service B make requests to A | V a.example.com | V CDN | V Public Load Balancer | V Web Servers for service A 更高的成本,因为AWS的带宽成本更高 服务A的更多保护,因为它在CDN后面 随着stream量到达云端并返回,服务B响应时间变慢 devise2: Public makes requests to A Service B makes requests to A | | VV a.example.com a-internal.example.com | | […]

在stream或转储中转换DynamoDB数据types的大小写

使用数据pipe道从DynamoDB转储数据时,看起来像这样,使用小写数据types: {"id":{"n":"2918466"},"time":{"n":"1404783111.4180515"},"user":{"s":"46a1dfa6b6b07c72e57fa8c6be657d76cf31b80b"}} 但是当我使用DynamoDBstream进行stream式处理时,看起来像这样,使用大写数据types: {"id":{"N":"2918466"},"time":{"N":"1404783111.4180515"},"user":{"S":"46a1dfa6b6b07c72e57fa8c6be657d76cf31b80b"}} 这很令人讨厌,stream的输出和转储是不一样的。 我需要在同一个HQL查询中从两个源读取数据,所以我试图使情况相同。 有什么地方可以改变这个吗? 还是我需要parsingJSON并通过logging更改案例logging?

没有负载平衡器的AWS SSL证书?

我有一个标准的Elastic Beanstalk应用程序,通过HTTP设置并运行良好。 在AWS文档之后,我请求了一个SSL证书,并configuration了CloudFront。 我将一个入口规则添加到AWSEBSecurityGroup安全组中,而不是一个负载均衡器,它将打开端口443到单个实例环境的所有stream量。 详细在这里 。 使用这个片段; Resources: sslSecurityGroupIngress: Type: AWS::EC2::SecurityGroupIngress Properties: GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]} IpProtocol: tcp ToPort: 443 FromPort: 443 CidrIp: 0.0.0.0/0 并将其上传到服务器上的.ebextensions / https-instance-securitygroup.config。 但是,SSL证书仍然无法正常工作。 我不确定为什么,我错过了什么? 谢谢。

2个AWS区域之间的VPN连接

我们有一个设置,其中AWS和Azure使用AWS端的RRAS实例进行VPN连接。 此外,内部部署和AWS通过AWS VPn网关和内部部署Sonicwall FW与站点到站点隧道连接。 到目前为止,这是一个单一的区域networking。 但是我们现在也需要在另一个地区设置一些服务器。 所以我有以下问题。 一个Windows Server 2012实例是否可以创build2个RRAS连接? 如果以上是可能的,是否可以在region1中使用相同的Win 2012 RRAS服务器来创build另一个RRAS连接,并将其与region2中的AWS VPN网关“配对”? 使用当前设置实现区域间连接和路由select的最佳select是什么?

AWS,S3 + VPC端点

不知道我在这里错过了什么。 我有一个S3桶。 我有一个EC2实例。 我创build了VPC端点,并将其与VPC中的所有子网相关联,其默认策略是: { "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" } ] } 我的理解是,我现在应该能够从我的EC2实例访问我的S3存储桶。 当我尝试从S3实例中获取任何东西时,它似乎会挂起很长时间,然后给出: read-s3object : A WebException with status ConnectFailure was thrown. At line:1 char:1 + read-s3object -bucketname go-hubble-team-city-bucket -key 1.exe -file t.exe + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (Amazon.PowerShe…dS3ObjectCmdlet:ReadS3ObjectCmdlet) [Read-S3Object] , InvalidOperationException + FullyQualifiedErrorId : Amazon.Runtime…,Amazon.PowerShell.Cmdlets.S3.ReadS3ObjectCmdlet […]

重复使用AWS自动缩放的EBS卷

我正在尝试为我的EC2实例设置自动修复。 因此,无论何时我的实例closures或无法访问,都应该自动重新启动,或者在同一个AWS区域中启动一个新的实例,而不是在另一个AZ中。 我考虑设置cloudwatch警报并添加操作以在发生故障的情况下重新启动实例。 如果我希望我的EC2实例在发生故障的情况下重新启动,这很好。 但是它不包括AZ本身不可达的情况。 所以我试图设置最小/最大实例号为1的AWS自动调整组。在失败的情况下,我希望新的实例与EBS卷终止实例启动。 我该如何继续呢? 或者,如果有另一种方法来实现我想要的,那也是值得赞赏的。

如何自动恢复Cassandra备份(快照)?

我有一个单节点Cassandra EC2实例(apache-cassandra-3.10),在这个实例中,我每天拍摄快照(备份)并上传到AWS S3。 我也采取了完整的“架构”和“初始令牌”的备份,并保持在S3以上。我已经成功地为备份任务创build了一个Bash shell脚本,它在一次运行中执行所有上述的事情。 但我无法find任何自动化的方式/脚本来恢复新实例上的整个备份。