Github/Gitlab已经成为众多开发者非常熟悉的代码协作平台,通过他们参与开源项目或实施企业内部项目协作。 AWS也提供了托管的、基于Git、安全且高可用的代码服务CodeCommit。CodeCommit主要针对企业用户场景,所以他并没有社交功能以及代码仓库fork功能,是否CodeCommit就无法实现Github基于Pull Request的协同工作模式呢? 答案是,CodeCommit完全可以实现基于Pull Request的代码协作。由于Git的分布式代码管理特性,首先fork上游项目仓库,将修改后的代码提交到fork仓库,通过Pull Request申请修改请求合并。Github将这套协作流程推广开来并被开源项目广 …
Read MoreAWS在3月12日正式发布了新一代的API网关 -- HTTP APIs。AWS发布的第一代API Gateway服务已经快5年了,通过这些年来大规模服务客户的心得以及客户反馈,由此重新构建了更快(相比第一代网关60%的延迟减少)、更便宜(至少节省71%的费用)、更易用的第二代网关服务。 除了性能、费用、易用性的大幅度改进之外,在HTTP APIs发布博客中着重介绍了以下新特性, HTTP APIs网关可同私有VPC内的负载均衡(ALB/NLB),服务发现(Cloup Map)集成。意味着可将目前最流行且普遍应用的容器服务作为API后端 可以将自定义域名的API路径混合映射到第一代的REST APIs和最新的HTTP APIs 请求 …
Read More在re:Invent 2019之前,AWS Toolkit发布了Cloud Debugging beta功能。该功能支持在IntelliJ IDEs(IntelliJ, PyCharm, Webstorm, 以及 Rider)中远程调试 ECS Fargate 容器中执行的应用程序。 对ECS Fargate demo启用了远程调试并调试成功后,这里记录一下该功能的使用体验并且分享体验过程中掉进去过的一些坑。 试用体验 首先,该功能不适用于生产环境。因为对ECS Fargate类型的Service启用Cloud Debugging功能会将原始的ECS Services收缩为0个task副本,同时创建一个新的Service并启用新 …
Read MoreAWS Batch是一个全托管的批处理调度服务,它可为用户管理所有基础设施,从而避免了预置、管理、监控和扩展批处理计算作业所带来的复杂性。当然AWS Batch已与 AWS 平台原生集成,让用户能够利用 AWS 的扩展、联网和访问管理功能。让用户轻松运行能够安全地从 AWS 数据存储(如 Amazon S3 和 Amazon DynamoDB)中检索数据并向其中写入数据的作业。AWS Batch可根据所提交的批处理作业的数量和资源要求预置计算资源并优化作业分配。能够将计算资源动态扩展至运行批处理作业所需的任何数量,从而不必受固定容量集群的限制。AWS Batch还可以利用 Spot 实例,从而进一步降低运行批处理作业产生的费用。 …
Read More近期实践了将阿里云EDAS微服务应用迁移到AWS上,在这里分享一下迁移方案。 该方案涉及了以下三个方面, 微服务应用集群。在AWS上采用的ECS集群部署微服务应用,通过Cloudmap实现服务注册发现,App Mesh实现服务间流量控制。更加详尽的微服务迁移要点和对应方案,详见下面的deck。 Devops pipeline。使用托管的CodePipeline,CodeBuild实现CI/CD。 Infra as Code。利用AWS强大的Infra as Code能力,将云上的基础设施和微服务应用编排通过CDK代码实现。 下面是迁移方案的deck。完整且可部署的PoC代码,点这里。
Read More托管的RDS数据库已经是云计算服务中非常成熟的服务,绝大部分的云计算用户会采用RDS服务来提升数据库服务的可用性同时减少数据库的各类运维事务。 AWS RDS服务支持开启和查询各类的数据库日志,包括常规日志、慢日志、错误日志和审计日志。但RDS服务默认提供的日志查看工具仅仅类似文本查看器,无法针对日志数据做统计和查看历史滚动的存档。 本文将介绍如何使用AWS上云原生的服务搭建无服务架构的实时日志分析报表系统。该系统的实现思路来自于AWS中国的一篇博客,该文介绍了使用 CloudWatch Logs,Kinesis Firehose,Athena 和 Quicksight 实现实时分析 Amazon Aurora 数据库审计日志。 这 …
Read More业务上云之后,经常也有需求将多云、数据中心或办公室的私有网络同云端的私有网络建立连接。AWS Site-to-Site VPN正是AWS提供的托管VPN服务,我们可以在另一端的私有网络通过Openswan同AWS VPC网络建立基于IPSec协议的安全连接。 下面是配置的详细步骤, 如果是创建数据中心或办公室的连接,数据中心或办公室需要有公网IP。如果是在其他公有云上,需要创建带公网IP的EC2,或使用EIP。 如果使用AWS EC2配置Openswan,需要禁用 EC2 的 Source/Destination Check。 在AWS上创建Virtual Private Gateway 和 Customer Gateway(指定对 …
Read MoreInfrastructure as Code(架构即代码)一直是衡量公有云是否支持良好运维能力的重要指标。作为云计算领先的AWS,通过服务CloudFormation来编排云环境中的基础设施资源。不过由于CloudFormation是使用YAML/JSON编写的声明式语言,不善于处理逻辑,编写繁琐且不利于调试排错,对于新上手的Devops工程师来说也有不小的学习曲线。三方开源的工具Terraform同样没有很好解决CloudFormation存在的这些问题。 AWS CDK的出现解决了目前CloudFormation存在的绝大部分问题,极大的提升基础设施编排代码的开发和维护效率。 AWS CDK是一种开源软件开发框架,开发者可以用自 …
Read More业务时常有需求将某个域名(A)的访问重定向到其他域名(B),即使实现这样一个很简单的需求通常也需要部署Web服务器(例如Nginx),为域名A的请求返回302响应,并提供新的Location地址重定向到域名B。现在基于云计算服务,我们可以使用一些托管服务来实现同样的事情,无需管理服务器和维护应用,同时做到最低成本实现该需求。 接下来将介绍如何利用AWS上的服务实现该需求。 使用AWS S3和AWS CloudFront实现域名重定向 创建一个新的S3 bucket,例如 redirect.domain.com 配置新bucket属性,开启静态网站托管, …
Read More近期需要做一些Alexa上的开发,在手机上安装了Amazon Alexa,一直得到下面这样的错误提示而无法登录。 Connection Timed Out. 先后尝试了翻墙、更改语言等方法仍然不可登录。并且在网络上也没有找到可用的方案,决定抓包研究下为什么我的账号始终无法登录。 通过抓取Alexa登录时发送的数据包,发现他访问了amazon.cn等数个cn域名下的一系列服务,看来这些服务中部分已无法提供正常服务,导致登录一直出现上面的错误。 Amazon Alexa作为一个服务全球用户的app,应该是判断手机用户在大陆地区后使用了配置在大陆地区的这些服务。 临时解决方案的思路就是设置系统或app,让他无法获取到手机真实所在的地理位 …
Read More